Rota tabanlı ve politika tabanlı site-to-site VPN: farkı ne
Politika tabanlı IPsec trafiği bir seçiciyle seçer; rota tabanlı ise onu bir tünel arayüzünden gönderir. İkisi de hâlâ güvenlik duvarı kurallarına ve dönüş rotasına ihtiyaç duyar.
Her iki tasarım da aynı trafiği aynı IPsec mekanizmasıyla korur ve hangi paketin tünele gireceğine neyin karar verdiği konusunda ayrılırlar. Politika tabanlı bağlantıda bu işi müzakere edilen trafik seçicileri yapar; rota tabanlı bağlantıda ise tünel arayüzüne işaret eden bir rota yapar. İkisini karıştırmak, tünelin kurulduğunu bildirdiği ama uygulamanın hiçbir yere ulaşamadığı o tanıdık destek konusunu üretir. Bu ayrım en çok bir ağ eklediğinizde, bir yönlendirme protokolü çalıştırdığınızda veya sessizce yanlış çıkıştan ayrılan bir yolu hata ayıkladığınızda önemlidir.
Tünele neyin gireceğine karar vermenin iki yolu
Politika tabanlı bir VPN, kaynak ve hedef öneklerle eşleşen bir güvenlik politikası kurar ve ardından uyan her şeyi şifreler. Karşı taraf uyumlu seçicileri müzakere etmek zorundadır, bu yüzden etkin kapsam sonunda iki tarafın önerdiğinin kesişimi olur. O kesişimin dışında hiçbir şey korunmaz, yönlendirme tablosu ne derse desin.
Rota tabanlı bir VPN tüneli temsil eden bir arayüz oluşturur ve yönlendirme tablosunun içine trafik göndermesine izin verir. IKE arka plan programı hâlâ durumu ve arayüz başına politikayı kurar ve bu, rotaların şifrelemenin yerini aldığına karar verildiğinde atlanan ayrıntıdır. Her iki tasarım da IPsec ile şifreler; yalnızca seçim mekanizması farklıdır.
Aşağıdaki karşılaştırmayı bir puan tablosu değil, arıza imzaları kümesi olarak okuyun, çünkü hiçbir sütun kendi başına kazanmaz.
| Aspect | Policy-based | Route-based |
|---|---|---|
| What selects traffic | Negotiated selectors | A route into the tunnel interface |
| Adding a network | Edit selectors on both peers | Add a route, widen the selector once |
| Dynamic routing | Awkward to run over the tunnel | Runs over the interface directly |
| Typical failure | Tunnel up, host outside the selector | Tunnel up, no route or wrong source |
Politika tabanlı: seçici sözleşmedir
Seçiciler yalnızca yapılandırılmaz, müzakere edilir. Bir tarafta 10.10.0.0/16, diğer tarafta 10.10.1.0/24 önerin; ilişki müzakere nin durduğu yeri kapsar ve diğer tüm ana bilgisayarlar dışarıda kalır.
Yapılandırma dosyası yerine kurulu durumu okuyun. Linux karşı tarafta çekirdeğin kendi tabloları temel gerçektir ve müzakereden neyin sağ çıktığını gösterir. Doğru önekleri adlandıran ama eşleşen durumu olmayan bir politika, ilişkinin hiç kurulmadığı anlamına gelir. Yanlış önek için bir politikayla eşleştirilmiş durum ters sorundur ve bir alt ağ hiçbir yere ulaşamazken sağlıklı görünen tüneli üretir.
sudo ip xfrm state
sudo ip xfrm policy
sudo swanctl --list-sas
Her iki çıktıyı koruduğunuzu düşündüğünüz öneklerle karşılaştırın. Bu tek karşılaştırma, çalışan tünel ve ulaşılamayan sunucu hakkındaki bildirimlerin çoğunu çözer. Ayrıca hangi tarafın değiştirileceğini gösterir, çünkü uyumsuzluk genellikle yalnızca tek yönde görünür.
Rota tabanlı: arayüz sözleşmedir
Bir XFRM arayüzü tünele ad ve kimlik verir ve trafik ona yönlendirme tablosu öyle dediği için ulaşır. Birkaç uzak önek o zaman seçici sorunu yerine yönlendirme sorunu olur ve bir yönlendirme protokolü bunları duyurabilir. Gerçek kazanç budur, şifreleme değil.
Arayüz politika ihtiyacını ortadan kaldırmaz. Arka plan programı arayüz kimliğine bağlı kuralları her arayüz için kurar, bu yüzden yanlış arayüze gelen paket yine başarısız olur. Karşı tarafın kabul etmeyeceği bir kaynak adresi de kusursuz bir rotayla bile başarısız olur. Rota tabanlı, girişi rotanın belirlediği anlamına gelir; politika yok oldu anlamına değil.
sudo ip link add xfrm0 type xfrm dev eth0 if_id 42
sudo ip route add 10.20.0.0/16 dev xfrm0
ip -s link show xfrm0
ip route get 10.20.5.10
Rota yerine oturduktan sonra arayüz sayaçlarını izleyin. Rota varken sayaçlar sıfırda kalıyorsa tünele hiçbir şey eşleştirilmiyor demektir, bu da genellikle eksik rotaya değil eksik duruma işaret eder.
İki tasarımın gerçekten ayrıldığı yer
Ağ eklemek, hangi modelin size uyduğunun en temiz testidir. Rota tabanlı tasarım bir rota ekler ve seçiciyi en fazla bir kez genişletir; politika tabanlı tasarım ise iki karşı tarafta önek çiftlerini düzenler ve yeniden müzakere eder. İki kararlı alt ağ bu düzenlemeyi önemsiz kılar, yirmi ise projeye dönüştürür.
Hiçbir model güvenlik duvarının yerini almaz ve karşılaştırmalar genellikle bu noktadan önce durur. Geniş bir seçici veya geniş bir rota neyin şifreleneceğine karar verir, neye izin verildiğine değil.
MTU davranışı da pratikte farklıdır. Kapsülleme kullanılabilir yükü azaltır ve rota tabanlı arayüz kendi MTU'sunu taşır, bu yüzden her iki ağ geçidinde MSS kıstırma, küçük yanıtların geldiği ve büyüklerin kaybolduğu kara delik belirtisini önler. Politika tabanlı tüneller aynı duvarla diğer taraftan karşılaşır, çünkü seçici paket boyutu hakkında hiçbir şey söylemez. Kıstırmayı karşı tarafı suçlamak yerine bilerek ayarlayın.
Dönüş yolunu kaybetmeden geçiş
Herhangi bir şeyi değiştirmeden önce mevcut önek çiftlerini kaydedin, sonra bir uygulama yolunu taşıyın ve baştan sona izleyin. Kurulan tünel ileten tünel değildir ve fark yanıt yönünde ortaya çıkar.
Karşı taraflar bağlanır ama LAN ana bilgisayarları bağlanamazsa, dönüş rotasını ve uzak ana bilgisayarın kullanacağı kaynak adresini inceleyin. İki arayüzlü bir ana bilgisayar yanlış olandan yanıt verebilir ve hiçbir seçici değişikliği bunu onarmaz. Algoritmaları düzenlemeden önce iki uçta trafik yakalayın.
ip route get 10.20.5.10
sudo tcpdump -ni any host 10.20.5.10 and icmp
sudo swanctl --list-conns
Çalışırken tünele bağlı olmayan bir yönetim yolu tutun. Ağ geçidinin kendi erişimi hata ayıkladığınız bağlantıya binmiyorsa geri dönmek daha kolaydır.