Que ocorre nas conexións dentro e fóra do túnel VPN

Os artigos reais nacen de cartas ao soporte técnico de Tucha. Por exemplo, un cliente achegouse recentemente connosco para aclarar o que ocorre durante as conexións dentro do túnel VPN entre a oficina do usuario e o ambiente na nube, así como durante as conexións fóra do túnel VPN. Polo tanto, o texto completo a continuación é unha carta real que enviamos a un dos nosos clientes en resposta á súa pregunta. Por suposto, modificáronse os enderezos IP para non desanonimar o cliente. Pero, si, o soporte técnico de Tucha é realmente famoso polas súas respostas detalladas e correos electrónicos informativos. 🙂

Por suposto, entendemos que para moitos este artigo non será unha revelación. Pero, dado que aparecen artigos para administradores novatos en Habr de cando en vez, e tamén dado que este artigo apareceu nunha carta real a un cliente real, aínda compartiremos esta información aquí. Hai unha alta probabilidade de que sexa útil para alguén.
Por iso, explicamos en detalle o que ocorre entre o servidor da nube e a oficina se están conectados por unha rede de sitio a sitio. Teña en conta que só se pode acceder a algúns servizos desde a oficina e a algúns desde calquera lugar de Internet.

Expliquemos inmediatamente o que quería o noso cliente no servidor 192.168.A.1 podería vir desde calquera lugar a través de RDP, conectándose a AAA2:13389, e acceso a outros servizos só desde a oficina (192.168.B.0/24)conectado mediante VPN. Ademais, o cliente inicialmente tiña configurado que o coche 192.168.B.2 na oficina tamén era posible usar RDP desde calquera lugar, conectándose a BBB1:11111. Axudamos a organizar as conexións IPSec entre a nube e a oficina, e o especialista en TI do cliente comezou a facer preguntas sobre o que sucedería neste ou aquel caso. Para responder a todas estas preguntas, de feito, escribimoslle todo o que podes ler a continuación.

Que ocorre nas conexións dentro e fóra do túnel VPN

Agora vexamos estes procesos con máis detalle.

Posición un

Cando se envía algo desde 192.168.B.0/24 в 192.168.A.0/24 ou de 192.168.A.0/24 в 192.168.B.0/24, entra na VPN. É dicir, este paquete é adicionalmente cifrado e transmitido entre BBB1 и AAA1Pero 192.168.A.1 ve o paquete exactamente desde 192.168.B.1. Poden comunicarse entre si mediante calquera protocolo. As respostas de retorno transmítense do mesmo xeito a través da VPN, o que significa que o paquete procedente 192.168.A.1 para 192.168.B.1 enviarase como un datagrama ESP de AAA1 en BBB1, que o enrutador despregará por ese lado, sacará ese paquete e envialo 192.168.B.1 como un paquete de 192.168.A.1.

Exemplo específico:

1) 192.168.B.1 apela a 192.168.A.1, quere establecer unha conexión TCP con 192.168.A.1:3389;

2) 192.168.B.1 envía unha solicitude de conexión desde 192.168.B.1:55555 (elixe el mesmo o número de porto para a retroalimentación; en adiante usaremos o número 55555 como exemplo do número de porto que selecciona o sistema ao formar unha conexión TCP) en 192.168.A.1:3389;

3) un sistema operativo que se executa nun ordenador co enderezo 192.168.B.1, decide reenviar este paquete ao enderezo da pasarela do router (192.168.B.254 no noso caso), porque outras rutas máis específicas para 192.168.A.1, non ten, polo tanto, transmite o paquete pola ruta predeterminada (0.0.0.0/0);

4) para iso tenta atopar o enderezo MAC para o enderezo IP 192.168.B.254 na táboa de caché do protocolo ARP. Se non se detecta, envía desde o enderezo 192.168.B.1 transmitir a solicitude quen ten á rede 192.168.B.0/24. Cando 192.168.B.254 en resposta, envíalle o seu enderezo MAC, o sistema transmite un paquete Ethernet para el e introduce esta información na súa táboa de caché;

5) o router recibe este paquete e decide onde reenvialo: ten unha política escrita segundo a cal debe enviar todos os paquetes entre 192.168.B.0/24 и 192.168.A.0/24 transferir a través dunha conexión VPN entre BBB1 и AAA1;

6) o router xera un datagrama ESP desde BBB1 en AAA1;

