Estoy buscando información sobre cómo las VPN (Red privada virtual) reenvían el tráfico de red a través de su VPS (Servidor privado virtual).
Tome un ejemplo donde está conectado a una VPN. Realiza una solicitud a un sitio web, que luego baja por la pila de red a la Capa 3.
Tenemos un paquete de IP: tiene sus encabezados, incluida su dirección de destino y una carga útil.
Si cambia la dirección de destino del paquete IP a la dirección IP del VPS, ¿cómo reenvía el servidor la solicitud a la dirección de destino original?
Lo único que se me ocurre es que en la Capa 3 (la Capa IP), la dirección de destino del encabezado se cambia a la dirección IP del VPS, y luego la dirección de destino original se agrega a la carga útil del paquete.
¿Esto no significa que la longitud del paquete y el encabezado de la suma de verificación del paquete tendrían que ser recalculados y el paquete IP nuevamente modificado?
Y luego el VPS realiza la asignación inversa del paquete para ensamblar y realizar la solicitud original en el servidor.
Esto parece que habría un tiempo de latencia alto asociado con él.
Tal vez me falta algún aspecto técnico de cómo funciona esto, ¿alguien más puede explicarlo?
fuente
Entonces, la respuesta corta a su pregunta es la encapsulación. Lo que significa que hay otro conjunto de encabezados de paquetes colocados alrededor del paquete que está enviando a un sitio web que es retirado por el punto final VPN.
Piénsalo de esta manera:
Su cliente VPN que se ejecuta en su máquina local le dará una nueva dirección IP (10.10.10.10) y cambiará su tabla de rutas de modo que la ruta predeterminada se dirija hacia el túnel creado. Luego enviará el tráfico al servidor VPN o, en su ejemplo, un VPS (3.3.3.3). A menudo, su paquete tendrá un NAT aplicado cuando se desencapsule, por lo que en su servidor de destino (5.5.5.5) aparecerá que el tráfico proviene de la IP de destino del tráfico encapsulado (3.3.3.3) Así es como el tráfico vuelve a usted yendo primero al servidor VPN.
A tu tercera pregunta. Dado que está colocando un paquete adicional esencialmente en el exterior, la longitud y la suma de verificación se calculan en el paquete resultante. Entonces sí, hay dos longitudes y dos sumas de verificación. En cuanto a la longitud máxima que hace el VPS, dice usar esta MTU o mediante el descubrimiento de MTU de la forma habitual.
En cuanto a la latencia. No puedes romper la física. Tendrá en cuenta su sobrecarga de llegar al SPV y ejecutar su pila de red. Si bien puede parecer que habría una alta latencia, esto a veces no es el caso. Si su VPS está topológicamente en línea con el destino del paquete, es posible que se agregue una sobrecarga mínima. Por ejemplo, si está en Seattle y su VPS está en Nueva York y el sitio web con el que está tratando de hablar está en Londres. Pero si va de Seattle a Nueva York para regresar a un sitio web en Seattle, entonces hay una latencia adicional del viaje por los Estados Unidos.
fuente
La capa de transporte crea un paquete y lo pasa a la capa de red. El host busca en su tabla de enrutamiento y lo envía a la interfaz virtual creada por el software VPN.
El software VPN toma el paquete de la interfaz virtual. Puede encriptarlo o agregar sus propios encabezados, luego lo devuelve a la pila de red como carga útil. Dependiendo de la implementación particular de VPN, puede pasar esta carga útil a la capa de transporte o puede pasar por alto la capa de transporte e ir directamente a la capa de red.
Luego se agrega otra capa de encabezados de capa de red al paquete dirigido hacia el servidor VPN. Luego, el paquete se busca nuevamente en la tabla de enrutamiento y se envía a Internet (si la VPN es de "cobertura total", entonces el software VPN debe tener cuidado de configurar la tabla de enrutamiento de manera que el tráfico VPN salga del interfaz real orientada a internet en lugar de volver al software VPN).
Cuando el paquete encapsulado llega al servidor VPN, se devuelve al software VPN. Los encabezados "externos" se eliminan y el paquete se devuelve a la pila de red a través de una interfaz virtual.
Después de eso, depende de la pila de red en el servidor VPN qué hacer con él. En el caso de una VPN utilizada para acceder a Internet, la pila de red en el servidor VPN probablemente estará configurada para actuar como un enrutador NAT, por lo que modifica la fuente del paquete y la envía de vuelta a Internet.
Cuando la respuesta regresa, ocurre el mismo proceso. El paquete llega, el proceso NAT se invierte, se devuelve al software VPN a través de la interfaz virtual, se encapsula y se envía nuevamente al software VPN en el cliente que lo desencapsula y lo devuelve a la pila de red para que se puede entregar a la aplicación del cliente.
fuente