Tek bir sunucudaki iki istemci dosya alışverişi yapar, aktarım başarılı olur ve tünele yönelttiğiniz her iletme kuralı sıfır paket bildirir. Kurallar bozuk değildir ve zincir yanlış yerde değildir. Eşler arası iletme açıkken paket sunucu sürecinin içinde teslim edilir ve ana makine yığını hiçbir zaman yönlendirici olmaz, dolayısıyla çekirdek güvenlik duvarının sayacağı bir şey kalmaz. Bu ayrımı anlamak, kısayolu koruyup korumayacağınıza veya yolu çekirdek üzerinden yeniden kurup kurmayacağınıza karar verir.

Bir paketi sunucudan geçirerek izleyin

Yönlendirilen bir tünelde arka plan süreci her istemcinin şifresi çözülmüş paketini tünel aygıtına verir. Oradan ana makine paketi yönlendirir, iletme kancası çalışır ve tünel aygıtıyla eşleşen bir kural trafiği sayabilir veya düşürebilir. Çoğu güvenlik duvarı örneğinin varsaydığı yol budur.

Forwarding pathWho decidesWhat the host firewall sees
Kernel routing between clientsHost routing table and forward rulesEvery inner packet, with interface names
Peer forwarding inside the server processThe VPN daemon's own peer tableOnly the outer encrypted transport

Kısayol ana makineyi ortadan kaldırır. Bir oturumun şifresi çözülmüş paketi arka plan sürecinin içinde başka bir oturuma verilir ve iç paket hiçbir zaman tünel aygıtında yayımlanmaz ve ana makine onu yönlendirmez. Kapsüllenmiş trafik yine de fiziksel arayüzü geçer, bu yüzden dış yakalama meşgul görünürken iç kurallar sessiz kalır. Tünel aygıtında alınan yakalama hiçbir şey göstermez, bu da aktarımı orada izlemeyi bekleyen herkesi şaşırtır. Bu asimetri, kısayolu arka plan sürecinin dışından tanımanın en hızlı yoludur.

Hangi yolun işlediğini belirleyen sayaç testi

Geçerli olması gereken kurala bir sayaç takın, o kuralın engellemesi gereken iki istemci arasında bir aktarım çalıştırın ve ardından sayacı okuyun.

sudo nft list ruleset
sudo nft add rule inet filter forward iifname "tun0" oifname "tun0" counter accept
sudo nft list chain inet filter forward

Aktarım başarılı olur ve sayaç sıfırda kalırsa, çekirdek bu paketleri hiç işlemedi ve hiçbir kural düzenlemesi bunu değiştirmez. Aynı testi sunucunun kendi üzerindeki bir hizmete karşı yineleyin, çünkü o akış gerçekten ana makine yığınından geçer ve sayacı hareket eder. İki sonucu karşılaştırmak yanıtı veren şeydir.

İki ayrıntı yanlış okumayı önler. Zincir etiketine yazılan bir arayüz adı tek başına hiçbir şeyi filtrelemez, çünkü eşleşme kuralların içindeki arayüz alanlarında gerçekleşir. Ve köprülenmiş katman 2 tasarımı yine farklı davranır: orada istemciler tek bir yayın alanını paylaşır, bu yüzden eş keşfi beklenir, yönlendirme hatası değildir.

Anahtar bir erişim listesi değildir

Bir öğleden sonraya mal olan kısım burasıdır. Eşler arası iletme tek bir açık ya da kapalı ayarıdır ve açık olduğu sürece arka plan süreci tek iletme noktasıdır. Ana makinenin güvenlik duvarı kimin kime ulaşabileceğini ifade edemez ve istemci başına dosyalar anahtarı bir ilke matrisine dönüştürmez.

Eş başına kurallara ihtiyacınız varsa, seçim kısayoldan vazgeçmek ile denetim aracı olarak ana makinenin güvenlik duvarından vazgeçmek arasındadır. Onu kapatmak çekirdek iletmesini geri getirir; bu da sunucuda IP iletmesinin açık olmasını ve istediğiniz akışlar için açık kuralları gerektirir. Açık bırakmak, ilkenin arka plan sürecinin yapılandırmasında yaşaması anlamına gelir; bu da pratikte tüm eşler ya da hiçbir eş demektir.

Kendi adres havuzları ve bağlantı noktaları olan ayrı sunucu süreçleri uygulanabilir orta yoldur. Her süreç tam olarak bir erişim kararı taşır, bu yüzden iki grup ilke matrisi olmadan farklı kurallara sahip olabilir. Ana makine istendiğinde havuzlar arasında yönlendirme yapabilir ve o zaman güvenlik duvarı bu akışları görür çünkü ana makineyi geçerler. Bedel ek bağlantı noktaları, ek sertifikalar ve grup başına bir profildir.

İletme noktasını seçmek

Güvenlik duvarı ilke motoru olduğunda, akış başına günlükleme gerektiğinde veya muhasebe önemli olduğunda çekirdek iletmesini seçin. Bedel, ana makine yığını üzerinden geçen işlem hacmi ve bakımı yapılacak daha fazla kuraldır. Yarar, sayaçlardan akış dışa aktarıcılarına kadar mevcut her aracın trafiği yeniden betimlemesidir. Küçük bir sunucuda bu bedel görünmez; yoğun bir aktarıcıda değildir.

Eşler arası trafik ya tamamen izinli ya da tamamen yasak olduğunda ve sunucu buna göre boyutlandırıldığında süreç içi iletmeyi seçin. Bedel, sayaçların, kuyruk disiplinlerinin ve bağlantı izlemenin artık iç akışları betimlememesidir; bu yalnızca sonradan kimse onlara güvenmeyecekse kabul edilebilir.

Ne seçerseniz seçin, onu güvenlik duvarı kurallarının yanına yazın. Eşler arası trafiğe izin veriyor gibi görünen ama aslında arka plan sürecinin karar verdiği bir kural kümesi, başarısız bir aktarımı ayıklayacak bir sonraki kişiyi yanıltır. Yalnızca kuralları okuyan herkes çekirdeğin kapı olduğunu varsayar.

Kuralları değiştirmeden önce neyi denetlemeli

Sunucunun gerçekten yüklediği yapılandırmayı okuyun, düzenlediğinizi hatırladığınız dosyayı değil, ve eş seçeneğinin bulunup bulunmadığını doğrulayın. Değiştirdiyseniz, hizmetin diskteki bir dosyayı yalnızca yeniden yazmadığından, yeniden yüklendiğinden emin olun.

Ardından kuralın en azından eşleştiğini kanıtlamak için istemciden sunucuya bir akışla testi yineleyin ve gönderilen yolları denetleyin, çünkü eksik bir yol istemci tarafından tam olarak bir güvenlik duvarı engeli gibi görünür. Kural sırasını ancak hangi iletme noktasının kararı elinde tuttuğunu bildikten sonra değiştirin.

İlgili makaleler