Iptables überprüfen die Skriptsyntax

11

Gibt es eine Möglichkeit, die Syntax eines iptables-Regelskripts zu testen / zu überprüfen, ohne die tatsächliche Firewall-Konfiguration zu ändern (ich denke, das Hinzufügen und Löschen jeder Regel ist nicht der beste Weg ...).

Ich kenne die Option -C, aber sie überprüft keine Optionen wie Ketten und ist mit ihren Rückkehrcodes etwas knifflig, da 1 nicht immer bedeutet, dass die Syntax korrekt ist.

Danke!

Dav Rax
quelle

Antworten:

9

Wie von diegows vorgeschlagen, können Sie iptables-restore verwenden. Sie können es jedoch mit dem Flag --test verwenden, um nur die Konfiguration zu testen, anstatt sie als Teil einer tatsächlichen Installation zu testen.

iptables-restore --test [YOUR RULES AS A FILE]
ChrisW
quelle
Dies scheint nicht immer gut zu funktionieren. Ich arbeite derzeit an einer iptables-Datei, die bei der tatsächlichen Installation fehlschlägt (iptables-restore <iptables-new), aber mit der Option --test werden keine Fehler generiert. Ich würde es posten, aber es ist lang. m15440 @ NDC01P04CU2PNGA sysconfig # iptables-restore --test <iptables-new m15440 @ NDC01P04CU2PNGA sysconfig # iptables-restore <iptables-neue iptables-restore: Linie 217 fehlgeschlagen m15440 @ NDC01P04CU2PNGA sysconfig #
PatrickTaylor
1

Verwenden Sie iptables-save / iptables-restore. Meiner Meinung nach ist die Verwendung von Skripten eine schlechte Idee. Schreiben Sie Ihre ersten Regeln über die Befehlszeile, speichern Sie sie mit "iptables-save> file" und bearbeiten Sie diese Datei weiter. "iptables-restore <file" wird verwendet, um die Regeln anzuwenden. Dieser Befehl überprüft die Syntax und wendet die Regeln nicht an, wenn ein Fehler auftritt.

Diego Woitasen
quelle
1
Wenn ich mit iptables auf einem Remote-Computer spiele, habe ich außerdem einen Cron-Job eingerichtet, der alle 5 oder 10 Minuten ausgeführt wird und der den Standardstatus "Alle zulassen" von iptables wiederherstellt. Wenn ich mich also selbst aussperre, werde ich wieder einsteigen innerhalb von 5 bis 10 Minuten.
Denken