Tek bir Client VPN endpoint'i, ilişkili VPC'siyle peering yapan bir VPC'ye erişebilir ve bunu meşru kılmak için bastion'a ihtiyacınız yoktur. Yapmaya değer seçim, trafiğin nerede el değiştirdiğidir: ilişkilendirme alt ağına inip peering bağlantısını geçen bir endpoint rotası ya da eşlenen VPC'de oturumu sonlandıran bir host. İki yol da çalışır ve farklı yerlerde başarısız olur, bu nedenle karar sahiplik ve denetimle ilgilidir, AWS'nin neye izin verdiğiyle değil. İşte ikisi arasında nasıl seçim yaptığım ve yönlendirilmiş yolu çalıştıran dört kayıt.

İki yol, tek endpoint, farklı sahipler

Yönlendirilmiş yolda istemci trafiği endpoint'e ulaşır, ilişkilendirme alt ağındaki Client VPN ağ arayüzünün adresine çevrilir ve o alt ağdan A'dan B'ye peering bağlantısı üzerinden çıkar. VPC B hiçbir VPN oturumunu sonlandırmaz; VPC A'dan gelen sıradan trafiği görür, bu yüzden dönüş rotası istemci havuzuna değil VPC A'ya işaret eder.

Bastion yolunda istemci önce bir host'a ulaşır. A'daki bastion son atlamayı hâlâ peering bağlantısından geçirir, böylece peering işi kalır ve bir oturum eklenir. B'deki bastion da istemciden bir yol gerektirir ve bu yol aynı endpoint rotasıysa, yönlendirilmiş tasarıma bir atlama eklenir. Bastion yalnızca zaten varsa, zaten onaylanmışsa ve arkasındaki şey ağ sınırı değil oturum sınırı gerektiriyorsa işi azaltır.

Dört kayıt yönlendirilmiş yolu çalıştırır

AWS bu senaryoyu Client VPN how-it-works sayfasında belgeler ve pratikte iş iki veya üç ekibin sahip olduğu dört kayda iner. Aralıklar örnektir; eşlenen aralık benzersiz olmalı ve dönüş aralığı planınıza uymalıdır.

ControlWhat it must say
Endpoint route10.70.0.0/16 targets the association subnet
Authorization ruleThe approved group may reach 10.70.0.0/16
VPC A association-subnet table10.70.0.0/16 targets the peering connection
VPC B resource-subnet tableVPC A's range targets the same peering connection

Rota ve izin ayrı kontrollerdir. Eşleşen bir yetkilendirme kuralı olmadan doğru endpoint rotası istemciye hiçbir şey vermez; endpoint'in yönlendiremediği bir hedef için yetkilendirme kuralı ona kara delik verir. İkisi de aynı aralığı belirtmelidir.

Endpoint rotası endpoint'in kendi VPC'sindeki bir alt ağa işaret eder, asla peering bağlantısına değil. VPC rota tabloları peering bağlantısına işaret eder, asla bir instance veya arayüze değil. İkisi arasında bir değeri kopyalamak şikâyetsiz kaydedilir ve hiçbir şeyi yönlendirmez.

İlişkilendirme alt ağı istemci kaynağını çevirdiği için B, istemci havuzuna değil VPC A'ya geri yönlendirmelidir. İstemci aralığını peering bağlantısı üzerinden göndermek simetrik görünür, incelemeyi geçer ve sessizce başarısız olur çünkü B hiçbir zaman istemci kaynaklı bir paket görmez.

Güvenlik grupları ve iznin son metresi

Yönlendirme paketleri B'ye getirir; kararı hâlâ B verir. Aynı bölgedeki etkin bir peering bağlantısı için B'deki bir güvenlik grubu, Client VPN ilişkilendirmesine uygulanan gruba başvurabilir; bu, kuralı dar tutar ve adres değişikliklerine dayanır. Grup başvurusunun mümkün olmadığı yerlerde, 0.0.0.0/0'a genişletmek yerine ilişkilendirme alt ağı aralığına açıkça izin verin; genişletmek bir yönlendirme hatasını açıklanamayan bir zaman aşımına çevirir.

Sonra yönlendirmenin asla dokunmadığı şeyleri kontrol edin: iki alt ağdaki ağ ACL'leri, uygulamanın izin listesi veya token kitlesi, ve DNS. Peering özel barındırılan bölgeleri kopyalamaz, bu yüzden dizüstü çözemediği bir adrese çalışan bir rota tutabilir ve peering bağlantısı bir sertifikaya güven katmaz. Endpoint'i B için yanıt veren bir çözümleyiciye yönlendirin, sonra özel ad ile sertifikanın eşleştiğini doğrulayın.

