nftables ist der moderne Nachfolger von iptables im Linux-Kernel und wird über das Kommando nft bedient. Statt getrennter Werkzeuge je Tabelle gibt es ein Framework mit einheitlicher Syntax; die Adressfamilie inet fasst IPv4 und IPv6 zusammen. Debian und Ubuntu setzen nftables inzwischen als Standard-Backend ein — ufw und firewalld arbeiten darüber.

Regeln anzeigen und löschen

sudo nft list ruleset      # komplette Konfiguration anzeigen
sudo nft list table inet filter
sudo nft flush ruleset     # ALLE Regeln löschen (Vorsicht!)
sudo nft -c -f datei.nft   # Konfiguration nur prüfen (check), nicht laden

Eigene Tabelle und Kette anlegen

sudo nft add table inet filter
sudo nft 'add chain inet filter input { type filter hook input priority 0; policy drop; }'
sudo nft add rule inet filter input ct state established,related accept
sudo nft add rule inet filter input tcp dport 22 accept
sudo nft add rule inet filter input tcp dport 80 accept
sudo nft add rule inet filter input tcp dport 443 accept
sudo nft add rule inet filter input iif "lo" accept

Die Kette wird mit hook input priority 0 an den Netfilter-Eingangspunkt gehängt; policy drop setzt die Standard-Policy auf Ablehnen. ct state established,related accept erlaubt Antworten zu bestehenden Verbindungen (Stateful Filtering).

Persistenz

sudo nft -f /etc/nftables.conf   # Konfigurationsdatei laden
sudo systemctl enable nftables   # Dienst für automatisches Laden

Regeln in /etc/nftables.conf werden beim Systemstart durch den nftables-Dienst geladen. Einzelne Regeln lassen sich gezielt entfernen (nft delete rule, nft delete chain, nft delete table); nft -j list ruleset liefert JSON-Ausgabe für Skripte.

Verwandte Grundlagen: iptables-Befehle, ufw-Befehle.