Què passa a les connexions dins i fora del túnel VPN

Els articles reals neixen de cartes al suport tècnic de Tucha. Per exemple, recentment un client ens va acostar amb una sol·licitud per aclarir què passa durant les connexions dins del túnel VPN entre l'oficina de l'usuari i l'entorn del núvol, així com durant les connexions fora del túnel VPN. Per tant, tot el text següent és una carta real que vam enviar a un dels nostres clients en resposta a la seva pregunta. Per descomptat, s'han canviat les adreces IP per no desanonimitzar el client. Però, sí, el suport tècnic de Tucha és realment famós per les seves respostes detallades i correus electrònics informatius. 🙂

Per descomptat, entenem que per a molts aquest article no serà una revelació. Però, com que apareixen articles per a administradors novells a Habr de tant en tant, i també com que aquest article va aparèixer d'una carta real a un client real, encara compartirem aquesta informació aquí. Hi ha una gran probabilitat que sigui útil a algú.
Per tant, expliquem detalladament què passa entre el servidor del núvol i l'oficina si estan connectats per una xarxa de lloc a lloc. Tingueu en compte que alguns serveis només són accessibles des de l'oficina i alguns des de qualsevol lloc d'Internet.

Expliquem immediatament què volia el nostre client al servidor 192.168.A.1 podríeu venir des de qualsevol lloc mitjançant RDP, connectant-vos a AAA2:13389, i accés a altres serveis només des de l'oficina (192.168.B.0/24)connectat mitjançant VPN. A més, el client inicialment tenia configurat que el cotxe 192.168.B.2 a l'oficina també era possible utilitzar RDP des de qualsevol lloc, connectant-se a BBB1:11111. Vam ajudar a organitzar les connexions IPSec entre el núvol i l'oficina, i l'especialista informàtic del client va començar a fer preguntes sobre què passaria en aquest o aquell cas. Per respondre a totes aquestes preguntes, de fet, li vam escriure tot el que podeu llegir a continuació.

Què passa a les connexions dins i fora del túnel VPN

Ara mirem aquests processos amb més detall.

Posició XNUMX

Quan s'envia alguna cosa des de 192.168.B.0/24 в 192.168.A.0/24 o de 192.168.A.0/24 в 192.168.B.0/24, entra a la VPN. És a dir, aquest paquet també es xifra i es transmet entre ells BBB1 и AAA1Sinó 192.168.A.1 veu exactament el paquet 192.168.B.1. Poden comunicar-se entre ells mitjançant qualsevol protocol. Les respostes de retorn es transmeten de la mateixa manera a través de la VPN, el que significa que el paquet de 192.168.A.1 per 192.168.B.1 s'enviarà com a datagrama ESP des de AAA1 en BBB1, que l'encaminador desplegarà en aquest costat, treure'n aquest paquet i enviar-lo 192.168.B.1 com un paquet de 192.168.A.1.

Exemple concret:

1) 192.168.B.1 apel·la a 192.168.A.1, vol establir una connexió TCP amb 192.168.A.1:3389;

2) 192.168.B.1 envia una sol·licitud de connexió des de 192.168.B.1:55555 (ell mateix escull el número de port per a la retroalimentació; d'ara endavant utilitzarem el número 55555 com a exemple del número de port que selecciona el sistema quan es forma una connexió TCP) a 192.168.A.1:3389;

3) un sistema operatiu que s'executa en un ordinador amb l'adreça 192.168.B.1, decideix reenviar aquest paquet a l'adreça de passarel·la de l'encaminador (192.168.B.254 en el nostre cas), perquè altres rutes més específiques per 192.168.A.1, no té, per tant, transmet el paquet per la ruta per defecte (0.0.0.0/0);

4) per a això intenta trobar l'adreça MAC de l'adreça IP 192.168.B.254 a la taula de memòria cau del protocol ARP. Si no es detecta, envia des de l'adreça 192.168.B.1 transmetre la sol·licitud de qui té a la xarxa 192.168.B.0/24. Quan 192.168.B.254 en resposta, li envia la seva adreça MAC, el sistema li transmet un paquet Ethernet i introdueix aquesta informació a la seva taula de memòria cau;

5) l'encaminador rep aquest paquet i decideix on enviar-lo: té una política escrita segons la qual ha d'enviar tots els paquets entre 192.168.B.0/24 и 192.168.A.0/24 transferir mitjançant una connexió VPN entre BBB1 и AAA1;

6) l'encaminador genera un datagrama ESP des de BBB1 en AAA1;

