iptables
Kurallar konusunda uzman olduğumu iddia etmiyorum, ancak ilk komut bağlantı izleme uzantısını ( conntrack
) kullanıyor, ikincisi ise state
uzantıyı kullanıyor.
Veri noktası # 1
Göre bu belgeninconntrack
uzantısı yerini state
.
Obsolete extensions:
• -m state: replaced by -m conntrack
Veri noktası # 2
Öyle olsa bile, bu SSS Soru ve Cevaplarını başlıklı buldum: Güvenlik duvarı devlet ve politika hakkında sorular? OP'nin IRC'de # iptables @ freenode'deki bu soruyu sorduğunu iddia ettiği yer. Orada tartıştıktan sonra şöyle sonuçlandı:
Teknik olarak, conntrack maçı, devlet eşleşmesinin yerini alır - ve böylece eskidir -. Fakat pratikte devlet eşleşmesi hiçbir şekilde eskimiş değildir.
Veri noktası # 3
Son olarak şu SF Q&A başlıklı parçayı buldum : Iptables, -m state ve -m conntrack arasındaki fark nedir? . Bu sorunun cevabı muhtemelen kullanımını görmek için nasıl en iyi kanıt ve tavsiyem conntrack
ve state
.
alıntı
Her ikisi de altında aynı çekirdek dahili kullanır (bağlantı izleme alt sistemi).
Xt_conntrack.c üstbilgisi:
xt_conntrack - Netfilter module to match connection tracking
information. (Superset of Rusty's minimalistic state match.)
Yani diyebilirim ki - durum modülü daha basittir (ve belki de daha az hataya eğilimlidir). Aynı zamanda çekirdekte daha uzun. Diğer taraftaki conntrack daha fazla seçenek ve özelliğe sahiptir [1] .
Benim çağrım, özelliklerine ihtiyacınız varsa, conntrack kullanmak, aksi halde durum modülünü kullanmak.
[1]"-m conntrack --ctstate DNAT -j MASQUERADE"
Yönlendirme / DNAT düzeltme ;-) gibi oldukça kullanışlıdır
Veri noktası # 4
Ben netfilter@vger.kernel.org netfilte gelen Konuyu buldum / iptables tartışmalar, başlıklı: devlet maçı eskimiş 1.4.17 olduğunu hemen hemen söylüyor, state
sadece bir takma addır conntrack
yani gerçekten olursa olsun içinde, kullanmaz her iki durumda da kullanıyorsun conntrack
.
alıntı
Aslında aynı fikirdeyim. Neden "devlet" i takma ad olarak tutmuyoruz ve eski sözdizimini "conntrack" de kabul etmiyoruz?
durum şu anda takma ad ve çekirdek varsa, iptables içinde conntrack'e çevrilir. Hiçbir komut dosyası bozuk değil.
Takma kullanıcı alanında yapılırsa, çekirdek kısmı kaldırılabilir - bir gün belki.
Takma ad zaten kullanıcı alanında yapıldı. Bir "devlet" türünde "conntrack" e çevrilir ve bu daha sonra çekirdeğe gönderilir. (İpt_state, etc modül takma adlarının conntrack modülüne eklenip eklenmediğini görebildiğim kadarıyla durum çekirdeği modülü bile kaldırılabilir.)
Referanslar