Qué sucede con las conexiones dentro y fuera del túnel VPN

Los artículos reales nacen de cartas al soporte técnico de Tucha. Por ejemplo, un cliente se acercó recientemente a nosotros para solicitarnos aclarar qué sucede durante las conexiones dentro del túnel VPN entre la oficina del usuario y el entorno de la nube, así como durante las conexiones fuera del túnel VPN. Por lo tanto, el texto completo a continuación es una carta real que enviamos a uno de nuestros clientes en respuesta a su pregunta. Por supuesto, las direcciones IP se cambiaron para no anonimizar al cliente. Pero sí, el soporte técnico de Tucha es realmente famoso por sus respuestas detalladas y correos electrónicos informativos. 🙂

Eso sí, entendemos que para muchos este artículo no será una revelación. Pero, dado que de vez en cuando aparecen artículos para administradores novatos en Habr, y también que este artículo surgió de una carta real a un cliente real, seguiremos compartiendo esta información aquí. Existe una alta probabilidad de que le resulte útil a alguien.
Por ello, te explicamos detalladamente qué sucede entre el servidor en la nube y la oficina si están conectados mediante una red de sitio a sitio. Tenga en cuenta que solo se puede acceder a algunos servicios desde la oficina y a otros desde cualquier lugar de Internet.

Expliquemos inmediatamente qué quería nuestro cliente en el servidor. 192.168.A.1 podrías venir desde cualquier lugar vía RDP, conectándote a AAA2:13389y acceso a otros servicios sólo desde la oficina (192.168.B.0/24)conectado a través de VPN. Además, el cliente inicialmente tenía configurado que el coche 192.168.B.2 en la oficina también era posible utilizar RDP desde cualquier lugar, conectándose a BBB1:11111. Ayudamos a organizar las conexiones IPSec entre la nube y la oficina, y el especialista en TI del cliente comenzó a hacer preguntas sobre qué pasaría en tal o cual caso. Para responder a todas estas preguntas, de hecho, le escribimos todo lo que puedes leer a continuación.

Qué sucede con las conexiones dentro y fuera del túnel VPN

Ahora veamos estos procesos con más detalle.

Posición uno

Cuando se envía algo desde 192.168.B.0/24 в 192.168.A.0/24 o fuera 192.168.A.0/24 в 192.168.B.0/24, ingresa a la VPN. Es decir, este paquete se cifra adicionalmente y se transmite entre BBB1 и AAA1Sino 192.168.A.1 ve el paquete exactamente desde 192.168.B.1. Pueden comunicarse entre sí mediante cualquier protocolo. Las respuestas devueltas se transmiten de la misma manera a través de la VPN, lo que significa que el paquete de 192.168.A.1 para 192.168.B.1 será enviado como un datagrama ESP desde AAA1 en BBB1, que el enrutador desplegará en ese lado, saque ese paquete y envíelo a 192.168.B.1 como un paquete de 192.168.A.1.

Ejemplo concreto:

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

2) 192.168.B.1 envía una solicitud de conexión desde 192.168.B.1:55555 (él mismo elige el número de puerto para recibir comentarios; de ahora en adelante usaremos el número 55555 como ejemplo del número de puerto que el sistema selecciona al formar una conexión TCP) en 192.168.A.1:3389;

3) un sistema operativo que se ejecuta en una computadora con la dirección 192.168.B.1, decide reenviar este paquete a la dirección de puerta de enlace del enrutador (192.168.B.254 en nuestro caso), porque otras rutas más específicas para 192.168.A.1, no tiene, por lo tanto, transmite el paquete por la ruta predeterminada (0.0.0.0/0);

4) para esto intenta encontrar la dirección MAC para la dirección IP 192.168.B.254 en la tabla de caché del protocolo ARP. Si no se detecta envía desde la dirección 192.168.B.1 transmitir la solicitud de quién tiene a la red 192.168.B.0/24. Cuando 192.168.B.254 en respuesta, le envía su dirección MAC, el sistema le transmite un paquete Ethernet e ingresa esta información en su tabla de caché;

5) el enrutador recibe este paquete y decide dónde reenviarlo: tiene una política escrita según la cual debe enviar todos los paquetes entre 192.168.B.0/24 и 192.168.A.0/24 transferir a través de una conexión VPN entre BBB1 и AAA1;

6) el enrutador genera un datagrama ESP desde BBB1 en AAA1;

