Her iki güvenlik duvarı da iletilen VPN trafiğini süzebilir ve kuralları paket yoluna farklı biçimlerde bağlar. iptables'ta bir tablonun içinde yerleşik zincirler vardır, bu yüzden FORWARD adlandırılmış bir kanca noktası olarak bulunur. nftables ise zincirin adını türünden, kancasından ve önceliğinden ayırır; bu, FORWARD adlı sıradan bir zincirin hiçbir şeyi süzmediği anlamına gelir. İki modelin karşılaştırılması, bir araçta doğru görünen bir girdinin diğerinde neden etkisiz kaldığını açıklar.

Zincir bir kaptır. Çekirdeğin ona bakıp bakmaması uygulamaya ve kural kümesinin onu nasıl bağladığına bağlıdır.

İki model, iki farklı bağlama

iptables'ta filter tablosu üç yerleşik zincirle gelir: INPUT, FORWARD ve OUTPUT; -N ise yalnızca bunlardan birinden üzerine atlandığında etkili olan kullanıcı tanımlı bir zincir oluşturur. nftables kılavuzu bunun yerine türünü, kancasını ve önceliğini bildiren temel zincirleri ve bunları bildirmeyen sıradan zincirleri tanımlar. Bir temel zincir herhangi bir ad taşıyabilir ve FORWARD adlı sıradan bir zincir etiketinden hiçbir özellik kazanmaz. Bütün fark budur ve yalnızca kural metnini gösteren bir eğitimde görünmez.

Uyumluluk arka uçları, davranışı bir komut adından çıkarsamamak için ikinci bir neden ekler. iptables belgeleri iptables-nft altında farklılaşan işlemleri belirtir; bu yüzden yerel nftables'ı, iptables-nft'yi ve eski bir kural kümesini tek bir şeyin üç yazımı değil, üç sistem olarak değerlendirin.

Hatayı gerçek bağlamında okuyun

Eksik bir tablo, bir izin hatası, kullanılamayan bir çekirdek olanağı ve eksik adlandırılmış bir zincir dört farklı bulgudur ve yalnızca biri zincirle ilgilidir. Aracın sürümünü, istenen adres ailesini ve tabloyu, ağ ad alanını ve ilk kesin hatayı kaydedin. Ardından kural kümesinin hangi bileşene ait olduğunu denetleyin: bir güvenlik duvarı hizmeti ya da ürün tarafından yönetilen bir geçit kendi zincirlerini ve sırasını üretebilir. Bunların yanına yerel bir zincir eklemek yönetilen ilkeyi dokunulmamış, envanteri ise daha karmaşık bırakır.

Bir konteynerin ad alanı ana makineden farklı bir kural kümesi barındırabilir; bu yüzden yanlış bağlamda çalıştırılan bir komut, iletilen paketi hangi zincirin gördüğünü gösteremez. Beklenen zincir görünmedi diye ayrıcalıkları yükseltmek bir tanı değildir.

Sayaçlar erişimi kanıtlar, hükmü değil

Kural sayaçları bir kurala erişildiğini söyler. Daha sonraki bir kuralın işleme izin verdiğini söylemezler ve her alternatif yolun reddedildiğini kanıtlamazlar. Onları zararsız ve yetkili tek bir akış sırasında, kural sırası ve zincir bağlamasıyla birlikte okuyun ve hüküm değil tek bir gözlem olarak değerlendirin. Bir drop kuralındaki sıfırdan farklı sayaç, trafiğin ona çarptığı anlamına gelir; çarpmayan trafik hakkında hiçbir şey söylemez.

Çekirdeğin IP yönlendirmesi tamamen ayrı bir ayardır. Bir zincirin var olması yönlendirmeyi etkinleştirmez ve tanıdık bir etiketin bulunmaması yönlendirmenin durduğu anlamına gelmez.

Korumak istediğiniz akışı tanımlayın

Kapsülleme çözüldükten sonraki tek bir istemci isteğini yazın: kaynağı, hedefi, adres ailesi ve geçitte mi sonlandığı yoksa oradan mı geçtiği. Yerel hizmet girişi ile iletilen trafik farklı noktalarda gözlenir, bu yüzden farklı kurallara ve farklı testlere ihtiyaç duyarlar. Köprülenmiş bir VPN için köprü yolunu da doğrulayın, çünkü IP düzeyindeki bir zincir Ethernet çerçevelerini otomatik olarak denetlemez.

Uzak bir geçidi değiştirmeden önce bağımsız kurtarma erişimini koruyun. Ardından aynı kural kümesi altında amaçlanan akışı ve gereken reddetmeleri doğrulayın. Tanıdık adlı yeni ve boş bir zincir onarım değildir.

Karşılaştırma tek bir soruyla biter: çekirdek bu paket için gerçekte hangi kancayı çağırır? Buna yanıt verin, zincirin adı artık önemli olmaktan çıkar.

İlgili makaleler