O que acontece nas conexões dentro e fora do túnel VPN

Artigos reais nascem de cartas ao suporte técnico da Tucha. Por exemplo, um cliente recentemente nos abordou com uma solicitação para esclarecer o que acontece durante as conexões dentro do túnel VPN entre o escritório do usuário e o ambiente de nuvem, bem como durante as conexões fora do túnel VPN. Portanto, todo o texto abaixo é uma carta real que enviamos a um de nossos clientes em resposta à sua pergunta. Claro, os endereços IP foram alterados para não desanonimizar o cliente. Mas sim, o suporte técnico da Tucha é realmente famoso por suas respostas detalhadas e e-mails informativos. 🙂

Claro, entendemos que para muitos este artigo não será uma revelação. Mas, como artigos para administradores novatos aparecem de vez em quando no Habr, e também como este artigo surgiu de uma carta real para um cliente real, ainda compartilharemos essas informações aqui. Há uma grande probabilidade de que seja útil para alguém.
Portanto, explicamos detalhadamente o que acontece entre o servidor na nuvem e o escritório se eles estiverem conectados por uma rede site-to-site. Observe que alguns serviços só podem ser acessados ​​no escritório e outros em qualquer lugar da Internet.

Deixe-nos explicar imediatamente o que nosso cliente queria no servidor 192.168.A.1 você pode vir de qualquer lugar via RDP, conectando-se a AAA2:13389e acesso a outros serviços apenas no escritório (192.168.B.0/24)conectado via VPN. Além disso, o cliente inicialmente configurou que o carro 192.168.B.2 no escritório também foi possível utilizar o RDP de qualquer lugar, conectando-se a BBB1:11111. Ajudamos a organizar conexões IPSec entre a nuvem e o escritório, e o especialista de TI do cliente começou a fazer perguntas sobre o que aconteceria neste ou naquele caso. Para responder a todas essas perguntas, nós, de fato, escrevemos para ele tudo o que você pode ler a seguir.

O que acontece nas conexões dentro e fora do túnel VPN

Agora vamos examinar esses processos com mais detalhes.

Posição um

Quando algo é enviado de 192.168.B.0/24 в 192.168.A.0/24 ou de 192.168.A.0/24 в 192.168.B.0/24, ele entra na VPN. Ou seja, este pacote é adicionalmente criptografado e transmitido entre BBB1 и AAA1mas 192.168.A.1 vê o pacote exatamente de 192.168.B.1. Eles podem se comunicar entre si usando qualquer protocolo. As respostas de retorno são transmitidas da mesma forma através da VPN, o que significa que o pacote de 192.168.A.1 para 192.168.B.1 será enviado como um datagrama ESP de AAA1 em BBB1, que o roteador irá desdobrar naquele lado, retirar aquele pacote dele e enviá-lo para 192.168.B.1 como um pacote de 192.168.A.1.

Exemplo concreto:

1) 192.168.B.1 apela para 192.168.A.1, deseja estabelecer uma conexão TCP com 192.168.A.1:3389;

2) 192.168.B.1 envia uma solicitação de conexão de 192.168.B.1:55555 (ele mesmo escolhe o número da porta para feedback; daqui em diante usaremos o número 55555 como exemplo do número da porta que o sistema seleciona ao formar uma conexão TCP) em 192.168.A.1:3389;

3) um sistema operacional executado em um computador com o endereço 192.168.B.1, decide encaminhar este pacote para o endereço de gateway do roteador (192.168.B.254 no nosso caso), porque outras rotas mais específicas para 192.168.A.1, não possui, portanto, transmite o pacote pela rota padrão (0.0.0.0/0);

4) para isso tenta encontrar o endereço MAC do endereço IP 192.168.B.254 na tabela de cache do protocolo ARP. Se não for detectado, envia do endereço 192.168.B.1 transmitir solicitação de quem tem para a rede 192.168.B.0/24. Quando 192.168.B.254 em resposta, ele envia seu endereço MAC, o sistema transmite um pacote Ethernet para ele e insere essas informações em sua tabela de cache;

5) o roteador recebe este pacote e decide para onde encaminhá-lo: ele tem uma política escrita segundo a qual deve enviar todos os pacotes entre eles. 192.168.B.0/24 и 192.168.A.0/24 transferir através de uma conexão VPN entre BBB1 и AAA1;