7) el enrutador decide a quién enviar este paquete, se lo envía, por ejemplo, BBB254 (puerta de enlace ISP) porque hay rutas más específicas para AAA1, que 0.0.0.0/0, no tiene;

8) exactamente lo mismo que ya se dijo, encuentra la dirección MAC para BBB254 y transmite el paquete a la puerta de enlace del ISP;

9) Los proveedores de Internet transmiten un datagrama ESP desde BBB1 en AAA1;

10) enrutador virtual encendido AAA1 recibe este datagrama, lo descifra y recibe un paquete de 192.168.B.1:55555 para 192.168.A.1:3389;

11) el enrutador virtual verifica a quién pasarlo y encuentra la red en la tabla de enrutamiento 192.168.A.0/24 y lo envía directamente a 192.168.A.1, porque tiene una interfaz 192.168.A.254/24;

12) para esto, el enrutador virtual encuentra la dirección MAC para 192.168.A.1 y le transmite este paquete a través de una red Ethernet virtual;

13). 192.168.A.1 recibe este paquete en el puerto 3389, acepta establecer una conexión y genera un paquete en respuesta de 192.168.A.1:3389 en 192.168.B.1:55555;

14) su sistema transmite este paquete a la dirección de puerta de enlace del enrutador virtual (192.168.A.254 en nuestro caso), porque otras rutas más específicas para 192.168.B.1, no tiene, por lo tanto, debe transmitir el paquete por la ruta predeterminada (0.0.0.0/0);

15) lo mismo que en casos anteriores, un sistema que se ejecuta en un servidor con la dirección 192.168.A.1, encuentra la dirección MAC 192.168.A.254, ya que está en la misma red con su interfaz 192.168.A.1/24;

16) el enrutador virtual recibe este paquete y decide dónde reenviarlo: tiene una política escrita según la cual debe enviar todos los paquetes entre 192.168.A.0/24 и 192.168.B.0/24 transferir a través de una conexión VPN entre AAA1 и BBB1;

17) el enrutador virtual genera un datagrama ESP desde AAA1 para BBB1;

18) el enrutador virtual decide a quién enviar este paquete, lo envía a AAA254 (Puerta de enlace ISP, en este caso, también somos nosotros), porque hay rutas más específicas para BBB1, que 0.0.0.0/0, no tiene;

19) Los proveedores de Internet transmiten un datagrama ESP a través de sus redes con AAA1 en BBB1;

20) enrutador encendido BBB1 recibe este datagrama, lo descifra y recibe un paquete de 192.168.A.1:3389 para 192.168.B.1:55555;

21) entiende que debe ser transferido específicamente a 192.168.B.1, dado que está en la misma red que él, tiene una entrada correspondiente en la tabla de enrutamiento, lo que lo obliga a enviar paquetes para todo el 192.168.B.0/24 directamente;

22) el enrutador encuentra la dirección MAC para 192.168.B.1 y le entrega este paquete;

23) sistema operativo en una computadora con la dirección 192.168.B.1 recibe un paquete de 192.168.A.1:3389 para 192.168.B.1:55555 e inicia los siguientes pasos para establecer una conexión TCP.

Este ejemplo de manera bastante concisa y simplificada (y aquí puedes recordar muchos otros detalles) describe lo que sucede en los niveles 2-4. No se consideran los niveles 1, 5-7.

posición dos

Si con 192.168.B.0/24 algo se envía específicamente a AAA2, no va a la VPN, sino directamente. Es decir, si el usuario de la dirección 192.168.B.1 apela a AAA2:13389, este paquete proviene de la dirección BBB1, pasa AAA2, y luego el enrutador lo recibe y lo transmite a 192.168.A.1. 192.168.A.1 no sabe nada sobre 192.168.B.1, ve un paquete de BBB1, porque lo consiguió. Por lo tanto, la respuesta a esta solicitud sigue la ruta general, proviene del domicilio de la misma manera AAA2 y va a BBB1, y ese enrutador envía esta respuesta a 192.168.B.1, ve la respuesta de AAA2, a quien se dirigió.

Ejemplo concreto:

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

2) 192.168.B.1 envía una solicitud de conexión desde 192.168.B.1:55555 (este número, como en el ejemplo anterior, puede ser diferente) en AAA2:13389;

