.
This commit is contained in:
parent
f2d905f45b
commit
86698f08c1
159
nftables/Präsentation/Latex/notes.xml
Normal file
159
nftables/Präsentation/Latex/notes.xml
Normal file
@ -0,0 +1,159 @@
|
||||
<notes>
|
||||
<note number="3">
|
||||
Zeile → genauer im Laufe des Vortrags
|
||||
|
||||
|
||||
|
||||
|
||||
Vereinfachung + Redundanz-Vermeidung -> auf der übernächsten Folie näher erklärt
|
||||
|
||||
|
||||
effizient → immer angestrebt
|
||||
|
||||
|
||||
Fehlermeldungen -> besseres Debugging auf lange Sicht
|
||||
</note>
|
||||
|
||||
<note number="4">
|
||||
ipfw: 1994, Kernel 1.0, von FreeBSD
|
||||
|
||||
ipfwadm: 1996, Kernel 2.0
|
||||
|
||||
ipchains: 1999, Kernel 2.2
|
||||
|
||||
iptables: 2000, Kernel 2.3
|
||||
|
||||
nftables: Anfang Februar 2014, Kernel 3.13
|
||||
</note>
|
||||
|
||||
<note number="5">
|
||||
für jedes Protokoll eigene Implementierung:
|
||||
|
||||
|
||||
|
||||
einerseits: protokoll-spezifischer Code → hohe Performance durch native Ausführung
|
||||
|
||||
|
||||
andererseits: dennoch viel Ähnlichkeit der Implementierungen
|
||||
</note>
|
||||
|
||||
<note number="6">
|
||||
|
||||
NIC = Network Interface Card = Netzwerkkarte
|
||||
|
||||
|
||||
vorgegebene Tabellen: filter, nat → zeigen
|
||||
|
||||
vorgebene Cains:
|
||||
filter:
|
||||
input
|
||||
forward
|
||||
output
|
||||
nat:
|
||||
prerouting
|
||||
postrouting
|
||||
</note>
|
||||
|
||||
<note number="7">
|
||||
ein Tool, eine Kernel-Implementierung
|
||||
|
||||
einheitliche Schnittstelle → durch virtuelle Maschine → nur noch Byte-Code
|
||||
|
||||
Regeln werden im Userspace durch "nft" Tool kompiliert
|
||||
|
||||
siehe Folie
|
||||
|
||||
vergleichen: IP-Adressen direkt vergleichen
|
||||
|
||||
airthmetische + logische Operationen: z.B. Bereich aus IP maskieren
|
||||
|
||||
Änderungen: SNAT, DNAT
|
||||
|
||||
siehe Folie
|
||||
</note>
|
||||
|
||||
<note number="8">
|
||||
nur oberen Teil!!!
|
||||
|
||||
Netlink = schnelle Userspace ←→ Kernel Schnittstelle, transaktionsbasiert
|
||||
|
||||
NF-Tables-Core-Engine hängt sich in Netfilter ein
|
||||
</note>
|
||||
|
||||
<note number="9">
|
||||
payload = IP Packet
|
||||
4 → Anzahl Bytes
|
||||
offset network header + 16 → Destination IP Address in IP Header
|
||||
compare → Vergleichsoperation
|
||||
danach: Sprung
|
||||
|
||||
|
||||
lookup in Tabelle → "verdict" → Urteil
|
||||
→ auf rechter Seite nur Targets möglich
|
||||
</note>
|
||||
|
||||
<note number="10">
|
||||
iptables = Firewall, Tool
|
||||
</note>
|
||||
|
||||
<note number="11">
|
||||
nftables = Firewall
|
||||
|
||||
nft = Tool
|
||||
|
||||
Voraussetzung:
|
||||
eigene Tabelle: beliebiger Name
|
||||
eigene Chain: beliebiger Name
|
||||
|
||||
Chain:
|
||||
type = Tabelle } jeweils aus
|
||||
hook = Chain } iptables
|
||||
|
||||
nft inzwischen in Arch in community Repo
|
||||
</note>
|
||||
|
||||
<note number="14">
|
||||
Performance messen: möglichst viele Pakete pro Sekunde
|
||||
|
||||
→ Datenrate und PPS über Ethernet-Größe auftragen → Frame-Größe sukzessiv kleiner machen
|
||||
|
||||
→ bei ca. 300 Byte Framegröße: Sender kann nicht schneller Pakete schicken
|
||||
|
||||
CPU-Last dauerhaft auf 100 % → busy waiting (Delay hätte man einfügen können)
|
||||
</note>
|
||||
|
||||
<note number="15">
|
||||
das gleiche beim Empfänger
|
||||
|
||||
→ hier schon bei ca. 450 Byte Framegröße
|
||||
|
||||
CPU-Last eingetragen → Messung mittels "top" → schlägt erst aus, wenn Pakete nicht mehr schnell genug bearbeitet werden können
|
||||
|
||||
→ Kern-Prozess "ksoftirq" fast sofort auf 100%
|
||||
</note>
|
||||
|
||||
<note number="16">
|
||||
eigentliche Messung
|
||||
|
||||
bis 25000 Regeln: iptables nach wie vor besser
|
||||
</note>
|
||||
|
||||
<note number="17">
|
||||
→ nftables besser, was Antwortzeit anbelangt
|
||||
</note>
|
||||
|
||||
<note number="18">
|
||||
mittlere Regelanzahl → typischer Fall
|
||||
|
||||
virtuelle Maschine → sehr leicht neue Erweiterungen machbar
|
||||
|
||||
Dokumentation:
|
||||
|
||||
bis vor einer Woche: lediglich ein Tutorial verfügbar
|
||||
|
||||
jetzt: Wiki mit einigen Beispielen
|
||||
|
||||
noch keine vollständige Dokumentation
|
||||
</note>
|
||||
|
||||
</notes>
|
3
nftables/Präsentation/Latex/start.sh
Executable file
3
nftables/Präsentation/Latex/start.sh
Executable file
@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
open-pdf-presenter -n notes.xml -d 900 -s lctp_prensentation.pdf
|
Loading…
Reference in New Issue
Block a user