Solucionar problemas de las gateways NAT
Los siguientes temas le ayudarán a solucionar problemas comunes que podría encontrarse a la hora de crear o utilizar una gateway NAT.
Problemas
- La creación de la gateway NAT produce un error
- Cuota de gateways NAT
- Cuota de direcciones IP elásticas
- La zona de disponibilidad no es compatible
- La gateway NAT ya no está visible
- La gateway NAT no responde a un comando ping
- Las instancias no pueden obtener acceso a Internet
- Error de la conexión TCP a un destino
- La salida del comando traceroute no muestra la dirección IP privada de la gateway NAT
- La conexión a Internet se pierde después de 350 segundos
- La conexión IPsec no se puede establecer
- No se pueden iniciar más conexiones
La creación de la gateway NAT produce un error
Problema
Al crear una gateway NAT, esta cambia al estado Failed
.
nota
Una gateway NAT que falle se elimina automáticamente, normalmente en aproximadamente una hora.
Causa
Se produjo un error al crear la gateway NAT. El mensaje de estado devuelto proporciona el motivo del error.
Solución
Para ver el mensaje de error, abra la consola de Amazon VPC y, a continuación, elija NAT Gateways (Gateways NAT). Seleccione el botón de opción de la gateway NAT y, a continuación, busque State message (Mensaje de estado) en la ficha Details (Detalles).
En la siguiente tabla se muestran las causas posibles del error según lo que se indique en la consola de Amazon VPC. Tras aplicar los pasos recomendados como solución, puede intentar volver a crear una gateway NAT.
Error mostrado | Causa | Solución |
---|---|---|
Subnet has insufficient free addresses to create this NAT gateway | La subred que ha especificado no tiene ninguna dirección IP privada libre. La gateway NAT requiere una interfaz de red con una dirección IP privada asignada desde el rango de la subred. | Vaya a la página Subnets (Subredes) de la consola de Amazon VPC para comprobar cuántas direcciones IP hay disponibles en la subred. Puede ver las Available IPs (IP disponibles) en el panel de detalles de su subred. Para crear direcciones IP libres en su subred, puede eliminar las interfaces de red que no utilice, o bien terminar las instancias que no necesite. |
Network vpc-xxxxxxxx has no internet gateway attached | Debe haber una gateway NAT creada en una VPC con un puerto de enlace a Internet. | Cree un puerto de enlace a Internet y vincúlelo a su VPC. Para obtener más información, consulte Adición de acceso a Internet en una subred. |
Elastic IP address eipalloc-xxxxxxxx is already associated | La dirección IP elástica que ha especificado ya está asociada a otro recurso, y no se puede asociar a la gateway NAT. | Compruebe qué recurso está asociado a la dirección IP elástica. Vaya a la página Elastic IPs (Direcciones IP elásticas) de la consola de Amazon VPC y consulte los valores especificados para el ID de instancia o el ID de la interfaz de red. Si no necesita la dirección IP elástica para ese recurso, puede desasociarla. De forma alternativa, puede asignar una nueva dirección IP elástica a su cuenta. Para obtener más información, consulte Introducción a las direcciones IP elásticas. |
Cuota de gateways NAT
Cuando intenta crear una gateway NAT, obtiene el siguiente error.
Performing this operation would exceed the limit of 5 NAT gateways
Causa
Ha alcanzado la cuota correspondiente al número de gateways NAT para esa zona de disponibilidad.
Solución
Si ha alcanzado esta cuota gateways NAT para su cuenta, puede hacer una de estas cosas:
-
Solicite un aumento de la cuota de gateways NAT por zona de disponibilidad
mediante la consola de Service Quotas. -
Compruebe el estado de su gateway NAT. Una gateway con los estados
Pending
,Available
oDeleting
cuenta al calcular la cuota. Si ha eliminado recientemente una gateway NAT, espere unos minutos para que el estado cambie deDeleting
aDeleted
. A continuación, intente crear una nueva gateway NAT. -
Si no necesita que su gateway NAT esté en una zona de disponibilidad específica, intente crear una gateway NAT en una zona de disponibilidad en la que no haya alcanzado la cuota.
Para obtener más información, consulte Cuotas de Amazon VPC.
Cuota de direcciones IP elásticas
Problema
Cuando intenta asignar una dirección IP elástica a su gateway NAT pública, obtiene el siguiente error.
The maximum number of addresses has been reached.
Causa
Ha alcanzado la cuota de direcciones IP elásticas para su cuenta en esa región.
Solución
Si ha alcanzado la cuota de direcciones IP elásticas, puede anular la asociación de una dirección IP elástica de otro recurso. También puede solicitar un aumento de la cuota de IP elásticas
La zona de disponibilidad no es compatible
Problema
Cuando intenta crear una gateway NAT, obtiene el siguiente mensaje de error: NotAvailableInZone
.
Causa
Es posible que intente crear la gateway NAT en una zona de disponibilidad limitada, es decir, una zona en la que la capacidad de ampliación esté restringida.
Solución
Las gateways NAT no son compatibles en estas zonas de disponibilidad. Puede crear una gateway NAT en una zona de disponibilidad diferente y usarla para subredes privadas en la zona limitada. También puede mover los recursos a una zona de disponibilidad no limitada para que sus recursos y su gateway NAT estén en la misma zona.
La gateway NAT ya no está visible
Problema
Ha creado una gateway NAT, pero ya no está visible en la consola de Amazon VPC.
Causa
Es posible que haya habido un error durante la creación de la gateway NAT y que haya fallado la creación. Una gateway NAT cuyo estado sea Failed
está visible en la consola de Amazon VPC durante una hora aproximadamente. Después de una hora, se elimina automáticamente.
Solución
Revise la información en La creación de la gateway NAT produce un error e intente crear una nueva gateway NAT.
La gateway NAT no responde a un comando ping
Problema
Cuando intenta hacer ping a la dirección IP elástica de una gateway NAT o en la dirección IP privada desde Internet (por ejemplo, desde su equipo doméstico) o desde alguna instancia en su VPC, no obtiene ninguna respuesta.
Causa
Una gateway NAT solo pasa el tráfico desde una instancia de una subred privada a Internet.
Solución
Para comprobar si su gateway NAT está funcionando, consulte Prueba de la gateway NAT pública.
Las instancias no pueden obtener acceso a Internet
Problema
Ha creado una gateway NAT pública y ha seguido los pasos para probarla, pero el comando ping
produce un error, o bien sus instancias de la subred privada no pueden acceder a Internet.
Causas
Este problema podría deberse a una de las siguientes causas:
-
La gateway NAT no está lista para dirigir tráfico.
-
Sus tablas de ruteo no se han configurado correctamente.
-
Sus grupos de seguridad o las ACL de red están bloqueando el tráfico entrante o saliente.
-
Está utilizando un protocolo no admitido.
Solución
Compruebe la siguiente información:
-
Compruebe que la gateway NAT tiene el estado
Available
. En la consola Amazon VPC, vaya a la página NAT Gateways (Gateways NAT) y consulte la información de estado en el panel de detalles. Si la gateway NAT tiene un estado de error, puede que haya habido un error durante su creación. Para obtener más información, consulte La creación de la gateway NAT produce un error. -
Asegúrese de haber configurado las tablas de ruteo correctamente:
-
La gateway NAT debe estar en una subred pública con una tabla de ruteo que direccione el tráfico de Internet a un puerto de enlace a Internet.
-
Su instancia debe estar en una subred privada con una tabla de ruteo que direccione el tráfico de Internet a la gateway NAT.
-
Compruebe que no haya otras entradas de tabla de ruteo que dirijan todo o parte del tráfico de Internet a otro dispositivo en lugar de a la gateway NAT.
-
-
Asegúrese de que las reglas de su grupo de seguridad para su instancia privada permiten el tráfico de salida de Internet. Para que el comando
ping
funcione, las reglas también deben permitir el tráfico ICMP saliente.La gateway NAT permite por sí misma todo el tráfico de salida, y el tráfico recibido en respuesta a una solicitud saliente (por tanto, es con estado).
-
Asegúrese de que las ACL de red estén asociadas a la subred privada y de que las subredes públicas no tengan reglas que bloqueen el tráfico de entrada y salida de Internet. Para que el comando
ping
funcione, las reglas también deben permitir el tráfico ICMP entrante y saliente.Puede habilitar los logs de flujo para que le ayuden a diagnosticar las conexiones perdidas a causa de las reglas de grupos de seguridad o de ACL de red. Para obtener más información, consulte Registro del tráfico de IP con registros de flujo de la VPC.
-
Si va a utilizar el comando
ping
, asegúrese de hacer ping a un host con ICMP habilitado. Si ICMP no se ha habilitado, no recibirá paquetes de respuesta. Para comprobar esto, ejecute el mismo comandoping
desde el terminal de línea de comandos en su propio equipo. -
Asegúrese de que su instancia puede hacer ping a otros recursos, como, por ejemplo, otras instancias de la subred privada (suponiendo que las reglas de ese grupo de seguridad lo permitan).
-
Asegúrese de que su conexión esté utilizando únicamente un protocolo TCP, UDP o ICMP.
Error de la conexión TCP a un destino
Problema
Algunas de sus conexiones TCP desde instancias de una subred privada a un destino específico a través de una gateway de NAT se realizan correctamente, pero otras producen errores o se agota el tiempo de espera.
Causas
Este problema podría deberse a una de las siguientes causas:
-
El punto de enlace de destino responde con paquetes TCP fragmentados. Las gateways NAT no admiten la fragmentación de IP para TCP o ICMP. Para obtener más información, consulte Comparar las puertas de enlace NAT con las instancias NAT.
-
La opción
tcp_tw_recycle
, de la que se sabe que causa problemas cuando hay varias conexiones desde detrás de un dispositivo NAT, está habilitada en el servidor remoto.
Soluciones
Haga lo siguiente para comprobar si el punto de enlace al que intenta conectarse está respondiendo con paquetes TCP fragmentados:
-
Utilizar una instancia en una subred pública con una dirección IP pública para desencadenar una respuesta lo suficientemente grande para provocar la fragmentación desde el punto de enlace específico.
-
Utilizar
tcpdump
para verificar que el punto de conexión esté enviando paquetes fragmentados.importante
Debe utilizar una instancia en una subred pública para realizar estas comprobaciones. No puede utilizar la instancia desde la que estaba fallando la conexión original ni una instancia en una subred privada detrás de una gateway NAT o una instancia NAT.
Las herramientas de diagnóstico que envían o reciben grandes paquetes ICMP informarán de la pérdida de paquetes. Por ejemplo, el comando
ping -s 10000 example.com
no funciona tras una gateway NAT. -
Si el punto de conexión está enviando paquetes TCP fragmentados, puede utilizar una instancia NAT en lugar de una gateway NAT.
Si tiene acceso al servidor remoto, haga lo siguiente para comprobar si la opción tcp_tw_recycle
está habilitada:
-
Desde el servidor, ejecute el comando siguiente.
cat /proc/sys/net/ipv4/tcp_tw_recycle
Si el resultado es
1
, la opcióntcp_tw_recycle
está habilitada. -
Si se ha habilitado
tcp_tw_recycle
, le recomendamos deshabilitarla. Si necesita reutilizar las conexiones,tcp_tw_reuse
es una opción más segura.
Si no tiene acceso al servidor remoto, pruebe a deshabilitar temporalmente la opción tcp_timestamps
en una instancia de la subred privada. A continuación, vuelva a conectarse al servidor remoto. Si la conexión se realiza correctamente, puede que el error anterior se deba a que la opción tcp_tw_recycle
está habilitada en el servidor remoto. Si es posible, póngase en contacto con el propietario del servidor remoto para comprobar si esta opción está habilitada y solicitar que se deshabilite.
La salida del comando traceroute no muestra la dirección IP privada de la gateway NAT
Problema
Su instancia puede obtener acceso a Internet, pero al ejecutar el comando traceroute
, la salida no muestra la dirección IP privada de la gateway NAT.
Causa
Su instancia está obteniendo acceso a Internet mediante una gateway distinta, como una gateway de Internet.
Solución
En la tabla de ruteo de la subred en la que se encuentra su instancia, compruebe la siguiente información:
-
Asegúrese de que hay una ruta que envía el tráfico de Internet a la gateway NAT.
-
Asegúrese de que no hay una ruta más específica que esté enviando el tráfico de Internet a otros dispositivos, como una gateway privada virtual o un puerto de enlace a Internet.
La conexión a Internet se pierde después de 350 segundos
Problema
Sus instancias pueden obtener acceso a Internet, pero la conexión se interrumpe transcurridos 350 segundos.
Causa
Si una conexión que está utilizando una gateway NAT se queda inactiva durante 350 segundos o más, su tiempo de espera se agota.
Cuando el tiempo de espera de una conexión finaliza, una gateway NAT devuelve un paquete RST a los recursos situados detrás de la gateway NAT que intenten continuar la conexión (no envía un paquete FIN).
Solución
Para impedir que se pierda la conexión, puede iniciar más tráfico a través de esta. También puede habilitar conexiones keepalive de TCP en la instancia con un valor inferior a 350 segundos.
La conexión IPsec no se puede establecer
Problema
No puede establecer una conexión IPsec a un destino.
Causa
Las gateways NAT actualmente no admiten el protocolo IPsec.
Solución
Puede usar NAT-Traversal (NAT-T) para encapsular el tráfico IPsec en UDP, que es un protocolo admitido para las gateways NAT. Asegúrese de probar la configuración de NAT-T e IPsec para verificar que el tráfico IPsec no se elimina.
No se pueden iniciar más conexiones
Problema
Ya tiene conexiones a un destino a través de una puerta de enlace NAT, pero no puede establecer más.
Causa
Puede que haya alcanzado el límite de conexiones simultáneas para una sola gateway NAT. Para obtener más información, consulte Conceptos básicos de la gateway NAT. Si sus instancias de la subred privada crean un gran número de conexiones, puede que alcance este límite.
Solución
Realice una de las siguientes acciones siguientes:
-
Cree una gateway NAT por zona de disponibilidad y reparta sus clientes entre estas zonas.
-
Cree gateways NAT adicionales en la subred pública y divida sus clientes en varias subredes privadas, cada una con una ruta a una gateway NAT distinta.
-
Limite el número de conexiones que pueden crear sus clientes al destino.
-
Utilice la métrica IdleTimeoutCount en CloudWatch para monitorear los aumentos de las conexiones inactivas. Cierre las conexiones inactivas para liberar capacidad.
-
Cree una puerta de enlace NAT con varias direcciones IP o agregue direcciones IP secundarias a una puerta de enlace NAT existente. Cada dirección IPv4 nueva puede admitir hasta 55 000 conexiones simultáneas. Para obtener más información, consulte Creación de una gateway NAT o Edición de asociaciones de direcciones IP secundarias.