iptables Firewall Generator

SICHERHEITS-TOOL

iptables Firewall Generator

Erstelle iptables-Regeln für Linux mit filter/nat/mangle-Tables, NAT, Port-Forwarding und Best Practices. Mit Live-Skript-Generierung.

iptables NAT Port-Forward filter/nat/mangle CLI-Befehle

Hinweis: Dieser Generator erstellt iptables-Regeln für Linux-Systeme. iptables ist das klassische Firewall-Tool unter Linux – für moderne Systeme wird oft nftables empfohlen. Teste Regeln immer in einer sicheren Umgebung!

Inhaltsverzeichnis

Schnellübersicht

  • Regel-Generator: filter/nat/mangle-Tables mit Chains
  • Match-Module: -s, -d, -p, --dport, -m state/conntrack
  • Jump-Targets: ACCEPT, DROP, REJECT, LOG, RETURN, DNAT, SNAT
  • NAT & Port-Forwarding: DNAT, SNAT, MASQUERADE
  • Live-Vorschau: Generierte CLI-Befehle
  • Beispiel-Setups: Webserver, Router, Docker-Host, NAT-Gateway
  • Theorie: Über iptables, Tables und Chains
  • FAQ: Häufige Fragen zu iptables

1. iptables Regel-Generator

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

Neue Regel hinzufügen
Welche Table?
Welche Chain?
Was tun?
Netzwerk-Protokoll
Source IP/Netzwerk
Destination IP/Netzwerk
--sport (nur tcp/udp)
--dport (nur tcp/udp)
Eingangs-Interface
Ausgangs-Interface
--comment
Schnell-Auswahl:
Aktive Regeln (0)
Die 4 iptables-Tables

filter (Standard)

Hauptsächlich genutzte Table für Paketfilterung.

Chains: INPUT, OUTPUT, FORWARD

nat

Network Address Translation (IP-Adressen umschreiben).

Chains: PREROUTING, OUTPUT, POSTROUTING

mangle

Spezialbehandlung von Paketen (TOS, TTL, MARK).

Chains: Alle 5 Chains

raw

Vor Conntrack-Tracking (NOTRACK).

Chains: PREROUTING, OUTPUT

Wichtige iptables-Befehle

Regeln anzeigen

iptables -L -n -v – Alle Regeln

iptables -t nat -L -n -v

iptables -L --line-numbers

Regeln speichern

iptables-save > /etc/iptables/rules.v4

iptables-restore < /etc/iptables/rules.v4

netfilter-persistent save

Regeln löschen

iptables -F – Alle Regeln löschen

iptables -D INPUT 3 – Regel 3 löschen

iptables -X – Eigene Chains löschen

IP-Forwarding aktivieren

sysctl -w net.ipv4.ip_forward=1

Dauerhaft: /etc/sysctl.conf

Nötig für Router/NAT

2. Theorie – iptables und Netfilter

Verstehe, wie iptables funktioniert und wie du sichere Regeln erstellst.

Was ist iptables?

iptables ist die klassische Firewall-Schnittstelle unter Linux:

  • Netfilter: Kernel-Modul im Linux-Kernel
  • Userspace: iptables als Steuerungs-Tool
  • Seit 2.4: Teil des Linux-Kernels
  • Ersetzt: Schrittweise durch nftables
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

Tables & Chains

iptables organisiert Regeln in Tables und Chains:

  • 4 Tables: filter, nat, mangle, raw
  • 5 Standard-Chains: INPUT, OUTPUT, FORWARD, PREROUTING, POSTROUTING
  • Priorität: raw → mangle → nat → filter
  • Bei Paket: Chain wird durchlaufen
iptables -t nat -A PREROUTING -j DNAT ...

Stateful Firewall

iptables ist stateful – es trackt Verbindungen:

  • conntrack: Trackt alle Verbindungen
  • NEW: Neue Verbindung
  • ESTABLISHED: Bestehende Verbindung
  • RELATED: Verwandte Verbindung (FTP, ICMP)
  • INVALID: Ungültiges Paket
-m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

Best Practices

  • Default-Policy: INPUT/FORWARD DROP
  • Loopback: Immer erlauben
  • ESTABLISHED: Vor neuen Regeln erlauben
  • SSH: Vor Aktivierung erlauben!
  • Logging: Am Ende DROP mit LOG
  • Persistenz: iptables-save / netfilter-persistent
