Solusi 1:
Untuk menjawab pertanyaan Anda secara singkat, tidak:tidak akan ada aturan "sisa" setelah membersihkan setiap meja. Namun untuk kepentingan menyeluruh, Anda mungkin ingin menyetel kebijakan untuk INPUT
bawaan dan FORWARD
rantai ke ACCEPT
, juga:
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -t nat -F
iptables -t mangle -F
iptables -F
iptables -X
Hapus aturan ip6tables:
ip6tables -P INPUT ACCEPT
ip6tables -P FORWARD ACCEPT
ip6tables -P OUTPUT ACCEPT
ip6tables -t nat -F
ip6tables -t mangle -F
ip6tables -F
ip6tables -X
... dan yang harus melakukannya. iptables -nvL
harus menghasilkan ini (atau sangat serupa) keluaran:
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
Solusi 2:
Ini akan benar-benar mengatur ulang sistem iptables Anda ke keadaan yang sangat dasar:
iptables-save | awk '/^[*]/ { print $1 }
/^:[A-Z]+ [^-]/ { print $1 " ACCEPT" ; }
/COMMIT/ { print $0; }' | iptables-restore
Semua kebijakan akan disetel ulang ke MENERIMA serta menghapus setiap tabel yang digunakan saat ini. Semua rantai selain rantai bawaan tidak akan ada lagi.
Solusi 3:
Setiap kali saya membutuhkan firewall dinonaktifkan adalah seperti ini:
iptables-save > iptables.bak
service iptables stop
(saya menggunakan fedora)
Solusi 4:
Anda cukup membongkar iptables
' modul dari kernel:
modprobe -r iptable_raw iptable_mangle iptable_security iptable_nat iptable_filter
UPD Sayangnya, terlalu bagus untuk menjadi kenyataan. Selama ada aturan atau rantai yang ditentukan pengguna dalam sebuah tabel, jumlah referensi modul terkait adalah 1, dan modprobe -r
gagal. Anda dapat menghapus aturan dan rantai yang ditentukan pengguna seperti:
echo $'*raw\nCOMMIT\n*mangle\nCOMMIT\n*security\nCOMMIT\n*nat\nCOMMIT\n*filter\nCOMMIT' | iptables-restore
atau:
iptables-save | awk '/^[*]/ { print $1 "\nCOMMIT" }' | iptables-restore
Selain itu, Anda mungkin ingin membongkar modul dengan cara ini (tanpa nama modul hardcoding):
lsmod | egrep ^iptable_ | awk '{print $1}' | xargs -rd\\n modprobe -r
Sisi baiknya, setelah iptables-save
ini menghasilkan keluaran kosong yang bagus :)
Solusi 5:
Cadangkan konfigurasi ke iptables_backup.conf dan bersihkan semua aturan.
iptables-save | tee iptables_backup.conf | grep -v '\-A' | iptables-restore
Untuk memulihkan konfigurasi sebelumnya:
iptables-restore < iptables_backup.conf