nftables Firewall Generator

SICHERHEITS-TOOL

nftables Firewall Generator

Erstelle moderne nftables-Regeln für Linux mit inet/ip/ip6-Families, Sets, Maps, NAT und Port-Forwarding. Mit Live-Skript-Generierung.

nftables Families Sets & Maps NAT Modern

Hinweis: Dieser Generator erstellt nftables-Regeln für Linux-Systeme. nftables ist seit Linux 3.13 (2014) im Kernel und ersetzt schrittweise iptables. Für bestehende Systeme: iptables-nft bietet Kompatibilität.

Inhaltsverzeichnis

Schnellübersicht

  • Regel-Generator: inet/ip/ip6/arp/bridge/netdev-Families
  • Moderne Syntax: nft add rule mit Sets und Maps
  • NAT & Port-Forwarding: DNAT, SNAT, Masquerade
  • Sets: Effiziente Regeln für viele IPs/Ports
  • Live-Vorschau: Generiertes nftables-Skript
  • Beispiel-Setups: Webserver, Router, Docker, VPN
  • Theorie: Über nftables, Families und Syntax
  • FAQ: Häufige Fragen zu nftables

1. nftables Regel-Generator

Füge Regeln hinzu, ordne sie und generiere das nftables-Skript.

Neue Regel hinzufügen
Adress-Family
Tabellenname (z.B. filter)
Chain (lowercase)
Aktion
IP/Netzwerk oder Set
IP/Netzwerk oder Set
IP-Protokoll
Einzelport oder Set
iifname
oifname
comment "..."
Schnell-Auswahl:
Aktive Regeln (0)
Die 6 nftables-Families

inet

IPv4 und IPv6 kombiniert – der moderne Standard.

nft add table inet filter

ip

Nur IPv4 – klassisch wie bei iptables.

nft add table ip filter

ip6

Nur IPv6 – für reine v6-Setups.

nft add table ip6 filter

arp

Für ARP-Filterung (ARP-Spoofing).

nft add table arp filter

bridge

Für Bridging (Layer 2 Filtering).

nft add table bridge filter

netdev

Sehr früh im Stack (vor Netfilter).

nft add table netdev filter

Wichtige nft-Befehle

Regeln anzeigen

nft list ruleset – alles

nft list table inet filter

nft list chains

Regeln speichern

nft list ruleset > /etc/nftables.conf

systemctl enable nftables

systemctl start nftables

Regeln löschen

nft flush ruleset – alles löschen

nft delete table inet filter

nft delete rule inet filter input handle 5

Regeln testen

nft -c -f /etc/nftables.conf – Syntax prüfen

nft -f /etc/nftables.conf – laden

nft monitor – Live-Trace

2. Theorie – nftables

Verstehe die moderne Firewall-Architektur von nftables.

Was ist nftables?

nftables ist der moderne Nachfolger von iptables:

  • Seit Linux 3.13: 2014 im Kernel
  • Nachfolger: Ersetzt iptables/ip6tables/arptables/ebtables
  • Ein Tool: nft für alles
  • Kombiniert: IPv4 + IPv6 in einer Table (inet)
nft add rule inet filter input tcp dport 22 accept

Vorteile gegenüber iptables

nftables ist moderner und leistungsfähiger:

  • Performance: Schnellere Regelverarbeitung
  • Sets & Maps: Effizient für viele IPs/Ports
  • IPv4 + IPv6: Kombiniert in einer Table
  • Saubere Syntax: Konsistent, lesbarer
  • Atomare Updates: Regeln in einem Rutsch
  • Kein Kernel-Modul pro Match: Alles nativ
nft add set inet filter ssh_ips { type ipv4_addr; }

Sets & Maps

Sets und Maps sind mächtige Werkzeuge:

  • Set: Liste von IPs/Ports
  • Map: Zuordnung (z.B. Port → IP)
  • Inline: { 22, 80, 443 }
  • Benannt: Wiederverwendbar mit Updates
tcp dport { 22, 80, 443 } accept

Best Practices

  • inet: IPv4 + IPv6 kombiniert nutzen
  • Default-Policy: drop auf input/forward
  • Loopback: iif lo accept
  • Stateful: ct state established,related accept
  • Sets: Für viele IPs/Ports nutzen
  • Persistenz: /etc/nftables.conf + systemd
