Ich finde es mühsam, die Iptable-Regel vollständig zu rekonstruieren, wenn ich sie löschen möchte. Instaed Ich liste die Regeln mit Zeilennummern auf und lösche dann nach Nummer. Beispielsweise:
iptables -t nat -L --line-numbers
Gibt eine Ausgabe wie:
Chain PREROUTING (policy ACCEPT)
num target prot opt source destination
1 REDIRECT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 redir ports 8020
Dann nach Nummer löschen:
iptables -t nat -D PREROUTING 1
Vorsichtsmaßnahme: Wenn Sie eine Zeile löschen, erhalten alle nachfolgenden Zeilen eine neue Zeilennummer. Zum Beispiel, wenn Sie Regeln hatten wie:
1 rule A
2 rule B
3 rule C
und Sie löschen Regel 2, dann erhalten Sie:
1 rule A
2 rule C
Ich frage mich, ob die Verwendung von vim eine Option wäre
quelle
Mit diesem Code können Sie auch die gesamten Portweiterleitungsregeln löschen
quelle