7) l'encaminador decideix a qui enviar aquest paquet, l'envia, per exemple, BBB254 (gateway ISP) perquè hi ha rutes més específiques AAA1, que 0.0.0.0/0, no té;

8) exactament el mateix que ja s'ha dit, troba l'adreça MAC per a BBB254 i transmet el paquet a la passarel·la ISP;

9) Els proveïdors d'Internet transmeten un datagrama ESP des de BBB1 en AAA1;

10) encaminador virtual activat AAA1 rep aquest datagrama, el desxifra i en rep un paquet 192.168.B.1:55555 per 192.168.A.1:3389;

11) l'encaminador virtual comprova a qui passar-lo, troba la xarxa a la taula d'encaminament 192.168.A.0/24 i l'envia directament a 192.168.A.1, perquè té una interfície 192.168.A.254/24;

12) per a això, l'encaminador virtual troba l'adreça MAC 192.168.A.1 i li transmet aquest paquet a través d'una xarxa Ethernet virtual;

13) 192.168.A.1 rep aquest paquet al port 3389, accepta establir una connexió i genera un paquet en resposta de 192.168.A.1:3389 en 192.168.B.1:55555;

14) el seu sistema transmet aquest paquet a l'adreça de passarel·la del router virtual (192.168.A.254 en el nostre cas), perquè altres rutes més específiques per 192.168.B.1, no té, per tant, ha de transmetre el paquet per la ruta per defecte (0.0.0.0/0);

15) el mateix que en casos anteriors, un sistema que s'executa en un servidor amb l'adreça 192.168.A.1, troba l'adreça MAC 192.168.A.254, ja que es troba a la mateixa xarxa amb la seva interfície 192.168.A.1/24;

16) l'encaminador virtual rep aquest paquet i decideix on enviar-lo: té una política escrita segons la qual ha d'enviar tots els paquets entre 192.168.A.0/24 и 192.168.B.0/24 transferir mitjançant una connexió VPN entre AAA1 и BBB1;

17) l'encaminador virtual genera un datagrama ESP des de AAA1 per BBB1;

18) l'encaminador virtual decideix a qui enviar aquest paquet, a qui l'envia AAA254 (La passarel·la ISP, en aquest cas, també som nosaltres), perquè hi ha rutes més específiques BBB1, que 0.0.0.0/0, no té;

19) Els proveïdors d'Internet transmeten un datagrama ESP a través de les seves xarxes amb AAA1 en BBB1;

20) Encaminador activat BBB1 rep aquest datagrama, el desxifra i en rep un paquet 192.168.A.1:3389 per 192.168.B.1:55555;

21) entén que s'ha de transferir específicament a 192.168.B.1, com que està a la mateixa xarxa que ell, per tant, té una entrada corresponent a la taula d'encaminament, que l'obliga a enviar paquets per a tota la 192.168.B.0/24 directament;

22) l'encaminador troba l'adreça MAC per a 192.168.B.1 i li entrega aquest paquet;

23) sistema operatiu en un ordinador amb l'adreça 192.168.B.1 rep un paquet de 192.168.A.1:3389 per 192.168.B.1:55555 i inicia els següents passos per establir una connexió TCP.

Aquest exemple de manera bastant concisa i simplificada (i aquí podeu recordar un munt d'altres detalls) descriu el que passa als nivells 2-4. Els nivells 1, 5-7 no es tenen en compte.

Posició dos

Si amb 192.168.B.0/24 alguna cosa s'envia específicament a AAA2, no va a la VPN, sinó directament. És a dir, si l'usuari des de l'adreça 192.168.B.1 apel·la a AAA2:13389, aquest paquet prové de l'adreça BBB1, passa AAA2, i després l'encaminador el rep i el transmet a 192.168.A.1. 192.168.A.1 no en sap res 192.168.B.1, veu un paquet de BBB1, perquè el va aconseguir. Per tant, la resposta a aquesta petició va per la via general, prové de l'adreça de la mateixa manera AAA2 i va a BBB1, i aquest encaminador envia aquesta resposta a 192.168.B.1, veu la resposta de AAA2, a qui s'adreçava.

Exemple concret:

1) 192.168.B.1 apel·la a AAA2, vol establir una connexió TCP amb AAA2:13389;

2) 192.168.B.1 envia una sol·licitud de connexió des de 192.168.B.1:55555 (aquest número, com en l'exemple anterior, pot ser diferent) on AAA2:13389;

3) un sistema operatiu que s'executa en un ordinador amb l'adreça 192.168.B.1, decideix reenviar aquest paquet a l'adreça de passarel·la de l'encaminador (192.168.B.254 en el nostre cas), perquè altres rutes més específiques per AAA2, no en té, el que significa que transmet el paquet per la ruta per defecte (0.0.0.0/0);