-P INPUT DROP, -A INPUT -i lo -j ACCEPT
Wichtig: SSH nicht aussperren!
  • Erst SSH erlauben, dann DROP-Policy: iptables -A INPUT -p tcp --dport 22 -j ACCEPT
  • Remote-Server: Immer einen zweiten Zugang (Konsole, RDP) bereithalten.
  • Testen: iptables-apply mit Auto-Rollback nach 10s nutzen!
  • Persistenz: Regeln überleben keinen Reboot ohne Speichern.
  • Backup: iptables-save > /root/iptables-backup.rules

Wussten Sie schon?

iptables ist zwar noch Standard auf vielen Systemen, wird aber langfristig durch nftables ersetzt (seit Linux 3.13, 2014). nftables bietet bessere Performance, einfachere Syntax und native IPv4/IPv6-Unterstützung. Für neue Systeme empfiehlt sich daher nftables oder UFW (als Frontend).

3. Geschichte von iptables

Von ipfwadm über ipchains zu iptables und nftables.

1995

ipfwadm

Erstes Firewall-Tool für Linux 1.2. Es war einfach, aber limitiert – nur IPv4, keine Stateful Inspection, keine NAT-Unterstützung.

1998

ipchains

ipchains ersetzt ipfwadm in Linux 2.2. Es unterstützt mehrere Chains, aber noch kein Stateful Tracking. NAT ist über separate Module möglich.

2001

iptables

iptables wird in Linux 2.4 eingeführt. Es bietet Stateful Inspection, NAT, Tables und bessere Performance. Wird Standard für die nächsten 20 Jahre.

2008

UFW & firewalld

UFW (Ubuntu) und firewalld (Red Hat) erscheinen als vereinfachte Frontends für iptables. Sie machen Firewalls für Anfänger zugänglich.

2014

nftables (Linux 3.13)

nftables wird in den Kernel integriert. Es ersetzt iptables langfristig mit besserer Performance, einfacherer Syntax und native IPv4/IPv6-Unterstützung.

2018

iptables-nft

Eine Kompatibilitätsschicht (iptables-nft) wird Standard in Debian/Ubuntu. iptables-Befehle werden transparent auf nftables-Backend übersetzt.

Heute

iptables & nftables parallel

iptables ist weiterhin Standard in vielen Systemen. Neue Distributionen setzen aber auf nftables. Die Kompatibilitätsschicht erlaubt sanfte Migration.

4. FAQ – Häufige Fragen

Häufige Fragen zu iptables

Was ist der Unterschied zwischen iptables und nftables?
Merkmaliptablesnftables
Eingeführt2001 (Linux 2.4)2014 (Linux 3.13)
PerformanceGutBesser
IPv4/IPv6Getrennt (iptables/ip6tables)Nativ kombiniert
SyntaxKryptischModerner
Tabellen4 TablesEine (mit Family)
StatusLegacy (Kompat.)Standard

Empfehlung:

  • Bestehende Systeme: iptables beibehalten
  • Neue Systeme: nftables oder UFW
  • Migration: iptables-nft als Brücke
Was ist der Unterschied zwischen DROP und REJECT?
TargetVerhaltenAntwort
DROPPaket verwerfenKeine (Client wartet)
REJECTPaket ablehnenICMP "Port Unreachable"

Wann was nutzen?

  • DROP: Standard für externe Interfaces (Slow-Down für Scanner)
  • REJECT: Für interne Netze (Client bekommt sofort Feedback)

Wichtig: REJECT sollte nicht für alle Pakete genutzt werden – manche Clients senden ICMP-Fehler weiter.

Wie mache ich iptables-Regeln persistent?

Problem: iptables-Regeln überleben keinen Reboot.

Lösung 1: iptables-persistent (Debian/Ubuntu)

  • apt install iptables-persistent
  • netfilter-persistent save
  • Regeln werden in /etc/iptables/rules.v4 gespeichert

Lösung 2: iptables-save (alle Distros)

  • iptables-save > /etc/iptables/rules.v4
  • In /etc/rc.local oder systemd-Unit einbinden

Lösung 3: firewalld (Red Hat/CentOS)

  • Persistente Regeln über firewalld-Konfiguration