7) o router decide a quen enviar este paquete, envíao, por exemplo, BBB254 (pasarela ISP) porque hai rutas máis específicas para AAA1, que 0.0.0.0/0, non ten;

8) exactamente o mesmo que xa se dixo, atopa o enderezo MAC para BBB254 e transmite o paquete á pasarela do ISP;

9) Os provedores de Internet transmiten un datagrama ESP desde BBB1 en AAA1;

10) enrutador virtual activado AAA1 recibe este datagrama, decífrao e recibe un paquete de 192.168.B.1:55555 para 192.168.A.1:3389;

11) o enrutador virtual comproba a quen pasalo, atopa a rede na táboa de enrutamento 192.168.A.0/24 e envíao directamente a 192.168.A.1, porque ten unha interface 192.168.A.254/24;

12) para iso, o enrutador virtual atopa o enderezo MAC para 192.168.A.1 e envíalle este paquete a través dunha rede Ethernet virtual;

13) 192.168.A.1 recibe este paquete no porto 3389, acepta establecer unha conexión e xera un paquete en resposta de 192.168.A.1:3389 en 192.168.B.1:55555;

14) o seu sistema transmite este paquete á dirección de pasarela do router virtual (192.168.A.254 no noso caso), porque outras rutas máis específicas para 192.168.B.1, non ten, polo tanto, debe transmitir o paquete pola ruta predeterminada (0.0.0.0/0);

15) o mesmo que en casos anteriores, un sistema que se executa nun servidor co enderezo 192.168.A.1, atopa o enderezo MAC 192.168.A.254, xa que está na mesma rede coa súa interface 192.168.A.1/24;

16) o router virtual recibe este paquete e decide onde reenvialo: ten unha política escrita segundo a cal debe enviar todos os paquetes entre 192.168.A.0/24 и 192.168.B.0/24 transferir a través dunha conexión VPN entre AAA1 и BBB1;

17) o enrutador virtual xera un datagrama ESP desde AAA1 para BBB1;

18) o enrutador virtual decide a quen enviar este paquete e envíao AAA254 (A pasarela do ISP, neste caso, tamén somos nós), porque hai rutas máis específicas para BBB1, que 0.0.0.0/0, non ten;

19) Os provedores de Internet transmiten un datagrama ESP a través das súas redes con AAA1 en BBB1;

20) router conectado BBB1 recibe este datagrama, decífrao e recibe un paquete de 192.168.A.1:3389 para 192.168.B.1:55555;

21) entende que debería transferirse especificamente a 192.168.B.1, xa que está na mesma rede con el, polo tanto, ten unha entrada correspondente na táboa de enrutamento, que o obriga a enviar paquetes para toda a 192.168.B.0/24 directamente;

22) o router atopa o enderezo MAC para 192.168.B.1 e entrégalle este paquete;

23) sistema operativo nun ordenador co enderezo 192.168.B.1 recibe un paquete de 192.168.A.1:3389 para 192.168.B.1:55555 e inicia os seguintes pasos para establecer unha conexión TCP.

Este exemplo de forma bastante concisa e simplificada (e aquí podes lembrar unha morea de outros detalles) describe o que ocorre nos niveis 2-4. Non se consideran os niveis 1, 5-7.

Posición segunda

Se con 192.168.B.0/24 algo se envía especificamente a AAA2, non vai á VPN, senón directamente. É dicir, se o usuario do enderezo 192.168.B.1 apela a AAA2:13389, este paquete provén do enderezo BBB1, pasa AAA2, e despois o enrutador recíbeo e transmíteo a 192.168.A.1. 192.168.A.1 non sabe nada 192.168.B.1, ve un paquete de BBB1, porque o conseguiu. Polo tanto, a resposta a esta solicitude segue a vía xeral, procede da dirección do mesmo xeito AAA2 e vai a BBB1, e ese enrutador envía esta resposta a 192.168.B.1, ve a resposta de AAA2, a quen se dirixiu.

Exemplo específico:

1) 192.168.B.1 apela a AAA2, quere establecer unha conexión TCP con AAA2:13389;

2) 192.168.B.1 envía unha solicitude de conexión desde 192.168.B.1:55555 (este número, como no exemplo anterior, pode ser diferente) on AAA2:13389;