3) un sistema operativo que se ejecuta en una computadora con la dirección 192.168.B.1, decide reenviar este paquete a la dirección de puerta de enlace del enrutador (192.168.B.254 en nuestro caso), porque otras rutas más específicas para AAA2, no tiene ninguna, lo que significa que transmite el paquete por la ruta predeterminada (0.0.0.0/0);

4) para esto, como mencionamos en el ejemplo anterior, intenta encontrar la dirección MAC para la dirección IP 192.168.B.254 en la tabla de caché del protocolo ARP. Si no se detecta envía desde la dirección 192.168.B.1 transmitir la solicitud de quién tiene a la red 192.168.B.0/24. Cuando 192.168.B.254 en respuesta, le envía su dirección MAC, el sistema le transmite un paquete Ethernet e ingresa esta información en su tabla de caché;

5) el enrutador recibe este paquete y decide dónde reenviarlo: tiene una política escrita según la cual debe reenviar (reemplazando la dirección de retorno) todos los paquetes desde 192.168.B.0/24 a otros nodos de Internet;

6) dado que esta política implica que la dirección de retorno debe coincidir con la dirección baja en la interfaz a través de la cual se transmitirá este paquete, el enrutador primero decide a quién enviar exactamente este paquete y él, como en el ejemplo anterior, debe enviarlo. a BBB254 (puerta de enlace ISP) porque hay rutas más específicas para AAA2, que 0.0.0.0/0, no tiene;

7) por lo tanto, el enrutador reemplaza la dirección de retorno del paquete, de ahora en adelante el paquete es de BBB1:44444 (el número de puerto, por supuesto, puede ser diferente) a AAA2:13389;

8) el enrutador recuerda lo que hizo, es decir, cuándo AAA2:13389 к BBB1:44444 llega la respuesta, sabrá que debe cambiar la dirección de destino y el puerto a 192.168.B.1:55555.

9) ahora el enrutador debería pasarlo a la red ISP a través de BBB254por lo tanto, tal como ya mencionamos, encuentra la dirección MAC para BBB254 y transmite el paquete a la puerta de enlace del ISP;

10) Los proveedores de Internet transmiten paquetes desde BBB1 en AAA2;

11) enrutador virtual encendido AAA2 recibe este paquete en el puerto 13389;

12) existe una regla en el enrutador virtual que estipula que los paquetes recibidos de cualquier remitente en este puerto deben transmitirse a 192.168.A.1:3389;

13) el enrutador virtual encuentra la red en la tabla de enrutamiento 192.168.A.0/24 y lo envía directamente 192.168.A.1 porque tiene una interfaz 192.168.A.254/24;

14) para esto, el enrutador virtual encuentra la dirección MAC para 192.168.A.1 y le transmite este paquete a través de una red Ethernet virtual;

15). 192.168.A.1 recibe este paquete en el puerto 3389, acepta establecer una conexión y genera un paquete en respuesta de 192.168.A.1:3389 en BBB1:44444;

16) su sistema transmite este paquete a la dirección de puerta de enlace del enrutador virtual (192.168.A.254 en nuestro caso), porque otras rutas más específicas para BBB1, no tiene, por lo tanto, debe transmitir el paquete por la ruta predeterminada (0.0.0.0/0);

17) exactamente igual que en casos anteriores, un sistema que se ejecuta en un servidor con la dirección 192.168.A.1, encuentra la dirección MAC 192.168.A.254, ya que está en la misma red con su interfaz 192.168.A.1/24;

18) el enrutador virtual recibe este paquete. Cabe señalar que recuerda lo que recibió en AAA2:13389 paquete de BBB1:44444 y cambió la dirección y el puerto de su destinatario a 192.168.A.1:3389, por lo tanto, el paquete de 192.168.A.1:3389 para BBB1:44444 cambia la dirección del remitente a AAA2:13389;

19) el enrutador virtual decide a quién enviar este paquete, lo envía a AAA254 (Puerta de enlace ISP, en este caso, también somos nosotros), porque hay rutas más específicas para BBB1, que 0.0.0.0/0, no tiene;

20) Los proveedores de Internet transmiten un paquete con AAA2 en BBB1;

21) enrutador encendido BBB1 recibe este paquete y recuerda que cuando envió el paquete desde 192.168.B.1:55555 para AAA2:13389, cambió su dirección y puerto de remitente a BBB1:44444, entonces esta es la respuesta que debe enviarse a 192.168.B.1:55555 (de hecho, hay varias comprobaciones más allí, pero no profundizamos en eso);

