Nftables Hooks: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 57: Zeile 57:
 
| Filter
 
| Filter
 
| {{yes|1=[https://marc.info/?l=netfilter&m=160379555303808&w=2 0.9.7] / [https://kernelnewbies.org/Linux_5.10 5.10]}}
 
| {{yes|1=[https://marc.info/?l=netfilter&m=160379555303808&w=2 0.9.7] / [https://kernelnewbies.org/Linux_5.10 5.10]}}
| {{Jawohl}}
+
| ja
| {{Jawohl}}
+
| ja
| {{Jawohl}}
+
| ja
| {{Jawohl}}
+
| ja
| {{Jawohl}}
+
| ja
| {{nein}}
+
| nein
  
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
 
| Nat
 
| Nat
| {{nein}}
+
| nein
| {{Jawohl}}
+
| ja
| {{nein}}
+
| nein
| {{Jawohl}}
+
| ja
| {{Jawohl}}
+
| ja
| {{Jawohl}}
+
| ja
| {{nein}}
+
| nein
  
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
 
| Route
 
| Route
| {{nein}}
+
| nein
| {{nein}}
+
| nein
| {{nein}}
+
| nein
| {{nein}}
+
| nein
| {{Jawohl}}
+
| ja
| {{nein}}
+
| nein
| {{nein}}
+
| nein
  
 
|- style="vertical-align:bottom;"
 
|- style="vertical-align:bottom;"
Zeile 89: Zeile 89:
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
 
| Filter
 
| Filter
| {{nein}}
+
| nein
| {{Jawohl}}
+
| ja
| {{Jawohl}}
+
| ja
| {{Jawohl}}
+
| ja
| {{Jawohl}}
+
| ja
| {{Jawohl}}
+
| ja
| {{nein}}
+
| nein
  
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
 
| Nat
 
| Nat
| {{nein}}
+
| nein
| {{Jawohl}}
+
| ja
| {{nein}}
+
| nein
| {{Jawohl}}
+
| ja
| {{Jawohl}}
+
| ja
| {{Jawohl}}
+
| ja
| {{nein}}
+
| nein
  
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
 
| Route
 
| Route
| {{nein}}
+
| nein
| {{nein}}
+
| nein
| {{nein}}
+
| nein
| {{nein}}
+
| nein
| {{Jawohl}}
+
| ja
| {{nein}}
+
| nein
| {{nein}}
+
| nein
  
 
|- style="vertical-align:bottom;"
 
|- style="vertical-align:bottom;"
Zeile 122: Zeile 122:
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
 
| Filter
 
| Filter
| {{nein}}
+
| nein
| {{Jawohl}}
+
| ja
| {{Jawohl}}
+
| ja
| {{Jawohl}}
+
| ja
| {{Jawohl}}
+
| ja
| {{Jawohl}}
+
| ja
| {{nein}}
+
| nein
  
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
 
| Nat
 
| Nat
| {{nein}}
+
| nein
| {{Jawohl}}
+
| ja
| {{nein}}
+
| nein
| {{Jawohl}}
+
| ja
| {{Jawohl}}
+
| ja
| {{Jawohl}}
+
| ja
| {{nein}}
+
| nein
  
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
 
| Route
 
| Route
| {{nein}}
+
| nein
| {{nein}}
+
| nein
| {{nein}}
+
| nein
| {{nein}}
+
| nein
| {{Jawohl}}
+
| ja
| {{nein}}
+
| nein
| {{nein}}
+
| nein
  
 
|- style="vertical-align:bottom;"
 
|- style="vertical-align:bottom;"
Zeile 155: Zeile 155:
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
 
| Filter
 
| Filter
| {{nein}}
+
| nein
| {{nein}}
+
| nein
| {{nein}}
+
| nein
| {{Jawohl}}
+
| ja
| {{Jawohl}}
+
| ja
| {{nein}}
+
| nein
| {{nein}}
+
| nein
  
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
 
| Nat
 
| Nat
| {{nein}}
+
| nein
| {{nein}}
+
| nein
| {{nein}}
+
| nein
| {{nein}}
+
| nein
| {{nein}}
+
| nein
| {{nein}}
+
| nein
| {{nein}}
+
| nein
  
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
 
| Route
 
| Route
| {{nein}}
+
| nein
| {{nein}}
+
| nein
| {{nein}}
+
| nein
| {{nein}}
+
| nein
| {{nein}}
+
| nein
| {{nein}}
+
| nein
| {{nein}}
+
| nein
  
 
|- style="vertical-align:bottom;"
 
|- style="vertical-align:bottom;"
Zeile 188: Zeile 188:
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
 
| Filter
 
| Filter
| {{nein}}
+
| nein
| {{Jawohl}}
+
| ja
| {{Jawohl}}
+
| ja
| {{Jawohl}}
+
| ja
| {{Jawohl}}
+
| ja
| {{Jawohl}}
+
| ja
| {{nein}}
+
| nein
  
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
 
| Nat
 
| Nat
| {{nein}}
+
| nein
| {{nein}}
+
| nein
| {{nein}}
+
| nein
| {{nein}}
+
| nein
| {{nein}}
+
| nein
| {{nein}}
+
| nein
| {{nein}}
+
| nein
  
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
 
| Route
 
| Route
| {{nein}}
+
| nein
| {{nein}}
+
| nein
| {{nein}}
+
| nein
| {{nein}}
+
| nein
| {{nein}}
+
| nein
| {{nein}}
+
| nein
| {{nein}}
+
| nein
  
 
|- style="vertical-align:bottom;"
 
|- style="vertical-align:bottom;"
Zeile 222: Zeile 222:
 
| Filter
 
| Filter
 
| {{yes|1=[https://marc.info/?l=netfilter&m=146488681521497&w=2 0.6] / [https://kernelnewbies.org/Linux_4.2 4.2]}}
 
| {{yes|1=[https://marc.info/?l=netfilter&m=146488681521497&w=2 0.6] / [https://kernelnewbies.org/Linux_4.2 4.2]}}
| {{nein}}
+
| nein
| {{nein}}
+
| nein
| {{nein}}
+
| nein
| {{nein}}
+
| nein
| {{nein}}
+
| nein
 
| {{nein|- / [https://kernelnewbies.org/Linux_5.7 5.7]}}
 
| {{nein|- / [https://kernelnewbies.org/Linux_5.7 5.7]}}
  
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
 
| Nat
 
| Nat
| {{nein}}
+
| nein
| {{nein}}
+
| nein
| {{nein}}
+
| nein
| {{nein}}
+
| nein
| {{nein}}
+
| nein
| {{nein}}
+
| nein
| {{nein}}
+
| nein
  
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
 
| Route
 
| Route
| {{nein}}
+
| nein
| {{nein}}
+
| nein
| {{nein}}
+
| nein
| {{nein}}
+
| nein
| {{nein}}
+
| nein
| {{nein}}
+
| nein
 
| {{n
 
| {{n
 +
 +
~                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
 +
~                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
 +
~                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
 +
~                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
 +
~                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
 +
~                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
 +
~                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
 +
~                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
 +
~                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
 +
~                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
 +
~                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
 +
~                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
 +
~                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
 +
~                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
 +
~

Version vom 14. September 2022, 19:13 Uhr

nftables verwendet größtenteils dieselbe Netfilter-Infrastruktur wie ältere iptables. Die Hook-Infrastruktur, Connection Tracking System, NAT-Engine, Logging-Infrastruktur und Userspace-Warteschlangen bleiben gleich. Lediglich das Framework zur Paketklassifizierung ist neu.


__Inhalt__


Netfilter hakt sich in Linux-Netzwerkpaketflüsse ein

Das folgende Schema zeigt Paketflüsse durch Linux-Netzwerke:

Nf-hooks.png


Datenverkehr, der im Eingabepfad zur lokalen Maschine fließt, sieht die Prerouting- und Eingabe-Hooks. Anschließend folgt der von lokalen Prozessen generierte Datenverkehr dem Ausgabe- und Postrouting-Pfad.

Wenn Sie Ihre Linux-Box so konfigurieren, dass sie sich als Router verhält, vergessen Sie nicht, die Weiterleitung zu aktivieren über:

echo 1 > /proc/sys/net/ipv4/ip_forward

Dann werden Pakete, die nicht an Ihr lokales System adressiert sind, vom Forward-Hook gesehen. Solche weitergeleiteten Pakete folgen dem Pfad: Prerouting, Forward und Postrouting.

Im Gegensatz zu iptables, das Ketten an jedem' Hook (d.h. INPUT-Kette in filter-Tabelle) vordefiniert, definiert nftables überhaupt keine Ketten. Sie müssen explizit eine base chain an jedem Hook, an dem Sie den Datenverkehr filtern möchten.


Ingress-Hook

Der Ingress-Hook wurde im Linux-Kernel 4.2 hinzugefügt. Im Gegensatz zu den anderen Netzfilter-Hooks ist der Ingress-Hook mit einer bestimmten Netzwerkschnittstelle verbunden.

Sie können nftables mit dem Ingress-Hook verwenden, um sehr frühe Filterrichtlinien durchzusetzen, die sogar vor dem Prerouting wirksam werden. Beachten Sie, dass fragmentierte Datagramme in diesem sehr frühen Stadium noch nicht wieder zusammengesetzt wurden. So funktioniert beispielsweise das Abgleichen von ip saddr und daddr für alle IP-Pakete, aber das Abgleichen von L4-Headern wie udp dport funktioniert nur für unfragmentierte Pakete oder das erste Fragment.

Der Ingress-Hook bietet eine Alternative zur tc-Eingangsfilterung. Sie benötigen noch tc für Traffic Shaping/Warteschlangenverwaltung.


Haken nach Familie und Kettentyp

Die folgende Tabelle listet verfügbare Hooks nach family und chain type auf. Für kürzlich hinzugefügte Hooks werden die Mindestversionen von nftables und Linux-Kernel angezeigt.

Kettentyp Haken
eindringen vorrouting nach vorne Eingang Ausgang Postrouting aussteigen

inet-Familie
Filter Vorlage:Yes ja ja ja ja ja nein
Nat nein ja nein ja ja ja nein
Route nein nein nein nein ja nein nein

IP6-Familie
Filter nein ja ja ja ja ja nein
Nat nein ja nein ja ja ja nein
Route nein nein nein nein ja nein nein

IP-Familie
Filter nein ja ja ja ja ja nein
Nat nein ja nein ja ja ja nein
Route nein nein nein nein ja nein nein

familie arp
Filter nein nein nein ja ja nein nein
Nat nein nein nein nein nein nein nein
Route nein nein nein nein nein nein nein

Brückenfamilie
Filter nein ja ja ja ja ja nein
Nat nein nein nein nein nein nein nein
Route nein nein nein nein nein nein nein

netdev-Familie
Filter Vorlage:Yes nein nein nein nein nein Vorlage:Nein
Nat nein nein nein nein nein nein nein
Route nein nein nein nein nein nein {{n

~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~