ASA VPN hairpin: iki tüneli tek arabirimden yönlendirmek
Uzak kullanıcının trafiği geldiği ASA arabirimi üzerinden çıkabilir, ancak hairpin izni, tünel kapsamı, NAT ve ACL dört ayrı karardır.
Uzak bir kullanıcı ASA'ya bağlanır, bir şubenin arkasındaki ana bilgisayarı ister ve ASA bu isteği tam olarak kullanıcının geldiği arabirimden dışarı gönderir. Bunların hiçbiri ikinci bir fiziksel bağlantı noktası gerektirmez. Gereken şey, insanların tek bir karara indirgeme eğiliminde olduğu dört bağımsız karardır: hairpin yapma izni, doğru adresleri koruyan bir tünel, söz verdiğin kaynağı koruyan bir NAT ilkesi ve hizmeti yetkilendiren bir erişim ilkesi.
Tek paket, iki tünel
Akışı izleyin ve işlem sırası gizemli olmaktan çıkar. Paket uzaktan erişim tünelinin içinde gelir, şifresi çözülür ve istemci havuzundan kaynaklanan sıradan bir IP paketi hâline gelir. Ardından ASA onu yönlendirir, siteden siteye crypto ACL ile eşleştirir, yeniden şifreler ve dış arabirimden şubeye doğru gönderir.
Aşağıdaki adresler örnektir, ancak biçim önemlidir: kaynak, ASA'nın iç LAN'ı değil, havuzdur.
remote client 10.77.0.20
-> remote-access tunnel, terminated on ASA outside
-> decrypted, routed, matched against site-to-site policy
-> site-to-site tunnel, sent from ASA outside
-> branch host 10.60.20.10Bundan iki şey çıkar. İstemcinin şube öneki için uzaktan erişim bağlantısı üzerinden bir yola ihtiyacı vardır, yani split-tunnel veya gönderilen yol listesi bunu içermelidir. Şube de trafiği 10.77.0.20'ye ya da NAT tasarımınızın yerine koyduğu adrese nasıl geri göndereceğini bilmelidir.
Hairpin izni geneldir
İnsanların başvurduğu komut şudur: same-security-traffic permit intra-interface. Trafiğin aynı arabirime girip çıkmasına izin verir; bu yolun ihtiyacı tam olarak budur. Aynı zamanda genel bir ayardır: etkinleştirilmesi, aynı arabirimden iki kez geçen diğer akışların davranışını değiştirir.
Bu yüzden hata ayıklama oturumuna değil, değişiklik kaydına aittir. Cihazda başka neyin artık aynı arabirim yolunu izleyebileceğini ve bunlardan birinin bunu yapması gerekip gerekmediğini sorun. Misafir ağları veya üst üste binen iş ortağı tünelleri olan yoğun bir uçta yanıt otomatik olarak hayır değildir. Gerekçeyi ayarın yanına yazın, çünkü bir sonraki mühendis komutu bulacak, konuşmayı değil.
Koruma kapsamı ile NAT ayrıdır
Siteden siteye tünel, crypto ACL'sinin seçtiği şeyi korur. Bu ACL kaynak olarak ASA'nın iç alt ağını adlandırıyorsa uzaktan erişim havuzu korunmaz ve paket, platformun eşleşmeyen trafiğe davranışına bağlı olarak ya düşürülür ya da açık olarak gönderilir. Tasarım havuz adreslerini koruyorsa havuzu korunan akışa ekleyin.
Ardından NAT, havuz adresinin hayatta kalıp kalmayacağına karar verir. Identity NAT onu korur ve şube kaynak olarak 10.77.0.20'yi görür. Çeviri sözleşmeyi değiştirir: şube artık trafiği çevrilen adrese geri gönderir ve kendi ilkesi bunu kabul etmelidir. Kural sırası, crypto ACL'nin çeviriden önce mi sonra mı eşleştiğini belirler, bu yüzden hangisinin kazandığını varsaymak yerine gerçek akışı okuyun.
Tek bir geçiş durumu çalışsın diye genel internet PAT kurallarını silmeyin. Hedefli bir istisna veya bilinçli bir identity kuralı, giden ilkedeki bir delikten daha kolay açıklanır ve geri alınır.
Şifreleme yetkilendirme değildir
Çalışan bir tünel yalnızca iki tarafın anahtarlar ve seçiciler üzerinde anlaştığını kanıtlar. Bu kullanıcının o hizmete erişip erişemeyeceği hakkında hiçbir şey söylemez. Uzaktan erişim bağlantısına bağlı VPN filtresi veya grup ilkesi hâlâ şube hedefini ve bağlantı noktasını izin vermelidir ve dış yoldaki arabirim ACL'si hâlâ geçerlidir.
Yanıtı iki yönde de test edin. Komşu bir hizmetin başarısız olması gerekirken başarılı olan bir bağlantı, tek bir başarılı ping'den daha bilgilendiricidir, çünkü ilkenin ardına kadar açık değil seçici olduğunu gösterir. Reddedilmesi gereken test başarılı olursa suçlu tünel değil, ilkedir. Her iki sonucu da değişiklik kaydında tutun ki bir sonraki kişi hangi davranışın amaçlandığını bilsin.
Hairpin mi ikinci arabirim mi
Hairpin geçişi tasarımı küçük tutar ve tek bir genel ayara mal olur. Ayrı bir arabirim veya kendi sanal arabirimi olan yönlendirme tabanlı bir tünel, geçiş yolunu yalıtır ve size arabirim başına ilke verir; karşılığında adresleme ve bir crypto map ya da profil daha gerekir. Hiçbiri daha doğru değildir; farklı biçimlerde başarısız olurlar.
Yönlendirme tabanlı tasarımlar farklı bir düzenlemedir, aynı yapılandırmadaki bir onay kutusu değildir. Böyle bir tasarıma geçerseniz yukarıdaki ilke tabanlı crypto ACL tartışması geçerliliğini yitirir ve seçim işini yönlendirme tablosu yapmaya başlar.
Gerçek istemciden doğrulayın
ASA'dan başlatılan bir sonda farklı bir kaynak adresine sahiptir ve havuzdan şubeye giden yolu çalıştırmaz. Beşliyi denetlemek için packet-tracer kullanın, ardından gerçek uzak istemciden gerçek bir bağlantı açın, çünkü izleyici yalnızca benzetim yapar ve istemcinin kendi yönlendirmesini ve ilkesini değiştirmez.
Planlanan bir değişiklikten sonra çalışması gereken bir hizmete, ardından reddedilmesi gereken bir hizmete bağlanın ve sonra şubenin dönüş yolunu doğrulayın. Cisco'nun VPN hairpin NAT örnekleri intra-interface iznini, NAT'ı ve ACL'leri görünür biçimde ayrı tutar ve kopyalanmaya değer zihinsel model budur.