4) per a això, com hem comentat a l'exemple anterior, intenta trobar l'adreça MAC de l'adreça IP 192.168.B.254 a la taula de memòria cau del protocol ARP. Si no es detecta, envia des de l'adreça 192.168.B.1 transmetre la sol·licitud de qui té a la xarxa 192.168.B.0/24. Quan 192.168.B.254 en resposta, li envia la seva adreça MAC, el sistema li transmet un paquet Ethernet i introdueix aquesta informació a la seva taula de memòria cau;

5) l'encaminador rep aquest paquet i decideix on enviar-lo: té una política escrita segons la qual ha de reenviar (substituint l'adreça de retorn) tots els paquets de 192.168.B.0/24 a altres nodes d'Internet;

6) ja que aquesta política implica que l'adreça de retorn ha de coincidir amb l'adreça baixa de la interfície a través de la qual es transmetrà aquest paquet, l'encaminador decideix primer a qui enviar exactament aquest paquet i, com en l'exemple anterior, l'ha d'enviar. a BBB254 (gateway ISP) perquè hi ha rutes més específiques AAA2, que 0.0.0.0/0, no té;

7) per tant, l'encaminador substitueix l'adreça de retorn del paquet, d'ara endavant el paquet és BBB1:44444 (el número de port, per descomptat, pot ser diferent) a AAA2:13389;

8) l'encaminador recorda què va fer, és a dir, quan AAA2:13389 к BBB1:44444 arriba la resposta, sabrà que hauria de canviar l'adreça de destinació i el port a 192.168.B.1:55555.

9) ara l'encaminador hauria de passar-lo a la xarxa de l'ISP mitjançant BBB254per tant, com ja hem esmentat, troba l'adreça MAC per a BBB254 i transmet el paquet a la passarel·la ISP;

10) Els proveïdors d'Internet transmeten paquets des de BBB1 en AAA2;

11) encaminador virtual activat AAA2 rep aquest paquet al port 13389;

12) hi ha una regla al router virtual que estipula que els paquets rebuts de qualsevol remitent en aquest port s'han de transmetre a 192.168.A.1:3389;

13) l'encaminador virtual troba la xarxa a la taula d'encaminament 192.168.A.0/24 i l'envia directament 192.168.A.1 perquè té una interfície 192.168.A.254/24;

14) per a això, l'encaminador virtual troba l'adreça MAC 192.168.A.1 i li transmet aquest paquet a través d'una xarxa Ethernet virtual;

15) 192.168.A.1 rep aquest paquet al port 3389, accepta establir una connexió i genera un paquet en resposta de 192.168.A.1:3389 en BBB1:44444;

16) el seu sistema transmet aquest paquet a l'adreça de passarel·la del router virtual (192.168.A.254 en el nostre cas), perquè altres rutes més específiques per BBB1, no té, per tant, ha de transmetre el paquet per la ruta per defecte (0.0.0.0/0);

17) exactament igual que en casos anteriors, un sistema que s'executa en un servidor amb l'adreça 192.168.A.1, troba l'adreça MAC 192.168.A.254, ja que es troba a la mateixa xarxa amb la seva interfície 192.168.A.1/24;

18) l'encaminador virtual rep aquest paquet. Cal tenir en compte que recorda el que va rebre AAA2:13389 paquet de BBB1:44444 i va canviar l'adreça i el port del seu destinatari a 192.168.A.1:3389, per tant, el paquet de 192.168.A.1:3389 per BBB1:44444 canvia l'adreça del remitent a AAA2:13389;

19) l'encaminador virtual decideix a qui enviar aquest paquet, a qui l'envia AAA254 (La passarel·la ISP, en aquest cas, també som nosaltres), perquè hi ha rutes més específiques BBB1, que 0.0.0.0/0, no té;

20) Els proveïdors d'Internet transmeten un paquet amb AAA2 en BBB1;

21) Encaminador activat BBB1 rep aquest paquet i ho recorda quan va enviar el paquet de 192.168.B.1:55555 per AAA2:13389, va canviar la seva adreça i port del remitent a BBB1:44444, aquesta és la resposta a la qual cal enviar 192.168.B.1:55555 (de fet, hi ha diversos controls més, però no aprofundim en això);