ct state established,related accept
Wichtig: SSH nicht aussperren!
  • Erst SSH erlauben, dann Policy setzen: nft add rule inet filter input tcp dport 22 accept
  • Remote-Server: Immer einen zweiten Zugang (Provider-Konsole) bereithalten.
  • Testen: nft -c -f /etc/nftables.conf prüft Syntax ohne zu laden!
  • Backup: nft list ruleset > /root/nftables-backup.conf
  • Persistenz: Regeln in /etc/nftables.conf + systemctl enable nftables

Wussten Sie schon?

nftables ist seit Debian 10 (Buster) und RHEL 8 der Standard. Die Kompatibilitätsschicht iptables-nft übersetzt iptables-Befehle automatisch auf nftables. So können bestehende Skripte weiter genutzt werden, während man schrittweise auf native nftables-Syntax umsteigt.

3. Geschichte von nftables

Von iptables zur modernen Firewall-Architektur.

2008

Projekt-Start

Patrick McHardy beginnt die Entwicklung von nftables als Nachfolger von iptables. Ziel: bessere Performance, sauberere Syntax und native IPv4/IPv6-Unterstützung.

2014

Linux 3.13

nftables wird offiziell in den Linux-Kernel aufgenommen. Die Kernel-Komponente heißt nf_tables. Erste Distributionen beginnen mit der Integration.

2016

iptables-nft

Die Kompatibilitätsschicht iptables-nft wird eingeführt. Sie übersetzt iptables-Befehle transparent auf nftables. Bestehende Skripte laufen weiter.

2018

Debian 10 & RHEL 8

Debian 10 (Buster) und RHEL 8 machen nftables zum Standard. iptables-Befehle werden über die Kompatibilitätsschicht verarbeitet.

2021

Ubuntu 21.10

Ubuntu wechselt mit 21.10 zu nftables als Standard-Backend für UFW. Die Syntax bleibt für Nutzer gleich, das Backend ist modern.

2023

firewalld default

firewalld nutzt nftables als Standard-Backend. Damit ist nftables auf allen großen Distributionen (Debian, Ubuntu, RHEL, Fedora) angekommen.

Heute

nftables ist Standard

nftables ist auf allen modernen Distributionen der Standard. iptables wird nur noch über die Kompatibilitätsschicht unterstützt. Neue Projekte sollten native nftables-Syntax nutzen.

4. FAQ – Häufige Fragen

Häufige Fragen zu nftables

Was ist der Unterschied zwischen iptables und nftables?
Merkmaliptablesnftables
Eingeführt2001 (Linux 2.4)2014 (Linux 3.13)
PerformanceGutBesser
IPv4/IPv6GetrenntNativ kombiniert (inet)
SyntaxKryptischModerner, konsistent
Sets/MapsNur ipsetNativ eingebaut
Atomare UpdatesNeinJa
StatusLegacyStandard

Empfehlung:

  • Neue Systeme: native nftables-Syntax
  • Bestehende Skripte: iptables-nft (Kompatibilität)
  • Frontends: UFW/firewalld nutzen nftables-Backend
Was bedeutet die "inet"-Family?

inet kombiniert IPv4 und IPv6 in einer einzigen Table:

  • Vorteil: Regeln gelten für beide Protokolle
  • Weniger Duplizierung: Kein separates iptables/ip6tables
  • Familie-spezifisch: Bei Bedarf meta nfproto ipv4

Beispiel:

  • nft add rule inet filter input tcp dport 22 accept
  • Diese Regel gilt für IPv4 und IPv6

Wann ip/ip6 nutzen? Wenn du protokoll-spezifische Regeln brauchst (z.B. nur IPv6 blocken).

Was sind Sets und Maps?

Sets und Maps sind mächtige Werkzeuge für effiziente Regeln:

Sets (Liste):

  • Inline: tcp dport { 22, 80, 443 } accept
  • Benannt: nft add set inet filter ssh_ips { type ipv4_addr; }
  • Mit Timeout: flags timeout
  • Für viele IPs/Ports ideal

Maps (Zuordnung):

  • Port → IP: dnat to ip saddr map { 1.2.3.4 : 10.0.0.1 }
  • Zur Laufzeit änderbar
  • Für dynamische Konfigurationen

Vorteil: Ein einziger Regel-Lookup statt vieler Einzelregeln.