6) o roteador gera um datagrama ESP a partir de BBB1 em AAA1;

7) o roteador decide para quem enviar este pacote, ele o envia, digamos, BBB254 (gateway ISP) porque existem rotas mais específicas para AAA1, que 0.0.0.0/0, não possui;

8) exatamente como já foi dito, ele encontra o endereço MAC para BBB254 e transmite o pacote para o gateway do ISP;

9) Os provedores de Internet transmitem um datagrama ESP de BBB1 em AAA1;

10) roteador virtual ligado AAA1 recebe este datagrama, descriptografa-o e recebe um pacote de 192.168.B.1:55555 para 192.168.A.1:3389;

11) o roteador virtual verifica para quem passá-lo, encontra a rede na tabela de roteamento 192.168.A.0/24 e envia diretamente para 192.168.A.1, porque possui uma interface 192.168.A.254/24;

12) para isso, o roteador virtual encontra o endereço MAC para 192.168.A.1 e transmite este pacote para ele através de uma rede Ethernet virtual;

13) 192.168.A.1 recebe este pacote na porta 3389, concorda em estabelecer uma conexão e gera um pacote em resposta de 192.168.A.1:3389 em 192.168.B.1:55555;

14) seu sistema transmite este pacote para o endereço de gateway do roteador virtual (192.168.A.254 no nosso caso), porque outras rotas mais específicas para 192.168.B.1, não possui, portanto, deve transmitir o pacote pela rota padrão (0.0.0.0/0);

15) igual aos casos anteriores, um sistema que roda em um servidor com o endereço 192.168.A.1, encontra o endereço MAC 192.168.A.254, já que está na mesma rede com sua interface 192.168.A.1/24;

16) o roteador virtual recebe esse pacote e decide para onde encaminhá-lo: ele possui uma política escrita segundo a qual deve enviar todos os pacotes entre eles. 192.168.A.0/24 и 192.168.B.0/24 transferir através de uma conexão VPN entre AAA1 и BBB1;

17) o roteador virtual gera um datagrama ESP a partir de AAA1 para BBB1;

18) o roteador virtual decide para quem enviar este pacote, envia-o para AAA254 (gateway ISP, neste caso somos nós também), porque existem rotas mais específicas para BBB1, que 0.0.0.0/0, não possui;

19) Os provedores de Internet transmitem um datagrama ESP através de suas redes com AAA1 em BBB1;

20) roteador ligado BBB1 recebe este datagrama, descriptografa-o e recebe um pacote de 192.168.A.1:3389 para 192.168.B.1:55555;

21) ele entende que deve ser transferido especificamente para 192.168.B.1, por estar na mesma rede que ele, portanto, ele possui uma entrada correspondente na tabela de roteamento, o que o obriga a enviar pacotes para todo o 192.168.B.0/24 diretamente;

22) o roteador encontra o endereço MAC para 192.168.B.1 e entrega a ele este pacote;

23) sistema operacional em um computador com o endereço 192.168.B.1 recebe um pacote de 192.168.A.1:3389 para 192.168.B.1:55555 e inicia as próximas etapas para estabelecer uma conexão TCP.

Este exemplo de forma bastante concisa e simplificada (e aqui você pode lembrar vários outros detalhes) descreve o que acontece nos níveis 2-4. Os níveis 1, 5-7 não são considerados.

Posição dois

Se com 192.168.B.0/24 algo é enviado especificamente para AAA2, não vai para a VPN, mas diretamente. Ou seja, se o usuário do endereço 192.168.B.1 apela para AAA2:13389, este pacote vem do endereço BBB1, passa AAA2, e então o roteador o recebe e transmite para 192.168.A.1. 192.168.A.1 não sabe nada sobre 192.168.B.1, ele vê um pacote de BBB1, porque ele o pegou. Portanto, a resposta a esta solicitação segue o caminho geral, vem do endereço da mesma forma AAA2 e vai para BBB1, e esse roteador envia esta resposta para 192.168.B.1, ele vê a resposta de AAA2, a quem se dirigiu.

Exemplo concreto:

1) 192.168.B.1 apela para AAA2, deseja estabelecer uma conexão TCP com AAA2:13389;

2) 192.168.B.1 envia uma solicitação de conexão de 192.168.B.1:55555 (este número, como no exemplo anterior, pode ser diferente) em AAA2:13389;