3) un sistema operativo que se executa nun ordenador co enderezo 192.168.B.1, decide reenviar este paquete ao enderezo da pasarela do router (192.168.B.254 no noso caso), porque outras rutas máis específicas para AAA2, non ten un, o que significa que transmite o paquete a través da ruta predeterminada (0.0.0.0/0);

4) para iso, como mencionamos no exemplo anterior, tenta atopar o enderezo MAC para o enderezo IP 192.168.B.254 na táboa de caché do protocolo ARP. Se non se detecta, envía desde o enderezo 192.168.B.1 transmitir a solicitude quen ten á rede 192.168.B.0/24. Cando 192.168.B.254 en resposta, envíalle o seu enderezo MAC, o sistema transmite un paquete Ethernet para el e introduce esta información na súa táboa de caché;

5) o router recibe este paquete e decide onde reenvialo: ten unha política escrita segundo a cal debe reenviar (substituíndo o enderezo de retorno) todos os paquetes de 192.168.B.0/24 a outros nodos de Internet;

6) dado que esta política implica que o enderezo de retorno debe coincidir co enderezo baixo da interface a través da cal se transmitirá este paquete, o router decide primeiro a quen enviar exactamente este paquete e, como no exemplo anterior, debe enviarllo. a BBB254 (pasarela ISP) porque hai rutas máis específicas para AAA2, que 0.0.0.0/0, non ten;

7) polo tanto, o enrutador substitúe o enderezo de retorno do paquete, de aí en diante o paquete é de BBB1:44444 (o número de porto, por suposto, pode ser diferente) to AAA2:13389;

8) o router lembra o que fixo, o que significa cando AAA2:13389 к BBB1:44444 chegue a resposta, saberá que debe cambiar o enderezo de destino e o porto a 192.168.B.1:55555.

9) agora o enrutador debería pasalo á rede do ISP a través BBB254polo tanto, como xa mencionamos, atopa o enderezo MAC para BBB254 e transmite o paquete á pasarela do ISP;

10) Os provedores de Internet transmiten paquetes desde BBB1 en AAA2;

11) enrutador virtual activado AAA2 recibe este paquete no porto 13389;

12) hai unha regra no enrutador virtual que estipula que os paquetes recibidos de calquera remitente neste porto deben transmitirse a 192.168.A.1:3389;

13) o enrutador virtual atopa a rede na táboa de enrutamento 192.168.A.0/24 e envíao directamente 192.168.A.1 porque ten unha interface 192.168.A.254/24;

14) para iso, o enrutador virtual atopa o enderezo MAC para 192.168.A.1 e envíalle este paquete a través dunha rede Ethernet virtual;

15) 192.168.A.1 recibe este paquete no porto 3389, acepta establecer unha conexión e xera un paquete en resposta de 192.168.A.1:3389 en BBB1:44444;

16) o seu sistema transmite este paquete á dirección de pasarela do router virtual (192.168.A.254 no noso caso), porque outras rutas máis específicas para BBB1, non ten, polo tanto, debe transmitir o paquete pola ruta predeterminada (0.0.0.0/0);

17) exactamente o mesmo que en casos anteriores, un sistema que se executa nun servidor co enderezo 192.168.A.1, atopa o enderezo MAC 192.168.A.254, xa que está na mesma rede coa súa interface 192.168.A.1/24;

18) o router virtual recibe este paquete. Hai que ter en conta que lembra o que recibiu AAA2:13389 paquete de BBB1:44444 e cambiou o enderezo e o porto do seu destinatario a 192.168.A.1:3389, polo tanto, o paquete de 192.168.A.1:3389 para BBB1:44444 cambia o enderezo do remitente a AAA2:13389;

19) o enrutador virtual decide a quen enviar este paquete, a que envíao AAA254 (A pasarela do ISP, neste caso, tamén somos nós), porque hai rutas máis específicas para BBB1, que 0.0.0.0/0, non ten;

20) Os provedores de Internet transmiten un paquete con AAA2 en BBB1;

21) router conectado BBB1 recibe este paquete e lembra que cando enviou o paquete desde 192.168.B.1:55555 para AAA2:13389, cambiou o seu enderezo e porto do remitente a BBB1:44444, entón esta é a resposta á que se debe enviar 192.168.B.1:55555 (de feito, hai varias comprobacións máis alí, pero non afondamos niso);

