Perbedaan antara opsi iptables -A dan -I


20

Saya telah mencoba (berjam-jam) untuk mengkonfigurasi iptables untuk memungkinkan permintaan DNS ke server DNS saya dan baru saja mengetahui bahwa iptables saya terus memblokir akses karena aturan menambahkan opsi yang telah saya gunakan. Sebagian besar forum menyarankan aturan yang mirip dengan yang berikut:

iptables -A INPUT -p udp -m udp --dport 53 -j ACCEPT

Namun, dalam kasus saya, saya harus mengubah aturan menjadi inserttipe agar bisa berfungsi:

iptables -I INPUT -p udp -m udp --dport 53 -j ACCEPT

Saya tahu bahwa satu aturan adalah untuk menambahkan dan yang lainnya untuk memasukkan dan juga apa arti kedua istilah, tetapi bisakah seseorang tolong jelaskan perbedaan antara keduanya dan kapan harus menggunakan opsi yang mana? Saya mencari iptables Ubuntu caranya tetapi tidak melihat banyak info di sana.

Jawaban:


24

iptables -Amenambahkan aturan di akhir aturan sementara iptables -Imemasukkan aturan pada posisi tertentu di aturan seperti yang Anda tunjukkan.

Melihat entri pria untuk iptables menunjukkan ini:

-I, - masukkan rantai [aturan] spesifikasi-aturan Masukkan satu atau lebih aturan dalam rantai yang dipilih sebagai nomor aturan yang diberikan. Jadi, jika nomor aturan adalah 1, aturan atau aturan dimasukkan di bagian atas rantai. Ini juga merupakan standar jika tidak ada nomor aturan yang ditentukan.

Dan inilah alasan mengapa itu -Ibekerja untuk Anda dan -Atidak. Jika Anda tidak memberikan aturan apa pun, aturan Anda dimasukkan di posisi paling pertama. Itu berarti dalam kasus Anda, bahwa di suatu tempat di dalam aturan Anda harus ada aturan yang melarang paket DNS (mungkin aturan yang melarang UDP secara umum?) Karena iptables memproses semua aturan dari yang pertama hingga yang terakhir, menerapkan pencocokan dan penghentian pertama.
Btw, itu juga alasan mengapa Anda harus meletakkan aturan yang dimaksudkan untuk mencocokkan sebagian besar paket di atas: jika Anda meletakkan aturan yang paling banyak digunakan di dan, paket diperiksa terhadap setiap aturan yang mungkin mengkonsumsi banyak sumber daya.

Dan untuk penggunaan: Anda dapat menggunakan secara hemat -Asaat Anda ingin menambahkan aturan di akhir atau ketika tidak masalah di mana aturan Anda akan berada. Jika Anda ingin aturan Anda pada posisi tertentu, gunakan -Iseperti ini misalnya: iptables -I INPUT 6 -p tcp -j DROP(ini akan menambahkan pernyataan DROP untuk semua paket tcp yang ditujukan ke host itu sendiri pada posisi 6 di aturan INPUT.)

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.