iptables-Generator

iptables-Generator: iptables-Regeln für eine Linux-Firewall zusammenklicken, mit SSH-Schutz, Diensten, ip6tables, NAT und Portweiterleitung.

Freigaben (Regeltabelle)

NAT und Portweiterleitung

iptables-Skript

    Alles läuft in Ihrem Browser. Eingaben verlassen Ihr Gerät nicht.

    So entsteht das Firewall-Skript

    Der iptables-Generator erstellt aus wenigen Angaben ein Skript für eine einfache Linux-Firewall: eingehend alles sperren, was nicht ausdrücklich erlaubt ist, bestehende Verbindungen und Loopback zulassen, SSH optional mit Ratenbegrenzung über das Modul recent, dazu Ihre Dienste aus der Regeltabelle. Mehrere Ports pro Zeile wie 80,443 werden mit -m multiport zusammengefasst, Bereiche wie 6000:6010 direkt übernommen. Wer iptables-Regeln erstellen will, ohne jede Option nachzuschlagen, bekommt so einen lesbaren Ausgangspunkt.

    Für IPv6 gibt es ein eigenes Regelwerk mit ip6tables. Wichtig: ICMPv6 darf dort nicht pauschal gesperrt werden, weil Nachbarerkennung und Path-MTU-Discovery davon abhängen; der Generator erlaubt die nötigen Typen. Unter „NAT und Portweiterleitung“ entsteht bei Bedarf iptables NAT mit MASQUERADE für ein internes Netz sowie eine Portweiterleitung mit iptables per DNAT samt passender FORWARD-Regel. Dafür muss IP-Forwarding mit sysctl -w net.ipv4.ip_forward=1 aktiv sein.

    Testen Sie neue Regeln nie ohne Rückweg: Halten Sie eine zweite SSH-Sitzung offen oder planen Sie mit at now + 5 minutes ein Zurücksetzen ein. Viele aktuelle Distributionen nutzen intern nftables; dort ist iptables oft ein Kompatibilitätsbefehl. Eine native Konfiguration erzeugt der nftables-Generator, für Ubuntu ist der UFW-Regeln-Generator oft bequemer.

    Anleitung: iptables-Generator in 4 Schritten

    1. Wählen Sie die Standardrichtlinie für eingehende Verbindungen und ob Loopback, bestehende Verbindungen und Ping erlaubt sind.
    2. Tragen Sie in der Regeltabelle die Dienste ein: Aktion, Port, Protokoll, Quelle und Kommentar; mit „Regel hinzufügen“ kommen weitere Zeilen dazu.
    3. Aktivieren Sie bei Bedarf NAT (Masquerade) mit dem Ausgangs-Interface und eine Portweiterleitung (DNAT).
    4. Kopieren Sie das Skript oder laden Sie es herunter und testen Sie es zuerst mit einer offenen zweiten SSH-Sitzung.

    Typische Anwendungsfälle

    • Ein frischer VPS soll nur SSH, HTTP und HTTPS annehmen und alles andere verwerfen.
    • Ein Linux-Router teilt die Internetverbindung per Masquerade mit einem internen Netz.
    • Ein Port des Routers wird per DNAT an einen Webserver im internen Netz weitergeleitet.
    • Eine bestehende iptables-Konfiguration wird als Vorlage für die Übertragung nach nftables dokumentiert.
    Fragen

    Häufige Fragen

    Sperre ich mich mit DROP als Standardrichtlinie aus?

    Nur wenn die SSH-Regel fehlt oder falsch ist. Das Skript setzt die Erlauben-Regeln vor die Richtlinie. Testen Sie trotzdem mit offener zweiter Sitzung oder über eine Konsole des Hosters.

    Wie funktioniert die SSH-Ratenbegrenzung?

    Das Modul recent merkt sich die Quell-IP neuer SSH-Verbindungen. Wer innerhalb von 60 Sekunden mehr als die eingestellte Zahl neuer Verbindungen aufbaut, wird verworfen. Für ausgefeilteren Schutz eignet sich zusätzlich fail2ban.

    Warum braucht DNAT auch eine FORWARD-Regel?

    DNAT ändert nur die Zieladresse in der Kette PREROUTING. Das Paket durchläuft danach die FORWARD-Kette, und wenn dort die Richtlinie DROP gilt, muss die Weiterleitung ausdrücklich erlaubt werden.

    Was bedeutet ESTABLISHED,RELATED?

    Die Regel erlaubt Pakete, die zu einer bereits erlaubten Verbindung gehören, etwa Antworten auf Ihre ausgehenden Anfragen. Ohne sie funktionieren auch DNS und Updates nach einer DROP-Richtlinie nicht mehr.

    Wie mache ich iptables-Regeln nach einem Neustart dauerhaft?

    Auf Debian und Ubuntu mit dem Paket iptables-persistent: iptables-save > /etc/iptables/rules.v4 und ip6tables-save > /etc/iptables/rules.v6. Auf RHEL-Systemen speichert der Dienst iptables-services nach /etc/sysconfig/iptables.

    Was ist der Unterschied zwischen DROP und REJECT?

    DROP verwirft Pakete still, der Absender wartet bis zum Timeout. REJECT antwortet mit einer Fehlermeldung, etwa ICMP port-unreachable oder einem TCP-Reset, und der Absender erfährt sofort, dass der Port gesperrt ist.

    Weitere Werkzeuge

    Das könnte auch helfen

    Alle 558 Werkzeuge