GNU/Linux >> Belajar Linux >  >> Linux

cara terbaik untuk menghapus semua aturan iptables

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

Linux
  1. Praktik terbaik untuk konfigurasi aturan firewall

  2. IPTables Flush:Hapus / Hapus Semua Aturan Di RedHat dan CentOS Linux

  3. CentOS / RHEL 6:Cara Menyimpan Aturan iptables

  1. Tolak semua koneksi masuk dengan iptables?

  2. Bagaimana cara membuat aturan iptables kedaluwarsa?

  3. Cara terbaik untuk menonaktifkan swap di Linux

  1. Cara Menambahkan Aturan iptables Khusus di CSF Firewall

  2. Cara Terbaik Untuk Memasang Folder Jarak Jauh?

  3. Cara Terbaik Untuk Membatalkan Semua Pekerjaan Slurm Dari Keluaran Perintah Shell?