Per què EC2 no pot arribar al vostre portàtil amb AWS Client VPN
Client VPN tradueix les fonts IPv4 del client a la interfície del punt de connexió. Per això la resposta funciona i una connexió nova des d'EC2 no.
Un portàtil connectat mitjançant AWS Client VPN arriba a una aplicació EC2 sense cap problema. Després proveu el contrari, des d'EC2 cap a l'adreça que es va assignar al client, i la connexió es penja o es rebutja. Aquesta asimetria poques vegades és una regla de grup de seguretat que falti. En un punt de connexió de Client VPN associat a subxarxes de VPC, AWS tradueix les fonts IPv4 del client a la interfície de xarxa del punt de connexió, de manera que no hi ha cap adreça VPC d'entrada que representi el vostre portàtil.
Comenceu pel que mostra la captura
Feu una captura a l'amfitrió EC2 mentre el client es connecta i llegiu l'adreça d'origen que l'aplicació veu realment. Si és la interfície del punt de connexió del costat VPC i no una adreça del conjunt de clients, la traducció queda confirmada abans de canviar ni una sola regla.
El conjunt de clients és un rang d'assignació, no una subxarxa amb una ruta de retorn. Aquesta distinció és on fallen la majoria d'aquestes investigacions.
La traducció que explica l'asimetria
Tres fluxos es confonen entre si, i només un d'ells és el que la gent prova.
| Flow | Started by | What the VPC sees | Outcome |
|---|---|---|---|
| Client to EC2 service | The client | A translated source at the endpoint interface | Works, with a stateful reply |
| EC2 host to client pool address | The EC2 host | A destination with no route and no translation state | No usable path |
| Client to client | A client, when the feature is configured | Traffic mediated by the endpoint | Works only with that feature and its authorisation |
La descripció dels components de Client VPN explica que les fonts IPv4 del client es tradueixen a la interfície del punt de connexió, cosa que n'hi ha prou per veure per què la fila central no té res amb què coincidir.
Una connexió nova necessita una ruta, un pas de resolució d'adreces i una decisió d'autorització. L'estat de traducció d'una sessió aliena no en proporciona cap dels tres.
Per què una resposta no és una connexió nova
Una resposta TCP es compara amb una entrada existent, i per això el camí de tornada funciona sense cap regla d'entrada. Un SYN nou de l'amfitrió EC2 no té cap entrada amb què coincidir, així que es converteix en un intent de sortida ordinari cap a una destinació que la VPC no sap com assolir.
També per això és enganyós descriure-ho com a trànsit que només va en un sentit. El trànsit de tornada flueix contínuament en aquestes sessions. La part que no té camí és la iniciació.
Què continua trencant una sessió que hauria de funcionar
Els grups de seguretat, les ACL de xarxa i el tallafoc del mateix portàtil importen tots per a les connexions que haurien de tenir èxit. Un ping fallit és el que menys us diu, perquè la política ICMP sovint és independent de la política TCP que us interessa.
Escriviu aquestes regles respecte de la font traduïda, no de l'adreça del client. Les regles lligades a l'adreça que mai no apareix a la xarxa són la fallada autoinfligida més comuna en aquest disseny.
Quan la VPC realment ha d'iniciar la conversa
Si un servei ha d'avisar una estació de treball, invertiu la direcció i deixeu que el client mantingui un canal de sortida persistent al qual el servei respongui. Si tota una xarxa remota ha de ser abastable des de la VPC, trieu una arquitectura que publiqui els seus prefixos i la seva política d'accés en lloc de suposar que Client VPN ja ho fa. L'accés client a client és un tercer cas, més estret, amb els seus propis objectes de ruta i autorització. Cap d'aquests és una casella de selecció al punt de connexió existent.
Mantingueu honest l'abast de l'explicació IPv4, també. La documentació actual d'AWS separa IPv6, on aquesta traducció no s'aplica, i altres models d'adjunció que encaminen de manera diferent.
Proveu-ho en tres passos etiquetats: el client obre una sessió permesa, el servei de la VPC respon aquesta sessió i un amfitrió de la VPC obre una sessió nova cap al client. Que els dos primers tinguin èxit i el tercer falli és la forma esperada d'aquest disseny, no un defecte que calgui perseguir amb regles de tallafoc.