22) entiende que debe transmitirse directamente a 192.168.B.1, dado que está en la misma red que él, tiene una entrada correspondiente en la tabla de enrutamiento, lo que lo obliga a enviar paquetes para todo el 192.168.B.0/24 directamente;

23) el enrutador encuentra la dirección MAC para 192.168.B.1 y le entrega este paquete;

24) sistema operativo en una computadora con la dirección 192.168.B.1 recibe un paquete de AAA2:13389 para 192.168.B.1:55555 e inicia los siguientes pasos para establecer una conexión TCP.

Cabe señalar que en este caso la computadora con la dirección 192.168.B.1 no sabe nada sobre el servidor con la dirección 192.168.A.1, solo se comunica con AAA2. Asimismo, el servidor con la dirección 192.168.A.1 no sabe nada sobre la computadora con la dirección 192.168.B.1. Él cree que estaba conectado desde la dirección. BBB1, y no sabe nada más, por así decirlo.

También cabe señalar que si este ordenador accede AAA2:1540, la conexión no se establecerá porque el reenvío de conexión al puerto 1540 no está configurado en el enrutador virtual, incluso si está en algún servidor de la red virtual. 192.168.A.0/24 (por ejemplo, en un servidor con la dirección 192.168.A.1) y hay algunos servicios que están esperando conexiones en este puerto. Si un usuario de computadora con una dirección 192.168.B.1 Es imperativo establecer una conexión a este servicio, se debe utilizar una VPN, es decir. contactar directamente 192.168.A.1:1540.

Cabe destacar que cualquier intento de establecer una conexión con AAA1 (excepto para la conexión IPSec desde el BBB1 no tendrá éxito. Cualquier intento de establecer conexiones con AAA2, excepto para las conexiones al puerto 13389, tampoco tendrá éxito.
También observamos que si a AAA2 Si otra persona lo solicita (por ejemplo, CCCC), todo lo indicado en los párrafos 10 a 20 también se aplicará a él. Lo que suceda antes y después de esto depende de qué hay exactamente detrás de este CCCC. No tenemos dicha información, por lo que le recomendamos consultar a los administradores del nodo con la dirección CCCC.

Posición tres

Y, a la inversa, si con 192.168.A.1 algo se envía a algún puerto que está configurado para reenviar hacia BBB1 (por ejemplo, 11111), tampoco termina en la VPN, sino que simplemente fluye desde AAA1 y se mete en BBB1, y ya lo transmite en algún lugar, digamos, 192.168.B.2:3389. Él ve este paquete no de 192.168.A.1y desde AAA1. Y cuando 192.168.B.2 responde, el paquete viene de BBB1 en AAA1, y luego llega al iniciador de la conexión - 192.168.A.1.

Ejemplo concreto:

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

2) 192.168.A.1 envía una solicitud de conexión desde 192.168.A.1:55555 (este número, como en el ejemplo anterior, puede ser diferente) en BBB1:11111;

3) un sistema operativo que se ejecuta en un servidor con la dirección 192.168.A.1, decide reenviar este paquete a la dirección de puerta de enlace del enrutador (192.168.A.254 en nuestro caso), porque otras rutas más específicas para BBB1, no tiene, por lo tanto, transmite el paquete por la ruta predeterminada (0.0.0.0/0);

4) para esto, como mencionamos en ejemplos anteriores, intenta encontrar la dirección MAC para la dirección IP 192.168.A.254 en la tabla de caché del protocolo ARP. Si no se detecta envía desde la dirección 192.168.A.1 transmitir la solicitud de quién tiene a la red 192.168.A.0/24. Cuando 192.168.A.254 en respuesta, le envía su dirección MAC, el sistema le transmite un paquete Ethernet e ingresa esta información en su tabla de caché;

5) el enrutador virtual recibe este paquete y decide dónde reenviarlo: tiene una política escrita según la cual debe reenviar (reemplazando la dirección de retorno) todos los paquetes desde 192.168.A.0/24 a otros nodos de Internet;

6) dado que esta política supone que la dirección de retorno debe coincidir con la dirección baja en la interfaz a través de la cual se transmitirá este paquete, el enrutador virtual primero decide a quién enviar exactamente este paquete y él, como en el ejemplo anterior, debe enviar esta encendido AAA254 (Puerta de enlace ISP, en este caso, también somos nosotros), porque hay rutas más específicas para BBB1, que 0.0.0.0/0, no tiene;