Bastion ne zaman dürüst yanıttır

Bastion'u bilinçli seçmek için üç tetikleyici tutuyorum. Eşlenen VPC, aralığınız için dönüş rotası eklemeyecek veya grup başvurusunu kabul etmeyecek bir ekibe aitse. Erişim her oturum için onaylanmalı veya kaydedilmeli ve uygulama bunu kendi başına taşıyamıyorsa. Ya da son atlama B'nin içinde kalmalıysa çünkü hizmet yalnızca orada çözülür ve TLS kimliği bir iç ada sabitlenmiştir.

Bunların hiçbiri peering'in geçişli olmaması gerçeğinin etrafından dolaşmak değildir. Geçişsizlik, B'deki kaynakların ne yapabileceğini sınırlar: A'yı, A'nın peering yaptığı üçüncü bir VPC'ye geçiş olarak kullanamazlar. Bu hiçbir zaman bir VPN kullanıcısının doğrudan eşlenen bir VPC'ye ulaşamayacağı anlamına gelmedi ve bu yanlış okumayı atlatmak için inşa edilen bir bastion, sebepsiz yere yamalanan bir host'tur.

Ters hata zamanla daha pahalıdır: her ekibi zaten var olan tek bastion'dan geçirin, sonra onun güvenlik grubunun, rota tablosunun ve yama penceresinin üretim bağımlılığı olduğunu keşfedin. Host'un hangi tetikleyiciye hizmet ettiğini yazın ve tetikleyici ortadan kalktığında onu devreden çıkarın.

Transit Gateway ve birden çok ilişkilendirme aritmetiği değiştirir

Endpoint bir alt ağ yerine doğrudan bir Transit Gateway'e bağlıysa model değişir: istemciler artık ilişkilendirme alt ağındaki bir arayüz adresine çevrilmez ve ağ geçidi rota tabloları istemci aralığını ve eşlenen VPC'ye götüren bağlantıyı taşımalıdır. Bu ölçekte daha temizdir, ancak iş dört kayıttan ağ geçidi rota tablolarına taşınır.

Birden çok ilişkilendirme kontrolleri çoğaltır. Endpoint rotası endpoint'e aittir, ancak her ilişkilendirme alt ağı gerçek bir peering sonraki atlaması olan bir rota tablosuna ihtiyaç duyar. Bir oturum bir ilişkilendirme üzerinden başarılı olurken diğerinin dönüş yolu olmayabilir, bu yüzden her birini test edin.

Kırılmayı hızlı bulan doğrulama sırası

Bunları sırayla çalıştırın; her adım bir sonraki başarısız olurken geçebilir ve istemci zaman aşımı neredeyse hiçbir zaman hangisinin kırıldığını söylemez.

  1. İstemciden uygulama adını çözün ve adresin eşlenen aralık içinde olduğunu doğrulayın.
  2. Bağlanın, sonra oturumu sonlandıran ilişkilendirme için endpoint bağlantı kaydını okuyun.
  3. O ilişkilendirme alt ağında, rota tablosunun eşlenen aralığı etkin bir peering bağlantısına yönlendirdiğini doğrulayın.
  4. B'deki kaynak alt ağında, arayüz aralığı için dönüş kaydını ve eşleşen grup kurallarını doğrulayın.
  5. Bir izinli işlemi ve erişilemez kalması gereken bir kaynağı test edin; ikincisi hata ayıklama kalıntılarını yakalar.
  6. Her split-tunnel rota değişikliğinden sonra yeniden bağlanın, çünkü çalışan bir tünel yeni bir rota kümesi almaz.

İki belirti hatırlanmaya değer. B'ye yanıtsız ulaşan bir SYN neredeyse her zaman eksik dönüş rotasıdır. Tamamlanıp sonra sıfırlanan bir bağlantı genellikle grup, ACL veya uygulamadır. İkisi de endpoint kaydında neden olarak görünmez, bu yüzden dört kaydı her birinin yanında bir sahiple tutun.

Üç tetikleyiciden hiçbiri geçerli değilse yönlendirilmiş yolu tamamlayın ve o dört kaydı kaydedin. Biri geçerliyse bastion'u yalnızca o sınır için tutun ve endpoint rotasını önünde oturum gerektirmeyen hizmetlere bırakın.

İlgili makaleler