Como soluciono problemas de perda de pacotes na minha conexão VPN?

6 minuto de leitura
0

Estou tendo perda contínua ou intermitente de pacotes e problemas de alta latência na minha conexão VPN. Quero executar testes para ter certeza de que o problema não está ocorrendo dentro da minha Amazon Virtual Private Cloud (Amazon VPC).

Resolução

Antes de iniciar os testes de desempenho, inicie e configure suas instâncias Linux do Amazon Elastic Compute Cloud (Amazon EC2):

  1. Siga as etapas em Iniciar uma instância para executar instâncias Linux em pelo menos duas zonas de disponibilidade diferentes na mesma VPC. Você pode executar testes de desempenho de rede a partir da instância.
  2. Para obter o melhor desempenho de rede possível, certifique-se de que as instâncias suportem redes aprimoradas para Linux e inicie as instâncias na mesma VPC.
  3. Se você estiver realizando testes de rede entre instâncias que não estão localizadas no mesmo grupo de posicionamento ou não oferecem suporte a jumbo frames, siga as etapas para verificar e definir a MTU na sua instância Linux.
  4. Conclua as etapas em Conectar-se à sua instância Linux para verificar se você pode acessar as instâncias.

Use mtr para verificar a perda e latência de pacotes ICMP ou TCP

Instale a ferramenta de rede mtr em ambas as instâncias para verificar se há perda e latência de pacotes ICMP ou TCP. O mtr fornece uma saída continuamente atualizada que permite analisar o desempenho da rede ao longo do tempo. Ele combina a funcionalidade do traceroute e do ping em uma única ferramenta de diagnóstico de rede.

Instale o mtr no Amazon Linux:

sudo yum install mtr

Instale o mtr no Ubuntu:

sudo apt-get install mtr

Execute os seguintes testes entre o endereço IP público e privado de suas instâncias do EC2 e seu on-premises host de forma bidirecional. O caminho entre os nós em uma rede TCP/IP pode mudar quando a direção é invertida. Nota: é importante obter resultados de mtr em ambas as direções.

O primeiro teste mtr é baseado em ICMP, mas o segundo teste tem uma opção -T, que fornece um resultado baseado em TCP. O resultado baseado em TCP ajuda a determinar se há alguma perda ou latência de pacotes com base no aplicativo na conexão. A versão MTR 0.85 e superior tem a opção TCP.

Testes de IP privado:

mtr -n -c 200 <Private IP EC2 instance/on-premises host> --report
mtr -n -T -c 200 <Private IP EC2 instance/on-premises host> --report

Testes públicos de IP:

mtr -n -c 200 <Public IP EC2 instance/on-premises host> --report
mtr -n -T -c 200 <Public IP EC2 instance/on-premises host> --report

Use o utilitário traceroute do Linux para determinar problemas de latência ou roteamento

O utilitário traceroute do Linux identifica o caminho que é percorrido de um nó cliente para um nó de destino especificado. Também mostra o tempo em milissegundos para cada roteador identificado no caminho responder a uma solicitação. E esse utilitário calcula e exibe a quantidade de tempo que cada salto leva antes de chegar ao destino. Se o traceroute não estiver instalado, certifique-se de instalá-lo em sua instância.

Instale o traceroute no Amazon Linux:

sudo yum install traceroute

Instale o traceroute no Ubuntu:

sudo apt-get install traceroute

Execute os seguintes testes entre o endereço IP público e privado de suas instâncias do EC2 e seu on-premises host de forma bidirecional. O caminho entre os nós em uma rede TCP/IP pode mudar quando a direção é invertida. É importante obter resultados de rastreamento da rota em ambas as direções. Testes de IP privado:

sudo traceroute <private IP of EC2 instance/on-premises host>
sudo traceroute -T -p 80 <private IP of EC2 instance/on-premises host>

Testes públicos de IP:

sudo traceroute <public IP of EC2 instance/on-premises host>
sudo traceroute -T -p 80 <public IP of EC2 instance/on-premises host>

Observação: os argumentos -T -p 80 -n realizam um rastreamento baseado em TCP na porta 80. Certifique-se de ter a porta 80 ou a porta com a qual você está testando aberta em ambas as direções.

A opção de traceroute do Linux para especificar um rastreamento baseado em TCP em vez de ICMP é útil porque a maioria dos dispositivos da Internet desprioriza as solicitações de rastreamento baseadas em ICMP. Algumas solicitações expiradas são comuns, portanto, observe a perda de pacotes até o destino ou no último salto da rota. A perda de pacotes que se acumula em vários saltos também pode indicar um problema.

Observação: ao solucionar problemas de conectividade de rede usando o traceroute, é útil executar o comando nas duas direções.

Use hping3 para determinar problemas de latência ou perda de pacotes TCP

O hping é um montador/analisador de pacotes TCP/IP orientado por linha de comando. Além das solicitações de eco ICMP, ele oferece suporte aos protocolos TCP, UDP e RAW-IP. Ele também tem um modo traceroute, a capacidade de enviar arquivos entre um canal coberto e muitos outros recursos.

Se o hping3 não estiver instalado, execute o seguinte comando no Amazon Linux:

sudo yum --enablerepo=epel install hping3

Execute os seguintes comandos:

hping3 -S -c 50 -V <Public IP of EC2 instance or on-premises host>
hping3 -S -c 50 -V <Private IP of EC2 instance or on-premises host>

**Observação:**Por padrão, o hping3 envia cabeçalhos TCP para a porta 0 do host de destino com um winsize de 64 sem nenhum sinalizador tcp ativado.

Amostras de captura de pacotes usando tcpdump

Você pode realizar capturas de pacotes em suas instâncias do EC2 (presentes em várias zonas de disponibilidade) e em seu on-premises host ao duplicar problemas. Esses exemplos de captura de pacotes ajudam a determinar se há algum problema na camada de rede na conexão VPN. Instale o tcpdump em sua instância para realizar capturas de pacotes.

Instale o tcpdump no Amazon Linux:

sudo yum install tcpdump

Instale o tcpdump no Ubuntu:

sudo apt-get install tcpdump

Observação: consulte a documentação específica do fornecedor para obter instruções sobre como verificar dispositivos de rede para análise e solução de problemas.


Informações relacionadas

Como faço para comparar a throughput de rede em uma instância Linux do Amazon EC2 na mesma Amazon VPC?

AWS OFICIAL
AWS OFICIALAtualizada há 2 anos