Was ist dieser iptables-/nftables-Regel-Builder?
Eine Linux-Firewall haelt unerwuenschten Traffic von deinem Server fern. Die zwei Tools, die mit dem Kernel kommen, sind iptables (der Klassiker, seit 1998) und nftables (der moderne Nachfolger, Default auf Debian 11+, Ubuntu 22.04+, RHEL 9+ und den meisten aktuellen Distros).
Dieser Builder erlaubt dir, Firewall-Regeln in einem freundlichen Formular zu schreiben und produziert beide Syntaxen gleichzeitig. Eine Chain waehlen (INPUT, OUTPUT, FORWARD), eine Action (ACCEPT, DROP, REJECT, LOG), Protokoll, Source, Destination, Ports und Connection-State setzen, du bekommst ein paste-bereites Ruleset.
Alles laeuft im Browser: keine Regeln werden angewandt, kein Server kontaktiert, nichts hochgeladen. Du kopierst den Output, oeffnest dein Terminal, liest sorgfaeltig und fuehrst selbst aus. Das Tool ist ein Builder, kein Runner.
Ein paar Dinge, die du vor dem Anfang wissen solltest:
- Die Default-Policy einer Chain ist das, was passiert, wenn keine Regel matcht. INPUT auf DROP plus ein paar gezielte ACCEPTs ist die klassische "Deny-by-default"-Haltung.
- Reihenfolge zaehlt in iptables: Regeln werden von oben nach unten ausgewertet, First-Match-Wins. Setze deine Return-Traffic-Regel (ESTABLISHED, RELATED) zuerst, damit bestehende Verbindungen beim Firewall-Reload nicht brechen.
- nftables ist deklarativ (die ganze Tabelle ist ein Dokument); iptables ist imperativ (jede `-A`-Zeile haengt eine Regel an).
So benutzt du es
- Mit einem Preset starten, wenn moeglich: "Basic webserver", "Locked-down SSH", "Allow LAN, deny WAN", "Docker forward chain" oder "Rate limit SSH". Jedes fuellt sinnvolle Defaults aus, die du anpassen kannst.
- Default-Policy pro Chain setzen. Die sichere Haltung ist INPUT=DROP, FORWARD=DROP, OUTPUT=ACCEPT. Die OUTPUT-Policy ist meist ACCEPT, weil du deinem eigenen Server beim Rausfunken vertraust.
- Regeln in Reihenfolge ergaenzen. Die allererste INPUT-Regel sollte sein: Protokoll=any, State=ESTABLISHED+RELATED, Action=ACCEPT. Das haelt bestehende Verbindungen am Leben, wenn du die Firewall reloadest.
- Pro Regel Chain, Action, Protokoll, optionale Source-IP (oder CIDR wie 192.168.1.0/24), optionale Destination-IP, optionalen Source-/Destination-Port und einen Connection-State waehlen, wenn du Stateful-Matching brauchst.
- Den Conntrack-Toggle nutzen, um zwischen modernem `-m conntrack --ctstate` und Legacy `-m state --state` zu waehlen. Moderne Kernel haben Conntrack als Default; an lassen, ausser deine Distro ist uralt.
- Die Live-Vorschau rechts ansehen. Das obere Panel ist iptables, das untere nftables. Beide werden aus demselben Modell synchron gehalten, beide haben einen Copy-Button.
- Vor dem Commit testen. Den iptables-Block kopieren, am Server einfuegen, ausfuehren. Sperrst du dich aus, ueberleben die Regeln keinen Reboot (sie leben nur im Memory). Nach 5 Minuten Testen mit `netfilter-persistent save` (Debian/Ubuntu) persistieren oder den nftables-Block in `/etc/nftables.conf` speichern.
Wann das nuetzlich ist
Fuenf konkrete Situationen, in denen Regeln in einem Formular zu bauen das Handschreiben schlaegt:
- Du richtest einen frischen VPS ein und brauchst eine Start-Firewall. Das "Basic webserver"-Preset oeffnet Ports 22 (SSH), 80 (HTTP), 443 (HTTPS) und droppt alles andere. Es ist der kanonische erste Schritt nach dem Server-Install, und der Builder schreibt es in beiden Syntaxen, du nimmst die fuer deine Distro.
- Du migrierst von iptables zu nftables. Viele Distros (Debian 11+, RHEL 9+) haben nftables zum Default gemacht und der Legacy-`iptables`-Befehl ist ein Wrapper. Pasten deine bestehenden iptables-Regeln ins Formular, Vorschau auf nftables schalten, fertig ist eine save-bereite `/etc/nftables.conf`.
- Du willst SSH auf eine IP einschraenken. Das "Locked-down SSH"-Preset zeigt das Muster: ACCEPT von deiner Office-IP, LOG und DROP fuer alles andere. Drei Regeln, in richtiger Reihenfolge, mit State-Matching.
- Du verwaltest einen Docker-Host und die FORWARD-Chain ist ein Chaos. Docker schreibt die FORWARD-Chain bei jedem Restart um, das ist okay, aber du musst trotzdem wissen, wie gute FORWARD-Regeln aussehen. Das "Docker forward chain"-Preset ist eine saubere Baseline, die du anpassen kannst.
- Du bringst jemandem Linux-Networking bei. Die Seite-an-Seite-iptables-vs-nftables-Ansicht ist der schnellste Weg, die Aequivalenz zu zeigen: gleiches Modell, zwei Syntaxen. Einen State togglen, beide Panels updaten zu sehen, und die Beziehung zwischen `-m conntrack --ctstate` und `ct state` klickt sofort.