VPN rotası mı güvenlik duvarı kuralı mı: paketi hangisi düşürüyor?
Rota bir yol seçer ve filtre izin konusunda karar verir. Firewall kuralını genişletmeden önce aynı kaynak, hedef ve yön için ikisini de kontrol edin.
Aynı paket için iki bağımsız karar verilir ve bunlardan herhangi biri isteği sessizce sonlandırabilir. Rota araması bir arayüz ve bir sonraki atlama noktasını seçer, ardından paket filtresi bu birleşimin izinli olup olmadığına karar verir. Bir zaman aşımı size ikisinden birinin reddettiğini, hangisinin olduğunu değil söyler. Aşamaları sırayla izleyin ve onarım genellikle tahmin olmaktan çıkar.
İki karar, tek paket, iki sahip
Rota araması önce politika kurallarına, sonra bunların işaret ettiği tabloya başvurur ve hedefle eşleşen en belirgin önek seçer. Bir tünel rotası kuran istemci bu kararın sahibidir ve güvenlik duvarı kuralındaki hiçbir şey onun yerini alamaz. Arama beklenmedik bir yeri gösterdiğinde, sonraki her aşama yanlış paket üzerinde çalışır.
Filtreleme ayrıdır. Linux ana bilgisayarında netfilter kancaları trafiği paketin kime olduğuna göre ayırır: çıkış makineden ayrılır, giriş makinede biter, iletme makineden geçer. VPN istemcilerini kabul edip bunları bir LAN'a yönlendiren geçidin iletme yoluna ihtiyacı vardır ve bu, çoğu varsayılan yapılandırmanın boş bıraktığı zincirin ta kendisidir.
Kaynak seçimi aynı karara aittir ve çoğu uyumsuzluk burada saklanır. Rota bir tane belirtmedikçe çekirdek giden arayüzden bir kaynak adresi seçer, bu yüzden LAN alt ağı için yazılmış bir filtre kuralı tünel adresiyle çıkan bir pakete asla uymaz.
Aramanın gerçekte neyi seçtiğini okuyun
Kararı tahmin etmek yerine yazdırın. Aşağıdaki komut çekirdeğin o hedef için kullanacağı rotayı, arayüz ve seçeceği kaynak dahil çözer:
ip route get 10.8.0.5 ip route get 10.8.0.5 from 192.0.2.44 ip rule show ip route show table all | sed -n '1,40p'
VPN istemcileri genellikle politika kurallarını ana tablonun altındaki önceliklere kurar, bu yüzden temiz bir ana tablo kendi başına hiçbir şey kanıtlamaz. Kural önceliklerini seçtikleri tablolarla karşılaştırın ve tünel rotasının bir kez elle eklenmek yerine yeniden bağlantıdan sonra kalıp kalmadığını kontrol edin.
Politika tabanlı IPsec, yönlendirmenin kapsamadığı üçüncü bir eşleştirme aşaması ekler; strongSwan'ın iletme notları bunu tünel ve taşıma kurulumları için açıklar. Güvenlik politikası trafiği önek ve protokole göre seçerken rota yalnızca korumasız bir paketin nereye gideceğine karar verir. Yönlendirilen ama eşleşen seçicisi olmayan bir alt ağ ya korumasız kalır ya da yapılandırmaya bağlı olarak atılır ve iki sonuçtan hiçbiri güvenlik duvarı sorunu gibi görünmez. Politikayı yazdırın ve seçicilerini tünelin taşımasını beklediğiniz öneklerle karşılaştırın.
Filtreleme bir rotada değil, bir kancada uygulanır
VPN dinleyicisine izin veren kural, geçidin kendisine yönelen trafikle ilgili bir kuraldır. O geçidin arkasındaki ana bilgisayarlara ulaşan istemciler hakkında hiçbir şey söylemez, çünkü iletilen trafik başka bir zincirden geçer. Kural kümesini tek bir düz liste olarak okumak, doğru görünen bir kuralın asla tetiklenmemesinin olağan nedenidir.
Sayaçlar soruyu hızla çözer. Paket sayısı sıfır olan bir kurala hiç ulaşılmamıştır, bu da yanlış zincire, yanlış arayüze veya daha önceki bir düşürmeye işaret eder. Düşürme politikası altında sayısı artan kural aradığınız sınırdır ve paket yanlış yönlendirilmek yerine atılmaktadır.
İstemcinin kullandığı yoldan bir sonda gönderin
Geçidin kendi üzerinde çalıştırılan testler, geçidin kendi kaynak adresiyle çıkış ve girişten geçer. Bu, bir istemcinin iletilen isteğinden farklı bir yoldur, bu yüzden başarılı bir yerel curl göründüğünden daha azını kanıtlar. Başarısız olan makineden test edin veya arayüzü ve kaynağı açıkça sabitleyin.
nc -vz -w 3 10.8.0.5 443 ping -c 3 -W 1 10.8.0.5 tcpdump -ni any host 10.8.0.5 and port 443 iptables -vnL FORWARD --line-numbers nft list ruleset | sed -n '1,60p'
Her iki uçta yakalama kalan durumları ayırır. İstemciden çıkıp hiç ulaşmayan bir SYN yönlendirme, şifreleme veya yukarı akış erişim listesi anlamına gelir. Ulaşıp yanıt alamayan bir SYN hizmet veya onun ana bilgisayar filtresi anlamına gelir ve tünel hiçbir zaman sorun olmamıştır.
Dönüş trafiği kendi bakışını hak eder. Asimetrik yönlendirme artı ters yol filtreleme, yanlış arayüze gelen yanıtları atar; bu, engellenmiş bir bağlantı noktası yerine tek yönlü bir bağlantı olarak görünür. Güvenlik duvarını neden olmadığı bir belirti için suçlamadan önce sysctl değerini kontrol edin.
Günlükleme ilk adım değil, ikinci bir görüş olarak çalışır. İletme zincirindeki geçici bir günlük ifadesi, ona çarpan arayüzü ve adresleri adlandırır ve sonradan kaldırılması kolaydır. Kalıcı bırakırsanız yanıt yerine bir günlük hacmi sorunu inşa etmiş olursunuz.
Her değişikliği yeniden bağlantıdan sonra kalacağı yere koyun
ip route add ile eklenen bir rota arayüz düşene kadar yaşar. Bunun yerine bağlantı profilinde saklayın: NetworkManager bağlantıda ek rotaları kabul eder ve netplan bunları önyüklemeler arasında tutar. Aynı kural istemci tarafındaki güvenlik duvarı istisnası için de geçerlidir; o, bir sonraki yeniden yüklemeden sonra kaybolur.
Sunucu tarafındaki kurallar, hizmetin başlangıçta yüklediği yapılandırma dosyasına aittir; siz kapattığınızda biten etkileşimli bir oturuma değil. Kuralı yazın, yeniden yükleyin ve sayacın hareket ettiğini doğrulayın, çünkü sözdizimini reddeden bir yeniden yükleme eski kural kümesini sessizce yerinde bırakır.
Sonra özgün uygulama isteğini baştan sona yineleyin ve hangi katmanın değiştiğini kaydedin. Filtre değişikliği de gerektiren bir rota düzeltmesi yine de başarısız olacaktır ve birincisinin gittiğini bildikten sonra ikinci hatayı okumak çok daha kolaydır. Sonucun yanına tarihi ve istemci sürümünü not edin, çünkü yönlendirme ve filtreleme varsayılanlarının ikisi de sürümler arasında değişir. Bu notu kayıtta tutun ki bir sonraki kişi iki aşamalı yolu yinelemek yerine sizin durduğunuz yerden başlasın.