Estou procurando algumas informações sobre como as VPNs (Rede Privada Virtual) encaminham o tráfego de rede através de seu VPS (Servidor Privado Virtual).
Veja um exemplo em que você está conectado a uma VPN. Você faz uma solicitação para um site, que desce a pilha de rede até a Camada 3.
Temos um pacote IP - ele possui cabeçalhos, incluindo o endereço de destino e uma carga útil.
Se você alterar o endereço de destino do pacote IP para o endereço IP do VPS, como o servidor encaminha a solicitação para o endereço de destino original?
A única coisa em que consigo pensar é que, na Camada 3 (a Camada IP), o endereço de destino do cabeçalho é alterado para o endereço IP do VPS e o endereço de destino original é anexado à carga útil do pacote.
Isso não significa que o comprimento do pacote e o cabeçalho da soma de verificação do pacote precisariam ser recalculados e o pacote IP novamente modificado?
E o VPS faz o mapeamento inverso do pacote para montar e fazer a solicitação original no servidor.
Parece que haveria um tempo de alta latência associado a ele?
Talvez esteja faltando algum aspecto técnico de como isso funciona. Alguém mais pode explicar isso?
fonte
Portanto, a resposta curta para sua pergunta é encapsulamento. Isso significa que há outro conjunto de cabeçalhos de pacote colocados no pacote que você está enviando para um site que é retirado pelo ponto de extremidade da VPN.
Pense desta maneira:
Seu cliente VPN em execução na sua máquina local fornecerá um novo endereço IP (10.10.10.10) e alterará sua tabela de rotas de forma que a rota padrão seja direcionada para o túnel criado. Ele enviará o tráfego para o servidor VPN ou, no seu exemplo, um VPS (3.3.3.3). Freqüentemente, seu pacote terá um NAT aplicado quando for descapsulado; portanto, para o servidor de destino (5.5.5.5), parecerá que o tráfego está vindo do IP de destino do tráfego encapsulado (3.3.3.3). o tráfego retorna para você, primeiro acessando o servidor VPN.
Vamos para a terceira pergunta. Como você está colocando um pacote adicional essencialmente do lado de fora, o comprimento e a soma de verificação são calculados no pacote resultante. Então, sim, existem dois comprimentos e duas somas de verificação. Quanto ao tamanho máximo que é feito pelo VPS dizendo, use este MTU ou através da descoberta de MTU como normal.
Quanto à latência. Você não pode quebrar a física. Você será responsável pela sobrecarga de acessar o VPS e executar sua pilha de rede. Embora possa parecer que haja uma alta latência, isso às vezes não é o caso. Se o seu VPS estiver topologicamente alinhado com o local em que o pacote já está indo, pode haver uma sobrecarga mínima adicionada. Por exemplo, se você estiver em Seattle e seu VPS estiver em Nova York e o site com o qual você está tentando conversar estiver em Londres. Mas se você estiver indo de Seattle para Nova York para voltar a um site em Seattle, haverá uma latência adicional da viagem pelos Estados Unidos.
fonte
Um pacote é criado pela camada de transporte e passado para a camada de rede. O host examina sua tabela de roteamento e a envia para a interface virtual criada pelo software VPN.
O software VPN pega o pacote da interface virtual. Ele pode criptografá-lo ou adicionar seus próprios cabeçalhos e, em seguida, devolvê-lo à pilha de rede como uma carga útil. Dependendo da implementação específica da VPN, ela pode passar essa carga útil para a camada de transporte ou ignorar a camada de transporte e ir diretamente para a camada de rede.
Outra camada de cabeçalhos da camada de rede é então adicionada ao direcionamento de pacotes ao servidor VPN. O pacote é pesquisado novamente na tabela de roteamento e enviado à Internet (se a VPN é de "cobertura total", o software VPN deve tomar cuidado para configurar a tabela de roteamento de maneira que o tráfego da VPN saia do interface real voltada para a Internet em vez de retornar ao software VPN).
Quando o pacote encapsulado chega ao servidor VPN, ele é devolvido ao software VPN. Os cabeçalhos "externos" são removidos e o pacote é passado de volta à pilha de rede através de uma interface virtual.
Depois disso, cabe à pilha de rede no servidor VPN o que fazer com ele. No caso de uma VPN usada para acesso à Internet, a pilha de rede no servidor VPN provavelmente será configurada para atuar como um roteador NAT, portanto, modifica a fonte do pacote e a envia de volta à Internet.
Quando a resposta volta, acontece o mesmo processo. O pacote chega, o processo NAT é revertido, é passado de volta para o software VPN pela interface virtual, é encapsulado e enviado de volta ao software VPN no cliente que o desencapsula e passa para a pilha da rede para que pode ser entregue ao aplicativo cliente.
fonte