22) entende que debe transmitirse directamente a 192.168.B.1, xa que está na mesma rede con el, polo tanto, ten unha entrada correspondente na táboa de enrutamento, que o obriga a enviar paquetes para toda a 192.168.B.0/24 directamente;

23) o router atopa o enderezo MAC para 192.168.B.1 e entrégalle este paquete;

24) sistema operativo nun ordenador co enderezo 192.168.B.1 recibe un paquete de AAA2:13389 para 192.168.B.1:55555 e inicia os seguintes pasos para establecer unha conexión TCP.

Hai que ter en conta que neste caso o ordenador co enderezo 192.168.B.1 non sabe nada do servidor co enderezo 192.168.A.1, só se comunica con el AAA2. Así mesmo, o servidor co enderezo 192.168.A.1 non sabe nada do ordenador co enderezo 192.168.B.1. Cre que estaba conectado dende o enderezo BBB1, e non sabe nada máis, por así dicilo.

Tamén hai que ter en conta que se accede este ordenador AAA2:1540, a conexión non se establecerá porque o reenvío de conexión ao porto 1540 non está configurado no enrutador virtual, aínda que nalgún servidor da rede virtual 192.168.A.0/24 (por exemplo, nun servidor co enderezo 192.168.A.1) e hai algúns servizos que están esperando conexións neste porto. Se un usuario de ordenador con enderezo 192.168.B.1 É imprescindible establecer unha conexión a este servizo, debe utilizar unha VPN, é dicir. contactar directamente 192.168.A.1:1540.

Cómpre subliñar que calquera intento de establecer unha conexión con AAA1 (excepto a conexión IPSec desde o BBB1 non terá éxito. Calquera intento de establecer conexións con AAA2, excepto para as conexións ao porto 13389, tampouco terá éxito.
Tamén observamos que se é necesario AAA2 Se se solicita outra persoa (por exemplo, CCCC), tamén se lle aplicará todo o indicado nos parágrafos 10-20. O que pasa antes e despois disto depende do que hai exactamente detrás deste CCCC Non dispoñemos desta información, polo que aconsellamos que consultes cos administradores do nodo co enderezo CCCC

Posición tres

E, pola contra, se con 192.168.A.1 algo envíase a algún porto que está configurado para reenviar a BBB1 (por exemplo, 11111), tampouco termina na VPN, senón que simplemente flúe desde AAA1 e métese BBB1, e xa o transmite nalgún lugar, por exemplo, 192.168.B.2:3389. El ve este paquete non de 192.168.A.1, e dende AAA1. E cando 192.168.B.2 responde, o paquete vén de BBB1 en AAA1, e máis tarde chega ao iniciador da conexión - 192.168.A.1.

Exemplo específico:

1) 192.168.A.1 apela a BBB1, quere establecer unha conexión TCP con BBB1:11111;

2) 192.168.A.1 envía unha solicitude de conexión desde 192.168.A.1:55555 (este número, como no exemplo anterior, pode ser diferente) on BBB1:11111;

3) un sistema operativo que se executa nun servidor co enderezo 192.168.A.1, decide reenviar este paquete ao enderezo da pasarela do router (192.168.A.254 no noso caso), porque outras rutas máis específicas para BBB1, non ten, polo tanto, transmite o paquete pola ruta predeterminada (0.0.0.0/0);

4) para iso, como mencionamos en exemplos anteriores, tenta atopar o enderezo MAC para o enderezo IP 192.168.A.254 na táboa de caché do protocolo ARP. Se non se detecta, envía desde o enderezo 192.168.A.1 transmitir a solicitude quen ten á rede 192.168.A.0/24. Cando 192.168.A.254 en resposta, envíalle o seu enderezo MAC, o sistema transmite un paquete Ethernet para el e introduce esta información na súa táboa de caché;

5) o router virtual recibe este paquete e decide onde reenvialo: ten unha política escrita segundo a cal debe reenviar (substituíndo o enderezo de retorno) todos os paquetes de 192.168.A.0/24 a outros nodos de Internet;

6) dado que esta política supón que o enderezo de retorno debe coincidir co enderezo baixo da interface a través da cal se transmitirá este paquete, o enrutador virtual decide primeiro a quen enviar exactamente este paquete e, como no exemplo anterior, debe enviar encendido AAA254 (A pasarela do ISP, neste caso, tamén somos nós), porque hai rutas máis específicas para BBB1, que 0.0.0.0/0, non ten;