3) um sistema operacional executado em um computador com o endereço 192.168.B.1, decide encaminhar este pacote para o endereço de gateway do roteador (192.168.B.254 no nosso caso), porque outras rotas mais específicas para AAA2, não possui, o que significa que transmite o pacote pela rota padrão (0.0.0.0/0);

4) para isso, como mencionamos no exemplo anterior, ele tenta encontrar o endereço MAC do endereço IP 192.168.B.254 na tabela de cache do protocolo ARP. Se não for detectado, envia do endereço 192.168.B.1 transmitir solicitação de quem tem para a rede 192.168.B.0/24. Quando 192.168.B.254 em resposta, ele envia seu endereço MAC, o sistema transmite um pacote Ethernet para ele e insere essas informações em sua tabela de cache;

5) o roteador recebe este pacote e decide para onde encaminhá-lo: ele tem uma política escrita segundo a qual deve encaminhar (substituindo o endereço de retorno) todos os pacotes de 192.168.B.0/24 para outros nós da Internet;

6) como esta política implica que o endereço de retorno deve corresponder ao endereço inferior na interface através da qual este pacote será transmitido, o roteador primeiro decide para quem exatamente enviar este pacote, e ele, como no exemplo anterior, deve enviá-lo para BBB254 (gateway ISP) porque existem rotas mais específicas para AAA2, que 0.0.0.0/0, não possui;

7) portanto, o roteador substitui o endereço de retorno do pacote, daí em diante o pacote é de BBB1:44444 (o número da porta, é claro, pode ser diferente) para AAA2:13389;

8) o roteador lembra o que fez, o que significa quando AAA2:13389 к BBB1:44444 chegar a resposta, ele saberá que deve alterar o endereço e a porta de destino para 192.168.B.1:55555.

9) agora o roteador deve passá-lo para a rede ISP via BBB254portanto, assim como já mencionamos, ele encontra o endereço MAC para BBB254 e transmite o pacote para o gateway do ISP;

10) Provedores de Internet transmitem pacotes de BBB1 em AAA2;

11) roteador virtual ligado AAA2 recebe este pacote na porta 13389;

12) existe uma regra no roteador virtual que estipula que os pacotes recebidos de qualquer remetente nesta porta devem ser transmitidos para 192.168.A.1:3389;

13) o roteador virtual encontra a rede na tabela de roteamento 192.168.A.0/24 e envia diretamente 192.168.A.1 porque tem uma interface 192.168.A.254/24;

14) para isso, o roteador virtual encontra o endereço MAC para 192.168.A.1 e transmite este pacote para ele através de uma rede Ethernet virtual;

15) 192.168.A.1 recebe este pacote na porta 3389, concorda em estabelecer uma conexão e gera um pacote em resposta de 192.168.A.1:3389 em BBB1:44444;

16) seu sistema transmite este pacote para o endereço de gateway do roteador virtual (192.168.A.254 no nosso caso), porque outras rotas mais específicas para BBB1, não possui, portanto, deve transmitir o pacote pela rota padrão (0.0.0.0/0);

17) exatamente igual aos casos anteriores, um sistema que roda em um servidor com o endereço 192.168.A.1, encontra o endereço MAC 192.168.A.254, já que está na mesma rede com sua interface 192.168.A.1/24;

18) o roteador virtual recebe este pacote. Deve-se notar que ele se lembra do que recebeu em AAA2:13389 pacote de BBB1:44444 e mudou o endereço e a porta do destinatário para 192.168.A.1:3389, portanto, o pacote de 192.168.A.1:3389 para BBB1:44444 ele altera o endereço do remetente para AAA2:13389;

19) o roteador virtual decide para quem enviar este pacote, ele o envia para AAA254 (gateway ISP, neste caso somos nós também), porque existem rotas mais específicas para BBB1, que 0.0.0.0/0, não possui;

20) Os provedores de Internet transmitem um pacote com AAA2 em BBB1;

21) roteador ligado BBB1 recebe este pacote e lembra que quando ele enviou o pacote de 192.168.B.1:55555 para AAA2:13389, ele mudou seu endereço e porta do remetente para BBB1:44444, então esta é a resposta que precisa ser enviada para 192.168.B.1:55555 (na verdade, existem várias outras verificações lá, mas não nos aprofundamos nisso);

