Nftables – Einführung

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

nftables – Einführung

nftables ist das moderne Firewall-Framework des Linux-Kernels. Es ersetzt das ältere iptables und ist seit Linux-Kernel 3.13 fester Bestandteil jedes aktuellen Linux-Systems.

Die Konfiguration erfolgt über das Kommandozeilenprogramm nft.

Warum nftables statt iptables?

iptables hat viele Jahre gute Dienste geleistet – es ist aber in die Jahre gekommen. Die wichtigsten Schwächen von iptables:

  • IPv4 und IPv6 mussten getrennt konfiguriert werden (iptables und ip6tables)
  • Regeln wurden immer vollständig von oben nach unten durchsucht – auch wenn das gar nicht nötig wäre
  • Vordefinierte Tabellen und Ketten waren immer aktiv, egal ob man sie braucht oder nicht
  • Änderungen am Regelsatz erforderten oft ein komplettes Neu-Einlesen aller Regeln

nftables löst all diese Probleme und bringt dabei eine klarere, einheitlichere Syntax mit.

Was ist neu und anders?

Nur was gebraucht wird, wird angelegt
Bei iptables gibt es vordefinierte Tabellen und Ketten, die immer vorhanden sind.
Bei nftables legt man nur das an, was man wirklich braucht – nichts läuft im Hintergrund ohne Grund.
IPv4 und IPv6 gemeinsam verwalten
Mit der inet-Familie in nftables kann man eine einzige Regel schreiben,
die sowohl für IPv4- als auch für IPv6-Pakete gilt. Schluss mit doppelter Arbeit.
Schnellere Paketverarbeitung
nftables kann Pakete mithilfe von Sets und Maps sehr effizient sortieren,
ohne jede Regel einzeln prüfen zu müssen.
Flexiblere Regeln
Eine einzelne nftables-Regel kann mehrere Aktionen auf einmal ausführen –
zum Beispiel gleichzeitig zählen, loggen und blockieren.

Kompatibilität mit iptables

Wer bisher mit iptables gearbeitet hat, muss nicht sofort alles neu lernen. Es gibt Werkzeuge, die bestehende iptables-Regeln automatisch nach nftables konvertieren. Außerdem bringt nftables eine Kompatibilitätsschicht mit, über die iptables-Befehle weiterhin funktionieren – zumindest für den Übergang.