Tam tünel mi uç nokta rotası mı: VPN sunucusunu erişilebilir tutmak
Tünel, yerini aldığı ağ üzerinden gider. Ana bilgisayar rotası istisnasını uygulama düzeyinde bir soket işaretiyle karşılaştırın ve her birinin ne zaman başarısız olduğunu öğrenin.
Tünel üzerinden bir varsayılan rota ekleyin, tünelin kendi paketleri de bunu izler. Tablo o zaman kendini alt eden bir kural içerir. Sunucuya giden şifreli bağlantı, kurmaya çalıştığı bağlantının içinden geçmeye çalışır.
Bu döngüyü iki mekanizma önler. Biri yönlendirme tablosunda görünür, diğeri uygulamanın içinde yaşar.
İç ve dış trafik farklı kararlardır
Bir uygulama paketi sanal arayüze girer ve kapsüllenir. Sonuç, sunucunun genel adresine adreslenmiş yeni bir pakettir. O paketin fiziksel ağda bir rotaya ihtiyacı vardır, çünkü hiçbir parçası tünele giremez.
İkisi de yönlendirme kararıdır ve yalnızca birincisi tünele aittir. İstemci sunucuyu da kapsayan bir varsayılan rota kurduğunda dış paket de yakalanır.
Belirtiler anında ve tamdır. El sıkışma tamamlanır ve ardından hiçbir şey akmaz ya da rota kurulduğu anda bağlantı düşer. Her iki durumda da keepalive artık çıkamaz.
Birinci seçenek: uç nokta için ana bilgisayar rotası
Doğrudan yaklaşım, sunucunun adresi için özgün ağ geçidi üzerinden bir rota ekler. Tek satır gerektirir. Tabloyu okuyan herkes görür. Değişiklik kaydında açıklamak da kolaydır.
Zayıflığı, altındaki yol değiştiğinde ortaya çıkar. Kaydedilen rota, eski ağdan bir ağ geçidi ve arayüz adlandırır. Wi-Fi değişiminden sonra o ağ geçidi var olmayabilir ve rota geride kalır, doğru görünür ve hiçbir şey yapmaz.
# before the tunnel: which path reaches the endpoint?
ip route get 198.51.100.7
# pin it through the current gateway
ip route add 198.51.100.7/32 via 192.168.1.1 dev wlan0
# after the tunnel is up, confirm the pin survived
ip route get 198.51.100.7
Bir ana bilgisayar adı bunu zorlaştırır. Uç nokta birkaç adrese çözülen bir ad ise, istisna gerçekte kullanılan adresi kapsamalıdır. Daha sonraki bir sorgu, rotanın hiç kapsamadığı bir şey döndürebilir.
İkinci seçenek: soketi korumak
Diğer yaklaşım yönlendirme tablosuna asla dokunmaz. İstemci tüneli taşıyan soketi işaretler veya korur, böylece işletim sistemi o soketin trafiğini politikaya göre tünelin dışına gönderir. Android bu mekanizmayı VPN uygulamalarına doğrudan sunar. Masaüstü istemcileri güvenlik duvarı işaretleri veya cihaza bağlama çağrılarıyla eşdeğerlerini uygular.
Avantaj, istisnanın kaydedilmiş bir ağ geçidi yerine bağlantıyı izlemesidir. Bir ağ değişikliği altındaki yolu yeniden yazar ve korunan soket onunla birlikte hareket eder çünkü hiçbir zaman bir adrese sabitlenmemiştir. Yönlendirme tablosu temiz kalır.
Bedel görünürlüktür. Yönlendirme tablosunda hiçbir şey istisnayı göstermez, bu yüzden ana bilgisayar rotası arayan bir gözden geçiren hiçbir şey bulamaz ve tasarımın güvensiz olduğu sonucuna varabilir. Koruma, istemcinin kodunda ve o kodun kurduğu politika kurallarında yaşar.
İkisi arasında seçim
İstemci destekliyorsa soket düzeyi mekanizmayı seçin, çünkü sabitlenmiş bir rotayı bozan ağ değişikliklerini atlatır. İstisnanın başka araçlara görünmesi gerekiyorsa veya istemci daha iyisini sunmuyorsa ana bilgisayar rotasını seçin.
Hiçbir mekanizma sunucunun adresinin en başta erişilebilir olması gerekliliğini ortadan kaldırmaz. Özel bir ağ geçidinin genel bir dinleme adresi vardır ve tünelin dışında kalması gereken tam olarak o adrestir. Arkasındaki iç ağlar ancak tünel var olduktan sonra erişilebilir olur.
Hangisini seçerseniz seçin, onu tünele sahip bileşenin yanında tutun. Elle eklenen başıboş bir ana bilgisayar rotası bir sonraki ağa kadar çalışır ve sonra yarının gizemli kesintisi olur.