Siteler arası VPN veya uzaktan erişim: ikisi neyi birleştirir
Biri ağ geçitlerini, diğeri cihazları birleştirir. Trafik seçicilerini rotalarla karşılaştırın, adreslemeyi planlayın, ardından gerçek bir ana bilgisayardan yönlendirmeyi ve politikayı test edin.
Her iki tasarım da VPN olarak adlandırılır ve farklı sorunları çözer. Siteden siteye tünel iki ağ geçidini birleştirir, böylece arkalarındaki her ana bilgisayar hiçbir şey kurmadan diğer taraftaki izinli adreslere ulaşabilir. Uzaktan erişim tüneli, tek tek cihazları bir ağa bağlar, her seferinde bir istemci. Karşılaştırma önemlidir çünkü dağıtım hatalarının çoğu birini yapılandırıp diğerinin davranışını beklemekten kaynaklanır ve belirti genellikle tünelin gerçekten ulaştığı bir hizmette zaman aşımıdır.
İki tasarım, iki sınır
| Site-to-site | Remote access | |
|---|---|---|
| Endpoints | two gateways | a gateway and each client |
| Who configures | network owners | each user or an MDM |
| Scope of reach | whatever the gateways route | whatever the client is granted |
| Broadcast discovery | not carried | not carried |
Hiçbir tasarım LAN yayın alanını genişletmez. Karşı taraftaki cihazlar yerel keşif listesinde görünmez ve bunu beklemek vazgeçilmesi gereken ilk varsayımdır. Bilerek yayımladığınız özel DNS adları herhangi bir keşif protokolünden daha öngörülebilirdir ve sağlayıcı değişse de kalır.
Bir sitede 10.10.0.0/24, diğerinde 10.20.0.0/24 kullanın. A geçidi 10.20.0.0/24 önekini tünele gönderen bir rotaya veya trafik seçiciye ihtiyaç duyar, B geçidi ise bunun ayna görüntüsüne ihtiyaç duyar. Ardından iki taraftaki ana bilgisayarlar olağan IP bağlantısını kullanır ve bir tünel olduğunu asla öğrenmez. Bu görünmezlik özelliğin kendisidir ve arızaların tünel hatası değil sıradan ağ hatası gibi görünmesinin nedeni de budur.
Politika tabanlı ve rota tabanlı aynı tünel değildir
Politika tabanlı bir IPsec dağıtımında, üzerinde anlaşılan trafik seçicileri hangi kaynak ve hedef çiftlerinin korunduğunu tam olarak tanımlar. Bir geçidin arkasında yeni bir alt ağ belirirse ve hiçbir seçici onu kapsamazsa tünel ayakta kalır ve yeni alt ağ yalnızca taşınmaz. Rota tabanlı bir tasarımda trafiği arayüz alır ve yönlendirme tablosu karar verir, bu da bir önek eklemeyi tünelin yeniden müzakere edilmesi değil rota değişikliği yapar.
StrongSwan her iki görünümü doğrudan sunar ve ikisini birlikte okumak, gerçekte hangi modeli dağıttığınızı anlamanın yoludur.
swanctl --list-sas
ip xfrm policy
ip -4 route show table all | grep -E '10\.(10|20)\.'
İhtiyacınız olan öneki atlayan bir seçici listesi arızayı hiçbir paket yakalaması olmadan açıklar ve yanlış arayüze işaret eden bir rota dönüş yolundaki ayna arızasını açıklar. Herhangi bir şeyi yeniden müzakere etmeden önce ikisini de okuyun, çünkü anahtar yenileme hiç yapılandırmadığınız bir seçiciyi eklemez.
Adreslemeyi tünelden önce planlayın
Çakışan aralıklar yapılandırmayla düzeltilemeyen tasarım hatasıdır. İki site de 192.168.1.0/24 kullanıyorsa, 192.168.1.50'ye ihtiyaç duyan ana bilgisayarın iki adayı vardır ve seçme yolu yoktur. Tünel kimlik doğrular, güvenlik ilişkileri kurulur ve yönlendirme kararı yine de yanlış veya belirsiz olur.
Üç dürüst seçenekten birini seçin: bir siteyi yeniden numaralandırın, çakışan aralığı geçitte çevirerek her tarafın farklı bir önek görmesini sağlayın veya o ana bilgisayarlar için doğrudan yönlendirmeyi bırakıp hizmeti başka bir şekilde yayımlayın. Her birinin bir maliyeti vardır ve iki yıllık ufukta genellikle en ucuzu ilkidir. Tünel var olmadan karar verin, çünkü sonradan değişiklik eski adresi olan her cihaza dokunur.
MTU sorununu da erken çözün. Tünel kullanılabilir yükü azaltır ve parçalanmaya dayanan tasarım, MSS'yi geçitlerde sabitleyen tasarımdan farklı davranır.
Yönlendirme ve politika tünelin dışındadır
Geçit, paketleri tünel arayüzü ile LAN arayüzü arasında iletmeye istekli olmalıdır ve iki yön de hizmete izin veren politikaya ihtiyaç duyar. Linux'ta bunlar iki ayrı ayardır, ayrıca iletilen akışın baştan izinli olup olmadığına karar veren güvenlik duvarı kuralları vardır.
sysctl -w net.ipv4.ip_forward=1
iptables -A FORWARD -s 10.20.0.0/24 -d 10.10.0.0/24 -j ACCEPT
iptables -A FORWARD -s 10.10.0.0/24 -d 10.20.0.0/24 -j ACCEPT
Alıcı ana bilgisayar üçüncü bir katman ekler: kendi güvenlik duvarı hâlâ uzak alt ağdan bir istemciyi kabul etmelidir. Yalnızca yerel /24'üne izin veren bir dosya sunucusu, tünel ne kadar sağlıklı görünürse görünsün 10.20.0.7'den iletilen trafiği reddeder ve bu reddi yönlendirme arızası olarak okumak kolaydır.
Geçitten değil ana bilgisayardan test edin
Geçidin kendisinin gönderdiği bir ping, iletilen kullanıcı trafiğinden farklı bir kaynak adresi ve farklı bir politika izleyebilir. Bu onu zayıf bir test, bazen de yanıltıcı yapar: uygulama başarısız olurken başarılı olur veya uygulama çalışırken başarısız olur.
ip route get 10.10.0.5 from 10.20.0.7
ping -I 10.20.0.7 10.10.0.5
curl -sv --max-time 5 http://files.10-10.internal/ -o /dev/null
Gerçek bir ana bilgisayar, gerçek bir kaynak adresi ve uygulamanın kullandığı gerçek protokolü kullanın. Ardından dönüş yolunu ayrı okuyun, çünkü dönüş rotası olmadan çalışan ileri yön, engellenmiş bir hizmetle aynı görünen zaman aşımı üretir.
Tasarımı yanıtladığınız soruya göre seçin: ağları mı birleştiriyorsunuz yoksa cihazları mı kabul ediyorsunuz? Geri kalan her şey, hangi sağlayıcıyı yapılandırdığınız dahil, o yanıttan çıkar.