iptables-Regel-Generator
iptables-Regeln aus CSV generieren
Rule Definitions
Format
source, port, protocol, action
Use * for any. Protocols: tcp, udp, icmp, all
iptables Commands
Enter rules to generate iptables commands
Der iptables Rule Generator erstellt Linux-Firewall-Regeln aus strukturierter CSV-Eingabe. Geben Sie Ihre Regeln als Zeilen mit Spalten für Chain, Quelle, Ziel, Protokoll, Port und Aktion ein und erhalten Sie korrekt formatierte iptables-Befehle mit der richtigen Flag-Reihenfolge -- ohne die ausführliche und fehleranfällige iptables-Syntax auswendig lernen zu müssen.
iptables verstehen
Wenn Sie Linux-Server administrieren, ist iptables wahrscheinlich das erste Firewall-Tool, dem Sie begegnen. Es ist seit dem 2.4-Kernel (veröffentlicht 2001) die Standard-Linux-Paketfilter-Schnittstelle, und obwohl es auf neueren Distributionen von nftables abgelöst wurde, bleibt iptables die am weitesten verbreitete Linux-Firewall in der Produktion. Die meiste Dokumentation, die meisten Tutorials und Automatisierungstools zielen noch auf die iptables-Syntax ab, und die iptables-nft-Kompatibilitätsschicht stellt sicher, dass iptables-Befehle auch auf Systemen funktionieren, die das nftables-Backend verwenden.
Die Herausforderung bei iptables ist die Kommandozeilen-Syntax. Jede Regel ist ein einzelner Befehl mit Flags, die in einer bestimmten Reihenfolge erscheinen müssen, und ein falsches Flag kann stillschweigend eine Regel erstellen, die nicht das erfasst, was Sie beabsichtigt haben. Ein fehlendes -p tcp vor --dport 443 erzeugt einen Fehler. Ein -j ACCEPT, wenn Sie -j DROP meinten, schafft eine Sicherheitslücke. Und wenn Sie eine vollständige Firewall-Konfiguration mit 30 oder 40 Regeln erstellen, ist das manuelle Schreiben jedes Befehls mühsam und fehleranfällig.
Dieser Generator löst das Problem, indem er Ihre Regeln in einem einfachen CSV-Format akzeptiert und korrekte iptables-Befehle erzeugt. Sie können Ihre Firewall in einer Tabellenkalkulation entwerfen, das CSV einfügen und ein vollständiges Skript erhalten, das Sie überprüfen, versionieren und deployen können. Der Generator kümmert sich um die Flag-Reihenfolge, Multiport-Syntax, Connection Tracking, Interface-Spezifikation und automatische IPv4/IPv6-Erkennung -- all die Details, die selbst erfahrene Administratoren beim manuellen Schreiben von Regeln stolpern lassen.
So generieren Sie iptables-Regeln aus CSV
- Bereiten Sie Ihre Regeldaten im CSV-Format mit den Spalten vor: Chain, Quelle, Ziel, Protokoll, Port(s) und Aktion.
- Fügen Sie die CSV-Daten in den Generator ein oder laden Sie sie hoch.
- Der Generator parst jede Zeile und erzeugt einen vollständigen
iptables-Befehl mit korrekten Flags. - Überprüfen Sie die Ausgabebefehle -- IPv4-Regeln verwenden automatisch
iptablesund IPv6-Regelnip6tables. - Kopieren Sie die Befehle zur direkten Ausführung oder exportieren Sie sie als Shell-Skript.
CSV-Eingabeformat und generierte Befehle
CSV-Eingabe
chain,source,destination,protocol,port,action
INPUT,203.0.113.0/24,,tcp,22,DROP
INPUT,10.0.0.0/8,,tcp,443,ACCEPT
OUTPUT,,198.51.100.10,tcp,3306,ACCEPT
INPUT,,,tcp,80,ACCEPT
FORWARD,192.168.1.0/24,10.0.0.0/8,tcp,8080,ACCEPT
INPUT,,,icmp,,DROP
Generierte Ausgabe
iptables -A INPUT -s 203.0.113.0/24 -p tcp --dport 22 -j DROP
iptables -A INPUT -s 10.0.0.0/8 -p tcp --dport 443 -j ACCEPT
iptables -A OUTPUT -d 198.51.100.10 -p tcp --dport 3306 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -s 192.168.1.0/24 -d 10.0.0.0/8 -p tcp --dport 8080 -j ACCEPT
iptables -A INPUT -p icmp -j DROP
Erweiterte Funktionen
| CSV-Feld | iptables-Flag | Beispiel |
|---|---|---|
| Portbereich | --dport | 8000:8080 erzeugt --dport 8000:8080 |
| Mehrere Ports | -m multiport --dports | 80,443,8080 erzeugt -m multiport --dports 80,443,8080 |
| Quellport | --sport | Separate Spalte für die Quellport-Spezifikation |
| Connection Tracking | -m state --state | ESTABLISHED,RELATED für zustandsbehaftete Regeln |
| Interface | -i / -o | eth0 erzeugt -i eth0 für die INPUT-Chain |
| Logging | -j LOG --log-prefix | "SSH-BLOCK: " erzeugt -j LOG --log-prefix "SSH-BLOCK: " |
Wann Sie den iptables Rule Generator verwenden sollten
- Server-Härtung -- Ein vollständiges Firewall-Regelwerk aus einer Sicherheitsanforderungs-Tabelle bei der Ersteinrichtung des Servers erstellen.
- Incident Response -- Schnell Blockierungsregeln für Angreifer-IPs generieren, die während eines aktiven Vorfalls gesammelt wurden.
- Plattform-Migration -- Firewall-Regeln von Windows Firewall, AWS Security Groups oder anderen Plattformen in iptables-Syntax konvertieren.
- Automatisierungsskripte -- Firewall-Setup-Skripte für Ansible, Puppet oder shell-basierte Bereitstellungs-Workflows generieren.
- iptables erlernen -- Die Beziehung zwischen CSV-Spezifikationen und generierten Befehlen studieren, um die iptables-Syntax zu verstehen.
So funktioniert die iptables-Regelsyntax
Befehlsstruktur
Jeder iptables-Befehl folgt diesem Muster:
iptables -A <CHAIN> [-s Quelle] [-d Ziel] -p <Protokoll> [--dport Port] -j <AKTION>
-Ahängt die Regel an die angegebene Chain an-sund-dgeben Quell- und Zieladressen in CIDR-Notation an-psetzt das Protokoll (tcp,udp,icmp)--dportsetzt den Zielport (erfordert-p tcpoder-p udp)-jsetzt die Zielaktion
Chain-Typen
| Chain | Richtung | Anwendungsfall |
|---|---|---|
INPUT | Eingehend zu diesem Host | Schutz von Diensten, die auf diesem Server laufen |
OUTPUT | Ausgehend von diesem Host | Kontrolle, wohin sich dieser Server verbinden kann |
FORWARD | Durch diesen Host hindurch | Routing-/NAT-Szenarien, Firewall-Appliances |
IPv4 vs. IPv6
Wenn der Generator eine IPv6-Adresse erkennt (z. B. 2001:db8::/32), erzeugt er ip6tables-Befehle anstelle von iptables:
ip6tables -A INPUT -s 2001:db8::/32 -p tcp --dport 443 -j ACCEPT
Praktische Ratschläge für die iptables-Konfiguration
Das Wichtigste, was Sie über iptables verstehen müssen, ist die Regelreihenfolge. Regeln in einer Chain werden von oben nach unten ausgewertet, und die erste übereinstimmende Regel gewinnt. Wenn Sie eine breite ACCEPT-Regel vor einer spezifischen DROP-Regel platzieren, wird die DROP-Regel nie ausgelöst. Dies ist besonders wichtig für die INPUT-Chain: Setzen Sie immer zuerst Ihre spezifischen Erlaubnisregeln, dann Ihre spezifischen Verweigerungsregeln und schließen Sie mit einer Standard-Verweigerung ab (iptables -A INPUT -j DROP). Der Generator bewahrt die Reihenfolge Ihrer CSV-Zeilen, ordnen Sie Ihre Tabelle also entsprechend an.
Der zweithäufigste Fehler ist das Nicht-Speichern der Regeln für die Persistenz. Standardmäßig existieren iptables-Regeln im Kernel-Speicher und verschwinden beim Neustart. Unter Debian/Ubuntu verwenden Sie iptables-save > /etc/iptables/rules.v4 und installieren das Paket iptables-persistent. Unter RHEL/CentOS verwenden Sie service iptables save. Wenn Sie diesen Schritt überspringen, startet Ihr Server nach einem Neustart ohne Firewall -- ein kritisches Sicherheitsfenster, das in der Praxis bereits zu echten Sicherheitsvorfällen geführt hat.
Beim Erstellen einer vollständigen Firewall-Konfiguration sollten Sie immer zustandsbehaftete Regeln am Anfang Ihrer INPUT- und OUTPUT-Chains einbinden. Eine Regel wie iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT erlaubt Rückverkehr für Verbindungen, die Ihr Server initiiert hat. Ohne diese Regel würden ausgehende Verbindungen (Paketaktualisierungen, DNS-Abfragen, API-Aufrufe) fehlschlagen. Ohne diese Regel bräuchten Sie explizite Regeln für jeden Rückweg, was unpraktisch ist. Platzieren Sie diese Regel als erste in der INPUT-Chain für beste Leistung, da die Mehrheit der Pakete auf einem aktiven Server zu bestehenden Verbindungen gehört.
Häufig gestellte Fragen
Was ist der Unterschied zwischen DROP und REJECT?
DROP verwirft das Paket stillschweigend ohne Antwort -- die Verbindung des Senders läuft ab. REJECT sendet eine ICMP-"Port Unreachable"- oder TCP-RST-Nachricht zurück, die den Sender sofort informiert. DROP ist häufiger für nach außen gerichtete Regeln; REJECT ist hilfreicher in internen Netzwerken, wo ein schnelles Fehlschlagen bevorzugt wird.
Wie wende ich die generierten Regeln an?
Kopieren Sie die Befehle und führen Sie sie direkt in einer Root-Shell aus, oder speichern Sie sie als Skript und führen Sie es aus. Regeln werden sofort wirksam, gehen aber beim Neustart verloren. Verwenden Sie iptables-save > /etc/iptables/rules.v4, um Regeln unter Debian/Ubuntu über Neustarts hinweg zu persistieren, oder service iptables save unter RHEL/CentOS.
Kann der Generator Regeln für benutzerdefinierte Chains erstellen?
Ja. Geben Sie einen benutzerdefinierten Chain-Namen in der Chain-Spalte ein (z. B. LOGGING oder SSH-RULES). Der Generator erzeugt den -A CUSTOMCHAIN-Befehl, aber Sie müssen die Chain vorher separat mit iptables -N CUSTOMCHAIN erstellen, bevor Sie die Regeln anwenden.
Sollte ich iptables oder nftables für neue Deployments verwenden? Für neue Deployments auf modernen Distributionen (Debian 10+, RHEL 8+, Ubuntu 20.04+) wird nftables empfohlen. Es bietet eine sauberere Syntax, bessere Leistung und atomares Laden von Regelwerken. Verwenden Sie den nftables Rule Generator für diese Systeme. Für bestehende Systeme, die bereits iptables verwenden, oder für Kompatibilität mit älterer Automatisierung, bleibt iptables eine solide Wahl.
Wie lösche ich alle bestehenden Regeln, bevor ich neue anwende?
Verwenden Sie iptables -F, um alle Regeln in allen Chains zu löschen, und iptables -X, um benutzerdefinierte Chains zu entfernen. Vorsicht: Wenn Sie Regeln auf einem Remote-Server löschen, ohne vorher die Standard-Policy auf ACCEPT zu setzen, sperren Sie sich aus. Führen Sie immer iptables -P INPUT ACCEPT vor dem Löschen aus.
Kann ich Regeln mit Kommentaren generieren?
Ja. iptables unterstützt die Syntax -m comment --comment "Beschreibung", um menschenlesbare Kommentare zu Regeln hinzuzufügen. Wenn Ihr CSV eine Beschreibungsspalte enthält, kann der Generator diese als Kommentar in jede Regel einbetten.
Verwandte Tools
- nftables Rule Generator - nftables-Regeln aus CSV für moderne Linux-Distributionen generieren
- Allowlist Builder - Minimale CIDR-Allowlist aus IP-Liste erstellen
- Blocklist Builder - Minimale CIDR-Blocklist aus IP-Liste erstellen
- AWS Security Group Rule Generator - AWS Security Group-Regeln aus CSV generieren
- Rule Conflict Finder - Doppelte, verdeckte oder überlappende Firewall-Regeln finden