Al usar AWS re:Post, aceptas las AWS re:Post Términos de uso

¿Cómo soluciono los problemas de pérdida de paquetes en mi conexión de AWS VPN?

6 minutos de lectura
0

Tengo problemas de pérdida de paquetes constante o intermitente y de alta latencia con mi conexión a la red privada virtual de AWS (AWS VPN). Quiero saber qué pruebas debo realizar para confirmar que el problema no se produce en mi instancia de Amazon Virtual Private Cloud (Amazon VPC).

Breve descripción

Las causas de la pérdida de paquetes pueden variar a medida que el tráfico de Internet de AWS VPN se mueve entre la red local y Amazon VPC. Se recomienda aislar y confirmar el origen de la pérdida de paquetes.

Resolución

Para determinar si ha alcanzado los límites de la red, compruebe los hosts de origen y destino para ver si hay problemas de utilización de los recursos. Puede encontrar problemas de utilización de recursos en valores como CPUUtilization, NetworkIn y NetworkOut, o NetworkPacketsIn y NetworkPacketsOut.

Uso de MTR para comprobar la latencia y la pérdida de paquetes ICMP o TCP

MTR proporciona una salida actualizada continuamente que le permite analizar el rendimiento de la red a lo largo del tiempo. Combina las funcionalidades de traceroute y ping en una única herramienta de diagnóstico de red. Para comprobar la latencia y la pérdida de paquetes ICMP o TCP, instale la herramienta de red MTR en la instancia de Amazon Elastic Compute Cloud (Amazon EC2) que se encuentra en la VPC.

Amazon Linux:

sudo yum install mtr

Ubuntu:

sudo apt-get install mtr

Windows:

Visite el sitio web de SourceForge para instalar WinMTR.

Nota: Para el sistema operativo (SO) Windows, WinMTR no admite MTR basado en TCP.

Ejecute las siguientes pruebas entre la dirección IP privada y pública de sus instancias de EC2 y el host local. Dado que la ruta entre los nodos de una red TCP/IP puede cambiar cuando se invierte la dirección, obtenga los resultados de MTR desde ambas direcciones.

Antes de ejecutar las pruebas, compruebe las siguientes configuraciones:

  • Asegúrese de que las reglas del grupo de seguridad y de la lista de control de acceso de la red (ACL de la red) permitan el tráfico ICMP desde la instancia de origen.
  • Asegúrese de que el puerto de prueba esté abierto en la instancia de destino. Confirme que las reglas de la ACL del grupo de seguridad y de la red permitan el tráfico desde el origen en el protocolo y el puerto.

El resultado basado en TCP determina si hay pérdida de paquetes o latencia basados en la aplicación en la conexión. MTR, versión 0.85 y posteriores, tiene la opción TCP.

Informe de host local de una instancia de EC2 con dirección IP privada:

mtr -n -c 200

Informe de host local de una instancia de EC2 con dirección IP privada:

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

Informe de host local de una instancia de EC2 con dirección IP pública:

mtr -n -c 200

Informe de host local de una instancia de EC2 con dirección IP pública:

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

Uso de traceroute para determinar problemas de latencia o enrutamiento

La utilidad traceroute de Linux identifica la ruta desde un nodo de cliente hasta el nodo de destino. La utilidad registra el tiempo en milisegundos que tarda cada enrutador en responder a la solicitud. La utilidad traceroute también calcula la cantidad de tiempo que tarda cada salto antes de llegar a su destino.

Es habitual que algunas solicitudes agoten el tiempo de espera, así que compruebe la pérdida de paquetes en el destino o en el último salto de la ruta. La pérdida de paquetes en varios saltos puede ser indicativa de un problema.

Nota: Se recomienda ejecutar el comando traceroute desde el cliente al servidor. A continuación, ejecute el comando desde el servidor de vuelta al cliente.

Para instalar traceroute, ejecute los siguientes comandos:

Amazon Linux:

sudo yum install traceroute

Ubuntu:

sudo apt-get install traceroute

Para probar la dirección IP privada de la instancia EC2 y la local, ejecute los siguientes comandos:

Amazon Linux:

sudo traceroutesudo traceroute -T -p 80

Windows:

tracerttracetcp

Nota: Estos comandos realizan un rastreo basado en TCP en el puerto 80. Confirme que el puerto 80 o el puerto que está probando estén abiertos en ambas direcciones.

Si usa Linux, utilice la opción traceroute para especificar un rastreo basado en TCP en lugar de ICMP. Esto se debe a que la mayoría de los dispositivos de Internet despriorizan las solicitudes de rastreo basadas en ICMP.

Uso de hping3 para determinar los problemas de latencia y de pérdida de paquetes TCP de extremo a extremo

Hping3, en el sitio web die.net, es un ensamblador y analizador de paquetes TCP/IP de línea de comandos que mide la latencia y la pérdida de paquetes de extremo a extremo a través de una conexión TCP.

Los MTR y traceroute capturan la latencia por salto. Sin embargo, los resultados de hping3 muestran la pérdida de paquetes y la latencia mínima, máxima y media de extremo a extremo a través de TCP. Para instalar hping3, ejecute los siguientes comandos:

Amazon Linux:

sudo yum --enablerepo=epel install hping3

Ubuntu:

sudo apt-get install hping3

Ejecute los siguientes 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>

Nota: De forma predeterminada, hping3 envía los encabezados TCP al puerto 0 del host de destino con un tamaño de ventana de 64 y sin el indicador TCP activado.

Muestras de captura de paquetes mediante tcpdump o Wireshark

Realice capturas de paquetes simultáneas entre la instancia de EC2 de prueba en la VPC y el host local cuando duplique el problema. Esto ayuda a determinar si hay algún problema en la capa de aplicación o de red en la conexión VPN. Instale tcpdump en la instancia de Linux o Wireshark en la instancia de Windows para realizar capturas de paquetes.

tcpdump en Amazon Linux:

sudo yum install tcpdump

Instalación de tcpdump en Ubuntu:

sudo apt-get install tcpdump

Wireshark en el sistema operativo Windows:

Para instalar Wireshark, visite el sitio web de Wireshark. A continuación, realice una captura de paquetes.

Desactivación de la ECN

Si activa la notificación de congestión explícita (ECN), es posible que se produzcan problemas de rendimiento o pérdida de paquetes al conectarse a instancias de Windows. Para mejorar el rendimiento, desactive la ECN.

Para determinar si la ECN está activada, ejecute el siguiente comando:

netsh interface tcp show global

Si la función ECN está activada, ejecute el siguiente comando para desactivarla:

netsh interface tcp set global ecncapability=disabled

Información relacionada

¿Cómo soluciono los problemas de rendimiento de la red entre las instancias de Linux de Amazon EC2 en una VPC y un host local a través de una puerta de enlace de Internet?

¿Cómo puedo determinar si mis consultas de DNS al servidor DNS proporcionado por Amazon fallan debido a la limitación de DNS de la VPC?

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año