7) isto significa que o enrutador virtual substitúe o enderezo de retorno do paquete, a partir de agora é un paquete de AAA1:44444 (o número de porto, por suposto, pode ser diferente) to BBB1:11111;

8) o enrutador virtual lembra o que fixo, polo tanto, cando desde BBB1:11111 para AAA1:44444 chegue a resposta, saberá que debe cambiar o enderezo de destino e o porto a 192.168.A.1:55555.

9) agora o enrutador virtual debería pasalo á rede do ISP a través AAA254, polo que, como xa mencionamos, atopa o enderezo MAC para AAA254 e transmite o paquete á pasarela do ISP;

10) Os provedores de Internet transmiten paquetes desde AAA1 para BBB1;

11) router conectado BBB1 recibe este paquete no porto 11111;

12) hai unha regra no enrutador virtual que estipula que os paquetes que chegaron desde calquera remitente neste porto deben transmitirse a 192.168.B.2:3389;

13) o enrutador atopa a rede na táboa de enrutamento 192.168.B.0/24 e envíao directamente a 192.168.B.2, porque ten unha interface 192.168.B.254/24;

14) para iso, o enrutador virtual atopa o enderezo MAC para 192.168.B.2 e envíalle este paquete a través dunha rede Ethernet virtual;

15) 192.168.B.2 recibe este paquete no porto 3389, acepta establecer unha conexión e xera un paquete en resposta de 192.168.B.2:3389 en AAA1:44444;

16) o seu sistema transmite este paquete ao enderezo da pasarela do router (192.168.B.254 no noso caso), porque outras rutas máis específicas para AAA1, non ten, polo tanto, debe transmitir o paquete pola ruta predeterminada (0.0.0.0/0);

17) do mesmo xeito que en casos anteriores, un sistema que se executa nun ordenador co enderezo 192.168.B.2, atopa o enderezo MAC 192.168.B.254, xa que está na mesma rede coa súa interface 192.168.B.2/24;

18) o router recibe este paquete. Hai que ter en conta que lembra o que recibiu BBB1:11111 paquete de AAA1 e cambiou o enderezo e o porto do seu destinatario a 192.168.B.2:3389, polo tanto, o paquete de 192.168.B.2:3389 para AAA1:44444 cambia o enderezo do remitente a BBB1:11111;

19) o router decide a quen enviar este paquete. Envíao a, digamos, BBB254 (pasarela ISP, cuxo enderezo exacto descoñecemos), porque non hai rutas máis específicas para AAA1, que 0.0.0.0/0, non ten;

20) Os provedores de Internet transmiten un paquete con BBB1 en AAA1;

21) enrutador virtual activado AAA1 recibe este paquete e lembra que cando enviou o paquete desde 192.168.A.1:55555 para BBB1:11111, cambiou o seu enderezo e porto do remitente a AAA1:44444. Isto significa que esta é a resposta á que hai que enviar 192.168.A.1:55555 (de feito, como comentamos no exemplo anterior, tamén hai varias comprobacións máis, pero nesta ocasión non afondamos con elas);

22) entende que debe transmitirse directamente a 192.168.A.1, xa que está na mesma rede con el, significa que ten unha entrada correspondente na táboa de enrutamento que o obriga a enviar paquetes a toda a 192.168.A.0/24 directamente;

23) o router atopa o enderezo MAC para 192.168.A.1 e entrégalle este paquete;

24) sistema operativo no servidor co enderezo 192.168.A.1 recibe un paquete de BBB1:11111 para 192.168.A.1:55555 e inicia os seguintes pasos para establecer unha conexión TCP.

Exactamente igual que no caso anterior, neste caso o servidor co enderezo 192.168.A.1 non sabe nada do ordenador co enderezo 192.168.B.1, só se comunica con el BBB1. Ordenador con enderezo 192.168.B.1 tampouco sabe nada do servidor co enderezo 192.168.A.1. Cre que estaba conectado dende o enderezo AAA1, e o resto está oculto del.

Saída

Así ocorre todo para as conexións dentro do túnel VPN entre a oficina do cliente e o ambiente na nube, así como para as conexións fóra do túnel VPN. E se tes algunha dúbida ou necesitas a nosa axuda para resolver problemas na nube, póñase en contacto connosco 24x7.

Fonte: www.habr.com

Engadir un comentario