AWS Client VPN con túnel dividido: que rutas debes publicar
O túnel dividido é unha lista de rutas, non unha casiña. Decide a onde vai o tráfico de internet, que prefixos privados publicar e que resolutor usar.
A consola ofrece un interruptor de túnel dividido, así que a decisión parece unha casiña de verificación. Non o é. O que realmente chega ao cliente é o conxunto de rutas publicadas do punto final, e esa lista decide que prefixos privados usan o túnel, se o tráfico xeral de internet queda local ou sae por AWS, e con que resolutor pode falar aínda o cliente. Tres preguntas resolven o deseño, e cada unha pode responderse mal mentres a conexión segue funcionando.
Un indicador de túnel dividido non é unha lista de destinos
AWS describe o túnel dividido como a engádega de rutas do punto final á táboa de rutas do cliente ao establecer a conexión. Unha ruta para a VPC privada limita o túnel a ese destino; todo o demais segue o camiño ordinario do cliente. Unha ruta predeterminada é unha instrución distinta cun efecto distinto, por iso a documentación do túnel dividido advirte contra publicar 0.0.0.0/0 nun punto final configurado para este modo: adoita romper a conectividade en lugar de ampliala. A táboa de rutas do punto final é a política, e a táboa de rutas do cliente é o resultado que podes inspeccionar.
Le a táboa de rutas do punto final e as rutas instaladas do cliente xuntas. A etiqueta describe unha intención; as rutas describen que ocorre.
Primeira decisión: debe quedar local o tráfico xeral de internet?
Se a navegación debe usar a conexión propia do usuario, publica só os destinos privados que necesita o traballo e detente aí. Non engadas unha ruta de internet porque un titorial de túnel completo incluíse unha, e non asumas que a ruta extra mellora a seguridade. Cambia o camiño, non engade política e normalmente custa unha latencia que non orzamentaches.
Se o tráfico de internet debe saír por AWS, constrúe a arquitectura de acceso a internet documentada: ruta do punto final, regras de autorización, o camiño da subrede asociada, política de seguridade e unha saída superior que funcione. Unha ruta predeterminada por si soa non achega nada diso.
Segunda decisión: que prefixos privados e autorizados por quen?
Publica o conxunto máis pequeno de destinos que serve a carga real, e comproba que cada subrede asociada pode encamiñar cara a eles. O obxectivo de ruta do punto final e o encamiñamento VPC da subrede son capas distintas, e unha ruta que existe nunha non é proba da outra. A autorización é outra cousa aparte: un destino pode ser alcanzable e aínda así denegarse porque o grupo do cliente non ten ningunha regra que o permita.
Probar unha soa sesión correcta demostra un só camiño. Comproba cada subrede asociada, porque unha asociación de subrede engadida máis tarde é exactamente onde adoita vivir a ruta que falta.
Cando un destino debe ser alcanzable por nome, ten en conta que a seguinte pregunta é a resolución de nomes, non a da ruta.
Terceira decisión: que resolutor segue o túnel?
Un cliente pode recibir un servidor DNS só accesible a través da VPN, e ese resolutor só funciona se o seu enderezo está dentro dunha ruta autorizada. Verifica ambas as metades: o enderezo do resolutor segue unha ruta publicada e o servidor responde aos nomes que pide a aplicación. Unha petición que ten éxito por enderezo mentres falla polo nome de host apunta ao nomeado, non ao encamiñamento, e depurar o túnel nese caso desperdicia a tarde.
Os nomes públicos deberían resolverse como antes da conexión, outra razón para ser precisos sobre o que publicas.
Cambia o conxunto de rutas e despois verifica os dous mundos
AWS documenta que cambiar as rutas nun punto final de túnel dividido restablece as conexións dos clientes. Planifica o cambio téndoo en conta: aplícao, volve conectar co cliente compatible e le de novo as rutas instaladas en lugar de confiar no estado aplicado antes da edición. Un estado aplicado obsoleto é a razón máis común de que un cambio correcto pareza roto.
Acepta o deseño só cando un recurso privado e un destino público se comporten como se pretende, por nome e por enderezo, nas familias de enderezos que realmente admites. Un túnel que autentica non é o mesmo que un túnel que divide correctamente.
Escribe a lista de rutas no runbook xunto ao razoamento, para que a seguinte persoa distinga unha exclusión intencionada dunha esquecida.