22) entén que s'ha de transmetre directament a 192.168.B.1, com que està a la mateixa xarxa que ell, per tant, té una entrada corresponent a la taula d'encaminament, que l'obliga a enviar paquets per a tota la 192.168.B.0/24 directament;

23) l'encaminador troba l'adreça MAC per a 192.168.B.1 i li entrega aquest paquet;

24) sistema operatiu en un ordinador amb l'adreça 192.168.B.1 rep un paquet de AAA2:13389 per 192.168.B.1:55555 i inicia els següents passos per establir una connexió TCP.

Cal tenir en compte que en aquest cas l'ordinador amb l'adreça 192.168.B.1 no sap res del servidor amb l'adreça 192.168.A.1, només es comunica amb AAA2. Així mateix, el servidor amb l'adreça 192.168.A.1 no sap res de l'ordinador amb l'adreça 192.168.B.1. Creu que estava connectat des de l'adreça BBB1, i no sap res més, per dir-ho així.

També cal tenir en compte que si aquest ordinador accedeix AAA2:1540, la connexió no s'establirà perquè el reenviament de connexió al port 1540 no està configurat a l'encaminador virtual, fins i tot si es troba en qualsevol servidor de la xarxa virtual. 192.168.A.0/24 (per exemple, en un servidor amb l'adreça 192.168.A.1) i hi ha alguns serveis que estan esperant connexions en aquest port. Si un usuari d'ordinador amb una adreça 192.168.B.1 És imprescindible establir una connexió amb aquest servei, ha d'utilitzar una VPN, és a dir. contactar directament 192.168.A.1:1540.

Cal subratllar que qualsevol intent d'establir una connexió amb AAA1 (excepte per a la connexió IPSec de l' BBB1 no tindrà èxit. Qualsevol intent d'establir connexions amb AAA2, tret de les connexions al port 13389, tampoc tindran èxit.
També observem que si és així AAA2 Si una altra persona sol·licita (per exemple, CCCC), també s'aplicarà a ell tot el que s'indica als apartats 10-20. Què passa abans i després d'això depèn de què hi ha exactament darrere d'aquest CCCC No disposem d'aquesta informació, per això us aconsellem que consulteu els administradors del node amb l'adreça CCCC.

Posició tres

I, a la inversa, si amb 192.168.A.1 alguna cosa s'envia a algun port que està configurat per reenviar cap a BBB1 (per exemple, 11111), tampoc no acaba a la VPN, sinó que simplement flueix des de AAA1 i entra BBB1, i ja ho transmet en algun lloc, per exemple, 192.168.B.2:3389. Ell veu aquest paquet no des 192.168.A.1, i des de AAA1. I quan 192.168.B.2 respon, el paquet prové BBB1 en AAA1, i més tard arriba a l'iniciador de la connexió - 192.168.A.1.

Exemple concret:

1) 192.168.A.1 apel·la a BBB1, vol establir una connexió TCP amb BBB1:11111;

2) 192.168.A.1 envia una sol·licitud de connexió des de 192.168.A.1:55555 (aquest número, com en l'exemple anterior, pot ser diferent) on BBB1:11111;

3) un sistema operatiu que s'executa en un servidor amb l'adreça 192.168.A.1, decideix reenviar aquest paquet a l'adreça de passarel·la de l'encaminador (192.168.A.254 en el nostre cas), perquè altres rutes més específiques per BBB1, no té, per tant, transmet el paquet per la ruta per defecte (0.0.0.0/0);

4) per a això, com hem esmentat en exemples anteriors, intenta trobar l'adreça MAC de l'adreça IP 192.168.A.254 a la taula de memòria cau del protocol ARP. Si no es detecta, envia des de l'adreça 192.168.A.1 transmetre la sol·licitud de qui té a la xarxa 192.168.A.0/24. Quan 192.168.A.254 en resposta, li envia la seva adreça MAC, el sistema li transmet un paquet Ethernet i introdueix aquesta informació a la seva taula de memòria cau;

5) l'encaminador virtual rep aquest paquet i decideix on reenviar-lo: té una política escrita segons la qual ha de reenviar (substituint l'adreça de retorn) tots els paquets de 192.168.A.0/24 a altres nodes d'Internet;

6) ja que aquesta política suposa que l'adreça de retorn ha de coincidir amb l'adreça baixa de la interfície a través de la qual es transmetrà aquest paquet, l'encaminador virtual decideix primer a qui enviar exactament aquest paquet i, com en l'exemple anterior, ha d'enviar-lo. a AAA254 (La passarel·la ISP, en aquest cas, també som nosaltres), perquè hi ha rutes més específiques BBB1, que 0.0.0.0/0, no té;