Wie mache ich nftables-Regeln persistent?

Standardverfahren:

  • 1. Konfiguration speichern: nft list ruleset > /etc/nftables.conf
  • 2. Service aktivieren: systemctl enable nftables
  • 3. Service starten: systemctl start nftables

Alternativ:

  • Direkt schreiben: Regeln in /etc/nftables.conf manuell pflegen
  • Include: Weitere Dateien via include "/etc/nftables.d/*.conf"
  • Distribution-spezifisch: Auf RHEL: /etc/sysconfig/nftables.conf

Wichtig: nft -c -f /etc/nftables.conf prüft Syntax ohne zu laden!

Wie richte ich NAT/Port-Forwarding ein?

NAT in nftables – sauber in Chain prerouting/postrouting:

1. IP-Forwarding aktivieren:

  • sysctl -w net.ipv4.ip_forward=1

2. DNAT für Port-Forwarding:

  • nft add rule ip nat prerouting iif eth0 tcp dport 8080 dnat to 192.168.1.100:80

3. SNAT/Masquerade für Rückweg:

  • nft add rule ip nat postrouting oif eth0 masquerade

4. Forward erlauben (inet Table):

  • nft add rule inet filter forward iif eth0 oif eth1 accept

Wichtig: nftables NAT braucht eine nat-Table und passende Chains (prerouting/postrouting).

Was bedeutet Stateful Inspection in nftables?

nftables nutzt Conntrack (Connection Tracking) für Stateful Inspection:

  • ct state new: Neue Verbindung
  • ct state established: Bestehende Verbindung
  • ct state related: Verwandte Verbindung (FTP, ICMP)
  • ct state invalid: Ungültig

Typische Regel-Reihenfolge:

  • 1. ct state established,related accept
  • 2. ct state invalid drop
  • 3. Neue Verbindungen (spezifische Ports)
  • 4. drop

Vorteil: Ausgehende Verbindungen erlauben automatisch die Rückrichtung.

Wie lösche ich nftables-Regeln?

Mehrere Wege:

  • Alles löschen: nft flush ruleset
  • Table löschen: nft delete table inet filter
  • Chain leeren: nft flush chain inet filter input
  • Einzelne Regel: nft delete rule inet filter input handle 5

Handle finden:

  • nft list ruleset -a zeigt Handle-Nummern
  • Handle ist stabil und eindeutig

Wichtig: flush ruleset löscht wirklich alles – auch NAT und alle Tables!

Wie migriere ich von iptables zu nftables?

Einfachster Weg: iptables-nft (Kompatibilitätsschicht):

  • Installation: apt install iptables-nft
  • iptables-Befehle werden auf nftables übersetzt
  • iptables-save funktioniert weiter
  • Kein sofortiger Umstieg nötig

Manuelle Migration:

  • iptables-save > /tmp/iptables.rules
  • Konvertieren: iptables-restore-translate -f /tmp/iptables.rules
  • Ausgabe prüfen und in nftables-Syntax nutzen

Empfehlung: Nicht sofort umstellen. Neue Regeln in nftables schreiben, alte in iptables-nft belassen. Schrittweise migrieren.

Zusammenfassung

Die wichtigsten Punkte

  • nftables: Moderner Nachfolger von iptables (seit Linux 3.13)
  • 6 Families: inet, ip, ip6, arp, bridge, netdev
  • inet: Kombiniert IPv4 + IPv6 in einer Table
  • Sets & Maps: Effizient für viele IPs/Ports
  • Stateful: ct state established,related
  • Default-Policy: drop auf input/forward
  • SSH: Vor Policy erlauben!
  • NAT: Sauber in nat-Table mit prerouting/postrouting
  • Persistenz: /etc/nftables.conf + systemctl enable nftables
  • Unser Tool: nftables-Generator mit Live-Vorschau

Weitere Tools

iptables Firewall Generator

Klassische iptables-Regeln für Linux generieren.

Zum Tool
UFW Firewall Generator

UFW-Regeln für Ubuntu/Debian generieren.

Zum Tool
DNS Lookup Tool

DNS-Abfragen für A, AAAA, MX, NS und mehr.

Zum Tool
IPv4-Subnetting

Umfassender Subnetting-Rechner für IPv4-Adressen.

Zum Tool