Ao usar o AWS re:Post, você concorda com os AWS re:Post Termos de uso

Como faço para solucionar problemas de perda de pacotes na minha conexão AWS VPN?

6 minuto de leitura
0

Tenho perda constante ou intermitente de pacotes e problemas de alta latência com minha conexão de AWS Virtual Private Network (AWS VPN). Quero saber quais testes executar para confirmar que o problema não ocorre dentro da minha Amazon Virtual Private Cloud (Amazon VPC).

Breve descrição

As causas da perda de pacotes podem variar à medida que o tráfego de internet do AWS VPN se movimenta entre a rede on-premises e o Amazon VPC. Recomenda-se isolar e confirmar de onde vem a perda de pacotes.

Resolução

Para determinar se você atingiu os limites da rede, verifique se há problemas de utilização de recursos nos hosts de origem e destino. Você pode encontrar problemas de utilização de recursos em valores como CPUUtilization, NetworkIn e NetworkOut, ou NetworkPacketsIn e NetworkPacketsOut.

Usar o MTR para verificar a perda e a latência de pacotes ICMP ou TCP

O MTR oferece 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. Para verificar a perda e a latência de pacotes ICMP ou TCP, instale a ferramenta de rede MTR na sua instância do Amazon Elastic Compute Cloud (Amazon EC2) que está na VPC.

Amazon Linux:

sudo yum install mtr

Ubuntu:

sudo apt-get install mtr

Windows:

Consulte o site do SourceForge para instalar o WinMTR.

Observação: para o sistema operacional (SO) Windows, o WinMTR não é compatível com o MTR baseado em TCP.

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

Antes de executar os testes, verifique as seguintes configurações:

  • Certifique-se de que as regras do grupo de segurança e da lista de controle de acesso à rede (Network ACL) permitam o tráfego ICMP da instância de origem.
  • Certifique-se de que a porta de teste esteja aberta na instância de destino. Confirme se o grupo de segurança e as regras de ACL da rede permitem o tráfego da origem no protocolo e na porta.

Os resultados baseados em TCP determinam se há perda ou latência de pacotes baseados em aplicativos na conexão. A versão MTR 0.85 e posteriores têm a opção TCP.

Relatório de host on-premises da instância do EC2 do endereço IP privado:

mtr -n -c 200

Relatório de host on-premises da instância do EC2 do endereço IP privado:

mtr -n -T -c 200 -P 443 -m 60

Relatório de host on-premises da instância do EC2 do endereço IP público:

mtr -n -c 200

Relatório de host on-premises da instância do EC2 do endereço IP público:

mtr -n -T -c 200 -P 443 -m 60

Usar traceroute para determinar problemas de latência ou roteamento

O utilitário traceroute do Linux identifica o caminho de um nó cliente até o nó de destino. O utilitário registra o tempo, em milissegundos, para que cada roteador responda à solicitação. O utilitário traceroute também calcula o tempo de cada salto antes de chegar ao destino.

Algumas solicitações expiradas são comuns; portanto, verifique a perda de pacotes até o destino ou no último salto da rota. A perda de pacotes em vários saltos pode indicar um problema.

Observação: é prática recomendada executar o comando traceroute do cliente para o servidor. Em seguida, execute o comando do servidor de volta para o cliente.

Para instalar o traceroute, execute os seguintes comandos:

Amazon Linux:

sudo yum install traceroute

Ubuntu:

sudo apt-get install traceroute

Para testar o endereço IP privado da instância do EC2 e on-premises, execute os seguintes comandos:

Amazon Linux:

sudo traceroutesudo traceroute -T -p 80

Windows:

tracerttracetcp

Observação: esses comandos fazem um rastreamento baseado em TCP na porta 80. Confirme se você tem a porta 80 ou a porta que está testando está aberta nas duas direções.

Se você usa Linux, use a opção traceroute para especificar um rastreamento baseado em TCP em vez de ICMP. Isso ocorre porque a maioria dos dispositivos da Internet desprioriza as solicitações de rastreamento baseadas em ICMP.

Use hping3 para determinar problemas de latência e perda de pacotes TCP de ponta a ponta

O hping3, no site die.net, é um montador e analisador de pacotes TCP/IP por linha de comando que mede a perda e a latência de pacotes de ponta a ponta em uma conexão TCP.

Os MTRs e o traceroute captam a latência por salto. No entanto, os resultados do hping3 mostram perda de pacotes e latência mínima, máxima e média de ponta a ponta em TCP. Para instalar o hping3, execute os seguintes comandos:

Amazon Linux:

sudo yum --enablerepo=epel install hping3

Ubuntu:

sudo apt-get 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 e sem nenhum sinalizador tcp ativado.

Amostras de captura de pacotes com tcpdump ou Wireshark

Execute capturas simultâneas de pacotes entre sua instância de teste de EC2 na VPC e seu host on-premises ao duplicar o problema. Isso ajuda a determinar se há algum problema de aplicativo ou camada de rede na conexão VPN. Para realizar capturas de pacotes, instale o tcpdump na sua instância Linux ou o Wireshark em uma instância do Windows.

tcpdump no Amazon Linux:

sudo yum install tcpdump

Instale o tcpdump no Ubuntu:

sudo apt-get install tcpdump

Wireshark no sistema operacional Windows:

Para instalar o Wireshark, consulte o site do Wireshark. Em seguida, faça uma captura de pacotes.

Desativar a ECN

Se você ativar a notificação explícita de congestionamento (ECN), poderão ocorrer perda de pacotes ou problemas de desempenho quando você se conectar às instâncias do Windows. Para melhorar o desempenho, desative a ECN.

Para determinar se a ECN está ativada, execute o seguinte comando:

netsh interface tcp show global

Se o recurso ECN estiver ativado, execute o seguinte comando para desativá-lo:

netsh interface tcp set global ecncapability=disabled

Informações relacionadas

Como faço para solucionar problemas de desempenho de rede entre instâncias Linux do EC2 da Amazon em uma VPC e um host on-premises pelo gateway da Internet?

Como faço para determinar se minhas consultas de DNS ao servidor DNS fornecido pela Amazon estão falhando devido à limitação do DNS da VPC?

AWS OFICIAL
AWS OFICIALAtualizada há um ano