nftables fertig
This commit is contained in:
parent
1a199b912b
commit
f2d905f45b
@ -21,7 +21,7 @@
|
||||
xtick={5000,10000,15000,20000,25000,30000},
|
||||
xmin=200, xmax=30000,
|
||||
ymin=0, ymode=log,
|
||||
xlabel={Anzahl der Firewall-Regeln}, ylabel={PPS},
|
||||
xlabel={Anzahl der Firewall-Regeln}, ylabel={Pakete pro Sekunde},
|
||||
tick label style={/pgf/number format/fixed,/pgf/number format/1000 sep = \thinspace},
|
||||
width=15cm, height=10cm,
|
||||
legend entries={iptables,nftables},
|
||||
|
@ -62,7 +62,7 @@ size rate pps load
|
||||
title=Empfänger,
|
||||
xmin=1,
|
||||
xmax=1500,
|
||||
xlabel={Ethernet Frame-Größe},
|
||||
xlabel={Ethernet Frame-Größe [Byte]},
|
||||
xtick={100,300,500,700,900,1100,1300,1500},
|
||||
ymin=0,ymax=1000,
|
||||
axis y line*=left,
|
||||
@ -81,7 +81,7 @@ size rate pps load
|
||||
ymin=0,ymax=500000,
|
||||
ytick pos=right,
|
||||
axis y line* = right,
|
||||
ylabel={PPS},
|
||||
ylabel={Pakete pro Sekunde},
|
||||
ylabel near ticks,
|
||||
ytick={100000,200000,300000,400000},
|
||||
y axis style=red!75!black,
|
||||
@ -97,6 +97,7 @@ size rate pps load
|
||||
axis x line=none,
|
||||
ymin=0,ymax=26,
|
||||
axis y line=none,
|
||||
legend entries={CPU-Last},
|
||||
]
|
||||
\addplot[smooth,green] table[x={size}, y={load}] {\sizerateppsrecv};
|
||||
\end{axis}
|
||||
|
@ -61,7 +61,7 @@ size rate pps
|
||||
title=Sender,
|
||||
xmin=1,
|
||||
xmax=1500,
|
||||
xlabel={Ethernet Frame-Größe},
|
||||
xlabel={Ethernet Frame-Größe [Byte]},
|
||||
xtick={100,300,500,700,900,1100,1300,1500},
|
||||
ymin=0,ymax=1000,
|
||||
axis y line*=left,
|
||||
@ -80,7 +80,7 @@ size rate pps
|
||||
ymin=0,ymax=500000,
|
||||
ytick pos=right,
|
||||
axis y line* = right,
|
||||
ylabel={PPS},
|
||||
ylabel={Pakete pro Sekunde},
|
||||
ylabel near ticks,
|
||||
ytick={100000,200000,300000,400000},
|
||||
y axis style=red!75!black,
|
||||
|
Binary file not shown.
@ -24,7 +24,7 @@
|
||||
\input{theme/theme}
|
||||
|
||||
\title{Linux Cluster in Theorie und Praxis}
|
||||
\subtitle{\texttt{iptables} und \texttt{nftables}}
|
||||
\subtitle{iptables und nftables}
|
||||
\author{Alfred Krohmer}
|
||||
\date{4. März 2014}
|
||||
\institute[ZIH TUD]{Zentrum für Informationsdienste und Hochleistungsrechnen -- TU Dresden}
|
||||
@ -82,7 +82,7 @@ Zielstellungen bei der Entwicklung bei \texttt{nftables}
|
||||
\begin{frame}
|
||||
\frametitle{Funktionsweise iptables vs. nftables}
|
||||
|
||||
iptables:
|
||||
\textbf{iptables:}
|
||||
\begin{itemize}
|
||||
\item nur für IPv4
|
||||
\item andere Tools für andere Protokolle:
|
||||
@ -111,11 +111,11 @@ iptables:
|
||||
\begin{frame}
|
||||
\frametitle{Funktionsweise iptables vs. nftables}
|
||||
|
||||
nftables:
|
||||
\textbf{nftables:}
|
||||
\begin{itemize}
|
||||
\item ein Tool für alle Protokolle \\
|
||||
(IPv4, IPv6, Ethernet-Bridging, ARP)
|
||||
\item inheitliche Schnittstelle zum Kernel
|
||||
\item einheitliche Schnittstelle zum Kernel
|
||||
\item Implementierung als kleine virtuelle Maschine im Kernel
|
||||
\item Regeln werden im Userspace zu Byte-Code kompiliert
|
||||
\item Byte-Code kann auf Feldern und Bits der Pakete Operationen ausführen:
|
||||
@ -125,7 +125,7 @@ nftables:
|
||||
\item beliebige Änderungen am Paketinhalt
|
||||
\end{itemize}
|
||||
\item atomares Ersetzen von Regeln über Netlink-Transaktionen
|
||||
\item funktioniert mit bisher verfügbaren Tools noch nicht effektiv
|
||||
\item funktioniert mit bisher verfügbaren Tools noch nicht effizient
|
||||
\end{itemize}
|
||||
|
||||
\end{frame}
|
||||
@ -145,7 +145,7 @@ nftables:
|
||||
\frametitle{Funktionsweise iptables vs. nftables}
|
||||
\begin{itemize}
|
||||
\item \hspace{0.3cm}
|
||||
\begin{minipage}{.45\linewidth}%
|
||||
\begin{minipage}{0.97\linewidth}%
|
||||
\begin{lstlisting}
|
||||
payload load 4 offset network header + 16 => reg 1
|
||||
compare reg 1 192.168.0.1
|
||||
@ -153,7 +153,7 @@ compare reg 1 192.168.0.1
|
||||
\end{minipage}
|
||||
|
||||
\item \hspace{0.3cm}
|
||||
\begin{minipage}{.45\linewidth}%
|
||||
\begin{minipage}{0.97\linewidth}%
|
||||
\begin{lstlisting}
|
||||
payload load 4 offset network header + 16 => reg 1
|
||||
set lookup reg 1 load result in verdict register
|
||||
@ -169,9 +169,9 @@ set lookup reg 1 load result in verdict register
|
||||
\section{Syntax und Tools}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Funktionsweise iptables vs. nftables}
|
||||
\frametitle{Syntax und Tools}
|
||||
|
||||
iptables:
|
||||
\textbf{iptables:}
|
||||
\begin{itemize}
|
||||
\item iptables -A INPUT -p tcp --dport 22 -j LOG
|
||||
\item iptables -A INPUT -p tcp --dport 22 -j DROP
|
||||
@ -180,9 +180,9 @@ iptables:
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}[fragile]
|
||||
\frametitle{Funktionsweise iptables vs. nftables}
|
||||
\frametitle{Syntax und Tools}
|
||||
|
||||
nftables: nft
|
||||
\textbf{nftables:} nft
|
||||
\begin{itemize}
|
||||
\item nft add table filter
|
||||
\item nft add chain filter input "\{ type filter hook input priority 0; \}" \\ \vspace{0.3cm}
|
||||
@ -190,7 +190,7 @@ nftables: nft
|
||||
tcp dport 22 log drop \\ \vspace{0.3cm}
|
||||
|
||||
\item als Script: \\
|
||||
\begin{minipage}{.45\linewidth}%
|
||||
\begin{minipage}{.75\linewidth}%
|
||||
\begin{lstlisting}
|
||||
#!/usr/bin/nft -f
|
||||
table filter {
|
||||
@ -259,7 +259,7 @@ Testaufbau:
|
||||
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Performance-Vergleich}
|
||||
\frametitle{Ermittlung der optimalen Paketgröße}
|
||||
\begin{center}
|
||||
\includegraphics[width=11cm]{../../../bericht/benchmarks/nft-size-load-rate-send.pdf}
|
||||
\end{center}
|
||||
@ -267,7 +267,7 @@ Testaufbau:
|
||||
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Performance-Vergleich}
|
||||
\frametitle{Ermittlung der optimalen Paketgröße}
|
||||
\begin{center}
|
||||
\includegraphics[width=11cm]{../../../bericht/benchmarks/nft-size-load-rate-recv.pdf}
|
||||
\end{center}
|
||||
@ -275,7 +275,7 @@ Testaufbau:
|
||||
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Performance-Vergleich}
|
||||
\frametitle{Daten- und Paketdurchsatz}
|
||||
\begin{center}
|
||||
\includegraphics[width=11cm]{../../../bericht/benchmarks/nft-ipt-drop.pdf}
|
||||
\end{center}
|
||||
@ -283,7 +283,7 @@ Testaufbau:
|
||||
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Performance-Vergleich}
|
||||
\frametitle{Verarbeitungsgeschwindigkeit / Antwortzeit}
|
||||
\begin{center}
|
||||
\includegraphics[width=11cm]{../../../bericht/benchmarks/nft-ipt-drop-response.pdf}
|
||||
\end{center}
|
||||
@ -307,6 +307,7 @@ Testaufbau:
|
||||
\item momentan bei mittlerer Regelanzahl noch wesentlich schlechter performant als iptables
|
||||
\item bisher so gut wie keine Dokumentation verfügbar
|
||||
\end{itemize}
|
||||
\item Fazit: (noch) nicht für den Produktiveinsatz bereit
|
||||
\end{itemize}
|
||||
|
||||
\end{frame}
|
||||
|
Loading…
Reference in New Issue
Block a user