Lösung 1:
Um Ihre Frage kurz und bündig zu beantworten, nein:Es gäbe keine "übrig gebliebenen" Regeln, nachdem jeder Tisch geleert wurde. Aus Gründen der Gründlichkeit sollten Sie jedoch die Richtlinie für den integrierten INPUT
festlegen und FORWARD
Ketten bis ACCEPT
, auch:
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -t nat -F
iptables -t mangle -F
iptables -F
iptables -X
ip6tables-Regeln löschen:
ip6tables -P INPUT ACCEPT
ip6tables -P FORWARD ACCEPT
ip6tables -P OUTPUT ACCEPT
ip6tables -t nat -F
ip6tables -t mangle -F
ip6tables -F
ip6tables -X
...und damit sollte es gehen. iptables -nvL
sollte dies erzeugen (oder sehr ähnlich) Ausgabe:
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Lösung 2:
Dadurch wird Ihr iptables-System vollständig auf einen sehr einfachen Zustand zurückgesetzt:
iptables-save | awk '/^[*]/ { print $1 }
/^:[A-Z]+ [^-]/ { print $1 " ACCEPT" ; }
/COMMIT/ { print $0; }' | iptables-restore
Alle Richtlinien werden auf ACCEPT zurückgesetzt und alle derzeit verwendeten Tabellen geleert. Alle Chains außer den eingebauten Chains werden nicht mehr existieren.
Lösung 3:
Wann immer ich die Firewall deaktivieren muss, sieht es so aus:
iptables-save > iptables.bak
service iptables stop
(ich bin auf Fedora)
Lösung 4:
Sie können einfach iptables
entladen ' Module aus dem Kernel:
modprobe -r iptable_raw iptable_mangle iptable_security iptable_nat iptable_filter
UPD Leider zu schön um wahr zu sein. Solange es eine Regel oder eine benutzerdefinierte Kette in einer Tabelle gibt, ist der Verweiszähler des entsprechenden Moduls 1 und modprobe -r
scheitert. Sie können Regeln und benutzerdefinierte Ketten wie folgt löschen:
echo $'*raw\nCOMMIT\n*mangle\nCOMMIT\n*security\nCOMMIT\n*nat\nCOMMIT\n*filter\nCOMMIT' | iptables-restore
oder:
iptables-save | awk '/^[*]/ { print $1 "\nCOMMIT" }' | iptables-restore
Außerdem möchten Sie vielleicht Module auf diese Weise entladen (keine hartkodierten Modulnamen):
lsmod | egrep ^iptable_ | awk '{print $1}' | xargs -rd\\n modprobe -r
Auf der positiven Seite, nach diesem iptables-save
erzeugt eine schöne leere Ausgabe :)
Lösung 5:
Sichert die Konfiguration in iptables_backup.conf und bereinigt alle Regeln.
iptables-save | tee iptables_backup.conf | grep -v '\-A' | iptables-restore
So stellen Sie die vorherige Konfiguration wieder her:
iptables-restore < iptables_backup.conf