22) ele entende que deve ser transmitido diretamente para 192.168.B.1, por estar na mesma rede que ele, portanto, ele possui uma entrada correspondente na tabela de roteamento, o que o obriga a enviar pacotes para todo o 192.168.B.0/24 diretamente;

23) o roteador encontra o endereço MAC para 192.168.B.1 e entrega a ele este pacote;

24) sistema operacional em um computador com o endereço 192.168.B.1 recebe um pacote de AAA2:13389 para 192.168.B.1:55555 e inicia as próximas etapas para estabelecer uma conexão TCP.

Deve-se notar que neste caso o computador com o endereço 192.168.B.1 não sabe nada sobre o servidor com o endereço 192.168.A.1, ele só se comunica com AAA2. Da mesma forma, o servidor com o endereço 192.168.A.1 não sabe nada sobre o computador com o endereço 192.168.B.1. Ele acredita que foi conectado pelo endereço BBB1, e ele não sabe de mais nada, por assim dizer.

Também deve ser observado que se este computador acessar AAA2:1540, a conexão não será estabelecida porque o encaminhamento de conexão para a porta 1540 não está configurado no roteador virtual, mesmo que esteja em algum servidor da rede virtual 192.168.A.0/24 (por exemplo, em um servidor com o endereço 192.168.A.1) e existem alguns serviços que estão aguardando conexões nesta porta. Se um usuário de computador com um endereço 192.168.B.1 É imprescindível estabelecer uma ligação a este serviço, devendo utilizar uma VPN, ou seja, entre em contato diretamente 192.168.A.1:1540.

Deve-se enfatizar que qualquer tentativa de estabelecer uma conexão com AAA1 (exceto para a conexão IPSec do BBB1 não terá sucesso. Qualquer tentativa de estabelecer conexões com AAA2, exceto para conexões com a porta 13389, também não terão êxito.
Notamos também que se AAA2 Se outra pessoa se candidatar (por exemplo, CCCC), tudo o que é indicado nos parágrafos 10 a 20 também se aplicará a ela. O que acontece antes e depois depende do que exatamente está por trás deste CCCC. Não temos essa informação, por isso aconselhamos que consulte os administradores do nó com o endereço CCCC

Posição três

E, inversamente, se com 192.168.A.1 algo é enviado para alguma porta que está configurada para encaminhar para BBB1 (por exemplo, 11111), também não vai para a VPN, mas simplesmente flui de AAA1 e entra BBB1, e ele já transmite em algum lugar, digamos, 192.168.B.2:3389. Ele vê este pacote não de 192.168.A.1e de AAA1. E quando 192.168.B.2 respostas, o pacote vem de BBB1 em AAA1, e depois chega ao iniciador da conexão - 192.168.A.1.

Exemplo concreto:

1) 192.168.A.1 apela para BBB1, deseja estabelecer uma conexão TCP com BBB1:11111;

2) 192.168.A.1 envia uma solicitação de conexão de 192.168.A.1:55555 (este número, como no exemplo anterior, pode ser diferente) em BBB1:11111;

3) um sistema operacional executado em um servidor com o endereço 192.168.A.1, decide encaminhar este pacote para o endereço de gateway do roteador (192.168.A.254 no nosso caso), porque outras rotas mais específicas para BBB1, não possui, portanto, transmite o pacote pela rota padrão (0.0.0.0/0);

4) para isso, como mencionamos nos exemplos anteriores, ele tenta encontrar o endereço MAC do endereço IP 192.168.A.254 na tabela de cache do protocolo ARP. Se não for detectado, envia do endereço 192.168.A.1 transmitir solicitação de quem tem para a rede 192.168.A.0/24. Quando 192.168.A.254 em resposta, ele envia a ela seu endereço MAC, o sistema transmite um pacote Ethernet para ela e insere essas informações em sua tabela de cache;

5) o roteador virtual recebe este pacote e decide para onde encaminhá-lo: ele possui uma política escrita segundo a qual deve encaminhar (substituindo o endereço de retorno) todos os pacotes de 192.168.A.0/24 para outros nós da Internet;

6) como esta política pressupõe que o endereço de retorno deve corresponder ao endereço inferior na interface através da qual este pacote será transmitido, o roteador virtual primeiro decide para quem exatamente enviar este pacote, e ele, como no exemplo anterior, deve enviar está ligado AAA254 (gateway ISP, neste caso somos nós também), porque existem rotas mais específicas para BBB1, que 0.0.0.0/0, não possui;