Wie funktioniert Stateful Inspection?

Stateful Inspection trackt Verbindungen mit conntrack:

  • NEW: Erste Paket einer Verbindung
  • ESTABLISHED: Verbindung aktiv
  • RELATED: Zugehörige Verbindung (z.B. FTP-Daten, ICMP)
  • INVALID: Ungültige Pakete

Typische Regel-Reihenfolge:

  • 1. ESTABLISHED,RELATED -j ACCEPT
  • 2. INVALID -j DROP
  • 3. Neue Verbindungen (spezifische Ports)
  • 4. -j DROP

Vorteil: Ausgehende Verbindungen erlauben automatisch die Rückrichtung.

Wie richte ich NAT/Port-Forwarding ein?

Port-Forwarding (DNAT): Leitet externe Anfragen an internen Host weiter.

  • 1. IP-Forwarding aktivieren: sysctl -w net.ipv4.ip_forward=1
  • 2. DNAT-Regel:

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.100:80

  • 3. FORWARD erlauben:

iptables -A FORWARD -p tcp -d 192.168.1.100 --dport 80 -j ACCEPT

  • 4. SNAT/Masquerade: Für Rückweg

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Wichtig: FORWARD-Policy muss auf ACCEPT oder passende Regeln gesetzt sein.

Was bedeutet die Regel-Reihenfolge?

First-Match: iptables prüft Regeln von oben nach unten. Die erste passende Regel gewinnt.

Wichtig:

  • -A: Append (am Ende anhängen)
  • -I: Insert (an Position einfügen)
  • -D: Delete (Regel löschen)

Beispiel (falsch):

  • iptables -A INPUT -j DROP
  • iptables -A INPUT -p tcp --dport 22 -j ACCEPT

SSH wird nie erreicht – DROP ist zuerst!

Richtig:

  • iptables -A INPUT -p tcp --dport 22 -j ACCEPT
  • iptables -A INPUT -j DROP

Regel einfügen: iptables -I INPUT 1 -p tcp --dport 22 -j ACCEPT

Wie teste ich iptables-Regeln sicher?

iptables-apply – Tool mit automatischem Rollback:

  • 1. Regeln in Datei speichern: iptables-save > /tmp/rules.v4
  • 2. Anwenden: iptables-apply /tmp/rules.v4
  • 3. Bestätigung: Nach 10 Sekunden Bestätigung nötig
  • 4. Bei Timeout: Automatischer Rollback zu alten Regeln

Manuell:

  • at/cron: Rollback-Job einrichten
  • Screen/Tmux: Bei SSH-Sitzung
  • Provider-Konsole: Fallback-Zugang

Best Practice: Regeln immer zuerst anhängen (-A), nicht sofort einfügen (-I).

Was ist die beste Default-Policy?

Empfohlen:

  • INPUT: DROP (alles blockieren, was nicht erlaubt)
  • OUTPUT: ACCEPT (ausgehende Verbindungen erlauben)
  • FORWARD: DROP (kein Routing ohne explizite Regeln)

Warum OUTPUT auf ACCEPT?

  • Ausgehende Regeln sind schwer zu pflegen
  • Malware kann trotzdem exfiltrieren (via DNS, HTTP)
  • Nur bei hohen Sicherheitsanforderungen auf DROP setzen

Wichtig: Loopback immer erlauben!

iptables -A INPUT -i lo -j ACCEPT

Zusammenfassung

Die wichtigsten Punkte

  • iptables: Klassische Firewall für Linux (Netfilter)
  • 4 Tables: filter, nat, mangle, raw
  • 5 Chains: INPUT, OUTPUT, FORWARD, PREROUTING, POSTROUTING
  • Stateful: conntrack mit NEW, ESTABLISHED, RELATED
  • Default-Policy: INPUT DROP, FORWARD DROP
  • SSH: Immer vor DROP-Policy erlauben!
  • NAT: DNAT (Port-Forward), SNAT, MASQUERADE
  • Persistenz: iptables-save / iptables-persistent
  • Sicher testen: iptables-apply mit Rollback
  • Unser Tool: iptables-Generator mit Live-Vorschau

Weitere Tools

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
VLAN ID Calculator

VLAN-IDs nach IEEE 802.1Q berechnen und prüfen.

Zum Tool