7) esto significa que el enrutador virtual reemplaza la dirección de retorno del paquete, de ahora en adelante es un paquete de AAA1:44444 (el número de puerto, por supuesto, puede ser diferente) a BBB1:11111;

8) el enrutador virtual recuerda lo que hizo, por lo tanto, cuando desde BBB1:11111 para AAA1:44444 llega la respuesta, sabrá que debe cambiar la dirección de destino y el puerto a 192.168.A.1:55555.

9) ahora el enrutador virtual debería pasarlo a la red ISP a través de AAA254, así que, como ya mencionamos, encuentra la dirección MAC para AAA254 y transmite el paquete a la puerta de enlace del ISP;

10) Los proveedores de Internet transmiten paquetes desde AAA1 a BBB1;

11) enrutador encendido BBB1 recibe este paquete en el puerto 11111;

12) existe una regla en el enrutador virtual que estipula que los paquetes que llegaron de cualquier remitente a este puerto deben transmitirse a 192.168.B.2:3389;

13) el enrutador encuentra la red en la tabla de enrutamiento 192.168.B.0/24 y lo envía directamente a 192.168.B.2, porque tiene una interfaz 192.168.B.254/24;

14) para esto, el enrutador virtual encuentra la dirección MAC para 192.168.B.2 y le transmite este paquete a través de una red Ethernet virtual;

15). 192.168.B.2 recibe este paquete en el puerto 3389, acepta establecer una conexión y genera un paquete en respuesta de 192.168.B.2:3389 en AAA1:44444;

16) su sistema transmite este paquete a la dirección de puerta de enlace del enrutador (192.168.B.254 en nuestro caso), porque otras rutas más específicas para AAA1, no tiene, por lo tanto, debe transmitir el paquete por la ruta predeterminada (0.0.0.0/0);

17) de la misma forma que en casos anteriores, un sistema que se ejecuta en una computadora con la dirección 192.168.B.2, encuentra la dirección MAC 192.168.B.254, ya que está en la misma red con su interfaz 192.168.B.2/24;

18) el enrutador recibe este paquete. Cabe señalar que recuerda lo que recibió en BBB1:11111 paquete de AAA1 y cambió la dirección y el puerto de su destinatario a 192.168.B.2:3389, por lo tanto, el paquete de 192.168.B.2:3389 para AAA1:44444 cambia la dirección del remitente a BBB1:11111;

19) el enrutador decide a quién enviar este paquete. Se lo envía a, digamos, BBB254 (Puerta de enlace ISP, cuya dirección exacta no conocemos), porque no hay rutas más específicas para AAA1, que 0.0.0.0/0, no tiene;

20) Los proveedores de Internet transmiten un paquete con BBB1 en AAA1;

21) enrutador virtual encendido AAA1 recibe este paquete y recuerda que cuando envió el paquete desde 192.168.A.1:55555 para BBB1:11111, cambió su dirección y puerto de remitente a AAA1:44444. Esto significa que esta es la respuesta que debe enviarse a 192.168.A.1:55555 (de hecho, como mencionamos en el ejemplo anterior, también hay varias comprobaciones más, pero en esta ocasión no profundizamos en ellas);

22) entiende que debe transmitirse directamente a 192.168.A.1, dado que está en la misma red que él, significa que tiene una entrada correspondiente en la tabla de enrutamiento que lo obliga a enviar paquetes a todo el 192.168.A.0/24 directamente;

23) el enrutador encuentra la dirección MAC para 192.168.A.1 y le entrega este paquete;

24) sistema operativo en el servidor con la dirección 192.168.A.1 recibe un paquete de BBB1:11111 para 192.168.A.1:55555 e inicia los siguientes pasos para establecer una conexión TCP.

Exactamente igual que en el caso anterior, en este caso el servidor con la dirección 192.168.A.1 no sabe nada sobre la computadora con la dirección 192.168.B.1, solo se comunica con BBB1. Computadora con dirección 192.168.B.1 Tampoco sabe nada sobre el servidor con la dirección. 192.168.A.1. Él cree que estaba conectado desde la dirección. AAA1, y el resto le está oculto.

conclusión

Así sucede todo para las conexiones dentro del túnel VPN entre la oficina del cliente y el entorno de la nube, así como para las conexiones fuera del túnel VPN. Y si tienes alguna duda o necesitas nuestra ayuda para solucionar problemas de la nube, contáctenos 24x7.

Fuente: habr.com

Añadir un comentario