7) això significa que l'encaminador virtual substitueix l'adreça de retorn del paquet, a partir d'ara és un paquet de AAA1:44444 (el número de port, per descomptat, pot ser diferent) a BBB1:11111;

8) l'encaminador virtual recorda què va fer, per tant, quan des BBB1:11111 per AAA1:44444 arriba la resposta, sabrà que hauria de canviar l'adreça de destinació i el port a 192.168.A.1:55555.

9) ara l'encaminador virtual hauria de passar-lo a la xarxa de l'ISP mitjançant AAA254, així que com ja hem esmentat, troba l'adreça MAC per a AAA254 i transmet el paquet a la passarel·la ISP;

10) Els proveïdors d'Internet transmeten paquets des de AAA1 a BBB1;

11) Encaminador activat BBB1 rep aquest paquet al port 11111;

12) hi ha una regla al router virtual que estipula que els paquets que arriben de qualsevol remitent en aquest port s'han de transmetre a 192.168.B.2:3389;

13) l'encaminador troba la xarxa a la taula d'encaminament 192.168.B.0/24 i l'envia directament a 192.168.B.2, perquè té una interfície 192.168.B.254/24;

14) per a això, l'encaminador virtual troba l'adreça MAC 192.168.B.2 i li transmet aquest paquet a través d'una xarxa Ethernet virtual;

15) 192.168.B.2 rep aquest paquet al port 3389, accepta establir una connexió i genera un paquet en resposta de 192.168.B.2:3389 en AAA1:44444;

16) el seu sistema transmet aquest paquet a l'adreça de passarel·la de l'encaminador (192.168.B.254 en el nostre cas), perquè altres rutes més específiques per AAA1, no té, per tant, ha de transmetre el paquet per la ruta per defecte (0.0.0.0/0);

17) de la mateixa manera que en casos anteriors, un sistema que funciona en un ordinador amb l'adreça 192.168.B.2, troba l'adreça MAC 192.168.B.254, ja que es troba a la mateixa xarxa amb la seva interfície 192.168.B.2/24;

18) l'encaminador rep aquest paquet. Cal tenir en compte que recorda el que va rebre BBB1:11111 paquet de AAA1 i va canviar l'adreça i el port del seu destinatari a 192.168.B.2:3389, per tant, el paquet de 192.168.B.2:3389 per AAA1:44444 canvia l'adreça del remitent a BBB1:11111;

19) l'encaminador decideix a qui enviar aquest paquet. L'envia a, per exemple, BBB254 (Pasarela ISP, l'adreça exacta de la qual desconeixem), perquè no hi ha rutes més específiques AAA1, que 0.0.0.0/0, no té;

20) Els proveïdors d'Internet transmeten un paquet amb BBB1 en AAA1;

21) encaminador virtual activat AAA1 rep aquest paquet i ho recorda quan va enviar el paquet de 192.168.A.1:55555 per BBB1:11111, va canviar la seva adreça i port del remitent a AAA1:44444. Això vol dir que aquesta és la resposta a la qual cal enviar 192.168.A.1:55555 (de fet, com hem comentat a l'exemple anterior, també hi ha diverses comprovacions més, però aquesta vegada no les aprofundim);

22) entén que s'ha de transmetre directament a 192.168.A.1, com que està a la mateixa xarxa que ell, vol dir que té una entrada corresponent a la taula d'encaminament que l'obliga a enviar paquets a tota la xarxa. 192.168.A.0/24 directament;

23) l'encaminador troba l'adreça MAC per a 192.168.A.1 i li entrega aquest paquet;

24) sistema operatiu al servidor amb l'adreça 192.168.A.1 rep un paquet de BBB1:11111 per 192.168.A.1:55555 i inicia els següents passos per establir una connexió TCP.

Exactament igual que en el cas anterior, en aquest cas el servidor amb l'adreça 192.168.A.1 no sap res de l'ordinador amb l'adreça 192.168.B.1, només es comunica amb BBB1. Ordinador amb adreça 192.168.B.1 tampoc no sap res del servidor amb l'adreça 192.168.A.1. Creu que estava connectat des de l'adreça AAA1, i la resta se li amaga.

Sortida

Així és com passa tot per a les connexions dins del túnel VPN entre l'oficina del client i l'entorn del núvol, així com per a les connexions fora del túnel VPN. I si teniu cap pregunta o necessiteu la nostra ajuda per resoldre els problemes del núvol, contacta amb nosaltres 24x7.

Font: www.habr.com

Afegeix comentari