Firewalling unter Linux wird überarbeitet.
Ja, Sie haben richtig gelesen. Das Firewall-Tool, das seit Kernel 2.4 entweder gehasst oder geliebt wurde, wird ab Kernel v4.9 zugunsten von nftables eingestellt.
Iptables wird in absehbarer Zeit noch verfügbar sein, aber jetzt ist es an der Zeit, die neue Syntax von nftables zu lernen. Nftables, was für netfilter steht Tische. Nftables ist Teil der Netfilter-Suite, einem Team von Kernel-Mitwirkenden, die speziell mit der Aufgabe „NAT, Firewalling und Packet Mangling für Linux“ beauftragt sind. Das Netfilter-Team sind die gleichen Autoren, die uns iptables gebracht haben, also sind sie wohl am besten geeignet, iptables zu ersetzen, genau wie ipchains und ipfw davor.
Neue Funktionalität
Nftables bietet neue Funktionalität, die in iptables nicht verfügbar ist, und ist seit Kernel 3.13 verfügbar (wenn auch nicht vollständig stabil). Zusätzlich zum Kernelmodul selbst bestehen drei weitere Komponenten aus nftables. Diese sind:
- libmnl:die minimalistische Netlink-Bibliothek
- libnftnl:Low-Level-Netlink-Userspace-Bibliothek
- nft:Befehlszeilentool.
Das neue Toolset bietet die folgenden Vorteile gegenüber iptables:
- Hochleistung durch Karten und Verkettungen:Die lineare Regelsatzprüfung wird nicht skaliert. Mithilfe von Maps und Verkettungen können Sie Ihren Regelsatz so strukturieren, dass die Anzahl der Regelüberprüfungen zum Auffinden der endgültigen Aktion im Paket auf das absolute Minimum reduziert wird.
- Einheitliche und konsistente Syntax für jede Unterstützungsprotokollfamilie, im Gegensatz zu xtables-Dienstprogrammen, die bekanntermaßen voller Inkonsistenzen sind.
- Netzwerkspezifische virtuelle Maschine :die nft Das Befehlszeilentool kompiliert den Regelsatz im Netlink-Format in den VM-Bytecode und überträgt diesen dann über die Netlink-API von nftables in den Kernel. Beim Abrufen des Regelsatzes wird der VM-Bytecode im Netlink-Format zurück in seine ursprüngliche Regelsatzdarstellung dekompiliert. Also nft verhält sich sowohl als Compiler als auch als Decompiler.
- Keine Notwendigkeit für Kernel-Updates und eine kleinere Kernel-Codebasis :Die Intelligenz wird im Userspace nft platziert Befehlszeilentool, das in Bezug auf die Codebasis erheblich komplexer als iptables ist, aber in der Mitte der Laufzeit wird dies uns möglicherweise ermöglichen, neue Funktionen bereitzustellen, indem wir das Userspace-Befehlszeilentool aktualisieren, ohne dass Kernel-Upgrades erforderlich sind.
Kann ich meine iptables-Regeln einfach in nft umwandeln?
Ziemlich einfach. Es gibt ein Konvertierungstool, das wie folgt funktioniert:% iptables-translate -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT
nft add rule ip filter INPUT tcp dport 22 ct state new counter accept
% ip6tables-translate -A FORWARD -i eth0 -o eth3 -p udp -m multiport --dports 111,222 -j ACCEPT
nft add rule ip6 filter FORWARD iifname eth0 oifname eth3 meta l4proto udp udp dport {111,222} counter accept
- Weitere Informationen zum Umstieg von iptables auf nftables finden Sie auf dieser hilfreichen Wiki-Seite des Netfilter-Teams.
Wann kommt es zu meiner Linux-Distribution?
Ab Debian 9 stable ist das nftables-Framework installiert und einsatzbereit. Es ist jetzt über die Paketinstallation in der Debian-Entwicklung (Stretch) verfügbar, geben Sie einfach aptitude install nftables.
ein
Eine Veröffentlichung für Debian Stable wird mit ziemlicher Sicherheit in naher Zukunft die Veröffentlichung nachgelagert zu allen anderen großen Debian-basierten Distributionen wie Ubuntu durchsickern lassen. Benutzer von CentOS 7/RHEL 7 können heute nftables aus dem offiziellen Red Hat EPEL-Repo mit yum installieren. Zum Zeitpunkt des Schreibens wird CentOS mit Version 0.6 und Debian 0.7 ausgeliefert. Ubuntu 16.04 LTS hat eine ältere Version (0.5), aber ich würde empfehlen, auf eine neuere Version zu warten.
Weitere Informationen
Um weitere Informationen zu erhalten, besuchen Sie die Netfilter-Website, sie haben eine wirklich gute Dokumentation:
- nftables-Anleitung:http://wiki.nftables.org
- nftables-Homepage
- Debian- und nftables-Update (Mai 2017)