Saya tidak mengklaim sebagai ahli dengan iptables
aturan, tetapi perintah pertama menggunakan ekstensi pelacakan koneksi ( conntrack
) sementara yang kedua adalah menggunakan state
ekstensi.
Titik data # 1
Menurut dokumen ini dengan conntrack
ekstensi digantikan state
.
Obsolete extensions:
• -m state: replaced by -m conntrack
Titik data # 2
Meski begitu saya menemukan T&J SF ini berjudul: Pertanyaan Firewall tentang status dan kebijakan? di mana OP mengklaim telah mengajukan pertanyaan ini pada IRC di # iptables @ freenode. Setelah mendiskusikannya di sana ia sampai pada kesimpulan bahwa:
Secara teknis pertandingan conntrack menggantikan - dan begitu usang - pertandingan negara. Namun secara praktis pertandingan negara tidak usang dengan cara apa pun.
Titik data # 3
Terakhir saya menemukan Tanya Jawab SF berjudul: Iptables, apa perbedaan antara -m state dan -m conntrack? . Jawaban dari pertanyaan ini mungkin merupakan bukti dan saran terbaik tentang cara melihat penggunaan conntrack
dan state
.
kutipan
Keduanya menggunakan internal kernel yang sama di bawahnya (subsistem pelacakan koneksi).
Header xt_conntrack.c:
xt_conntrack - Netfilter module to match connection tracking
information. (Superset of Rusty's minimalistic state match.)
Jadi saya akan mengatakan - modul negara lebih sederhana (dan mungkin lebih sedikit kesalahan rawan). Ini juga lebih lama di kernel. Conntrack di sisi lain memiliki lebih banyak opsi dan fitur [1] .
Panggilan saya adalah menggunakan conntrack jika Anda membutuhkan fitur-fiturnya, jika tidak tetap dengan modul negara.
[1] Cukup bermanfaat seperti "-m conntrack --ctstate DNAT -j MASQUERADE"
perutean / perbaikan DNAT ;-)
Titik data # 4
Saya menemukan utas ini dari diskusi netfilter@vger.kernel.org netfilte / iptables, berjudul: state match sudah usang 1.4.17 , yang cukup banyak mengatakan bahwa state
itu hanyalah alias conntrack
sehingga tidak terlalu penting yang Anda gunakan, di kedua keadaan yang Anda gunakan conntrack
.
kutipan
Sebenarnya saya harus setuju. Mengapa kita tidak menyimpan "state" sebagai alias dan menerima sintaks lama di "conntrack"?
state saat ini alias dan diterjemahkan ke conntrack di iptables jika kernel memilikinya. Tidak ada skrip yang rusak.
Jika aliasing dilakukan di userspace, bagian kernel dapat dihapus - suatu hari nanti mungkin.
Aliasing sudah dilakukan di userspace. Satu jenis di "state" dan itu dikonversi menjadi "conntrack" dan yang kemudian dikirim ke kernel. (Jadi sejauh yang saya lihat apakah ipt_state, dll alias modul ditambahkan ke modul conntrack, bahkan modul state kernel dapat dihapus.)
Referensi