7) isso significa que o roteador virtual substitui o endereço de retorno do pacote, a partir de agora é um pacote de AAA1:44444 (o número da porta, é claro, pode ser diferente) para BBB1:11111;

8) o roteador virtual lembra o que fez, portanto, quando de BBB1:11111 para AAA1:44444 chegar a resposta, ele saberá que deve alterar o endereço e a porta de destino para 192.168.A.1:55555.

9) agora o roteador virtual deve passá-lo para a rede ISP via AAA254, assim como já mencionamos, ele encontra o endereço MAC para AAA254 e transmite o pacote para o gateway do ISP;

10) Provedores de Internet transmitem pacotes de AAA1 a BBB1;

11) roteador ligado BBB1 recebe este pacote na porta 11111;

12) existe uma regra no roteador virtual que estipula que os pacotes que chegaram de qualquer remetente nesta porta devem ser transmitidos para 192.168.B.2:3389;

13) o roteador encontra a rede na tabela de roteamento 192.168.B.0/24 e envia diretamente para 192.168.B.2, porque possui uma interface 192.168.B.254/24;

14) para isso, o roteador virtual encontra o endereço MAC para 192.168.B.2 e transmite este pacote para ele através de uma rede Ethernet virtual;

15) 192.168.B.2 recebe este pacote na porta 3389, concorda em estabelecer uma conexão e gera um pacote em resposta de 192.168.B.2:3389 em AAA1:44444;

16) seu sistema transmite este pacote para o endereço de gateway do roteador (192.168.B.254 no nosso caso), porque outras rotas mais específicas para AAA1, não possui, portanto, deve transmitir o pacote pela rota padrão (0.0.0.0/0);

17) da mesma forma que nos casos anteriores, um sistema que roda em um computador com o endereço 192.168.B.2, encontra o endereço MAC 192.168.B.254, já que está na mesma rede com sua interface 192.168.B.2/24;

18) o roteador recebe este pacote. Deve-se notar que ele se lembra do que recebeu em BBB1:11111 pacote de AAA1 e mudou o endereço e a porta do destinatário para 192.168.B.2:3389, portanto, o pacote de 192.168.B.2:3389 para AAA1:44444 ele altera o endereço do remetente para BBB1:11111;

19) o roteador decide para quem enviar este pacote. Ele envia para, digamos, BBB254 (gateway ISP, cujo endereço exato não sabemos), porque não existem rotas mais específicas para AAA1, que 0.0.0.0/0, não possui;

20) Os provedores de Internet transmitem um pacote com BBB1 em AAA1;

21) roteador virtual ligado AAA1 recebe este pacote e lembra que quando ele enviou o pacote de 192.168.A.1:55555 para BBB1:11111, ele mudou seu endereço e porta do remetente para AAA1:44444. Isso significa que esta é a resposta que precisa ser enviada para 192.168.A.1:55555 (na verdade, como mencionamos no exemplo anterior, também existem várias outras verificações, mas desta vez não nos aprofundamos nelas);

22) ele entende que deve ser transmitido diretamente para 192.168.A.1, como ele está na mesma rede que ele, significa que ele possui uma entrada correspondente na tabela de roteamento que o obriga a enviar pacotes para todo o 192.168.A.0/24 diretamente;

23) o roteador encontra o endereço MAC para 192.168.A.1 e entrega a ele este pacote;

24) sistema operacional no servidor com o endereço 192.168.A.1 recebe um pacote de BBB1:11111 para 192.168.A.1:55555 e inicia as próximas etapas para estabelecer uma conexão TCP.

Exatamente igual ao caso anterior, neste caso o servidor com o endereço 192.168.A.1 não sabe nada sobre o computador com o endereço 192.168.B.1, ele só se comunica com BBB1. Computador com endereço 192.168.B.1 também não sabe nada sobre o servidor com o endereço 192.168.A.1. Ele acredita que foi conectado pelo endereço AAA1, e o resto está escondido dele.

Jogar aviator online grátis: hack aviator funciona

É assim que tudo acontece nas conexões dentro do túnel VPN entre o escritório do cliente e o ambiente de nuvem, bem como nas conexões fora do túnel VPN. E se você tiver alguma dúvida ou precisar de nossa ajuda para resolver problemas na nuvem, entre em contato conosco 24 horas por dia, 7 dias por semana.

Fonte: habr.com

Adicionar um comentário