Publicar portas na Internet não é a única forma de ligar duas unidades distantes. A VPN liga as redes privadas diretamente, e as duas unidades passam a se comunicar pelos seus endereços privados.
O que é a VPN
VPN é a sigla em inglês para rede privada virtual. A VPN cria um túnel através da Internet entre dois pontos. Os pacotes trocados entre as duas redes viajam dentro desse túnel, protegidos por criptografia, e chegam ao outro lado com os endereços privados originais. Dois tipos de VPN são comuns:
- VPN entre redes: configurada nos roteadores das duas unidades, liga a rede inteira da filial à rede inteira da matriz;
- VPN de acesso remoto: um único computador, como o notebook de um técnico, se conecta a uma rede e recebe um adaptador virtual com um endereço dessa rede.
O caminho com e sem VPN
- Sem VPN, o servidor da loja se conecta ao endereço público da matriz, e o roteador da matriz encaminha a porta ao servidor geral.
- Com VPN, o servidor da loja se conecta diretamente ao endereço privado do servidor geral,
192.168.0.50, pelo túnel.
Com o túnel ativo, a filial acessa o servidor geral sem encaminhamento de portas para os serviços e sem portas de serviço expostas na Internet. Apenas a própria VPN precisa de um ponto de entrada, e todo o restante passa por dentro do túnel.
Por que a VPN resolve vários problemas de uma vez
- Portas negociadas: dentro do túnel, qualquer porta pode ser usada, sem regras de encaminhamento.
- CGNAT: o túnel pode ser iniciado a partir do lado que está atrás do CGNAT, sem precisar receber conexões vindas de fora.
- Endereço público que muda: o túnel se restabelece depois da mudança, em geral com a ajuda de um nome DDNS.
- Portas expostas: os serviços deixam de ficar abertos na Internet.
O custo é mais complexidade e mais um componente que pode falhar e que precisa de manutenção. Além disso, as redes ligadas pela VPN precisam usar faixas de endereços diferentes.
O tamanho máximo do pacote
Cada tipo de ligação tem um tamanho máximo de pacote, chamado MTU, que nas redes Ethernet é de 1500 bytes. O túnel da VPN acrescenta informações a cada pacote e reduz o espaço útil. Se o MTU não estiver ajustado, os pacotes grandes são descartados. O sintoma é característico: a conexão abre e os comandos pequenos funcionam, mas as transferências maiores travam. O quadro parece lentidão, mas é perda de pacotes grandes. Dois testes comparam os tamanhos:
ping 192.168.0.50: testa a comunicação com pacotes pequenos;ping -f -l 1472 192.168.0.50: envia 1472 bytes de dados com a marcação de não fragmentar, o que forma um pacote de 1500 bytes.
Se o primeiro teste funciona e o segundo responde que o pacote precisa ser fragmentado, ou não recebe resposta, há um problema de MTU no caminho. Reduzindo o valor de 1472 aos poucos, encontra-se o maior tamanho que passa pelo túnel.
No suporte
Com VPN, as unidades usam endereços privados entre si. Por isso, as faixas das unidades não podem se sobrepor, e o túnel passa a ser mais um ponto a verificar quando a comunicação cai.
Para guardar
- A VPN liga redes privadas através da Internet, por um túnel protegido por criptografia.
- Com a VPN, a comunicação usa os endereços privados, sem encaminhamento de portas para os serviços.
- As redes ligadas pela VPN precisam usar faixas de endereços diferentes.
- Um MTU desajustado faz os pacotes grandes se perderem dentro do túnel.
Pela VPN, a conexão com a matriz abre e as consultas pequenas funcionam, mas o envio de arquivos maiores trava. O que testar?
O MTU. A comparação entre ping 192.168.0.50 e ping -f -l 1472 192.168.0.50 mostra o problema. Se o segundo teste pedir fragmentação ou ficar sem resposta, os pacotes grandes estão sendo descartados no túnel.
Duas filiais usam a mesma faixa, 192.168.1.0/24, e as duas precisam ser ligadas à matriz por VPN. Qual é o problema dessa situação?
A matriz passa a ter duas redes diferentes com a mesma faixa de endereços e não consegue decidir para qual túnel enviar um pacote destinado, por exemplo, ao endereço 192.168.1.10. Cada unidade precisa usar uma faixa própria, como 192.168.1.0/24 em uma filial e 192.168.2.0/24 na outra.