

# Solucionar problemas de las gateways NAT
<a name="nat-gateway-troubleshooting"></a>

Los siguientes temas le ayudarán a solucionar problemas comunes que podría encontrarse a la hora de crear o utilizar una gateway NAT.

**Topics**
+ [La creación de la gateway NAT produce un error](#nat-gateway-troubleshooting-failed)
+ [Cuota de gateways NAT](#nat-gateway-troubleshooting-quota)
+ [Cuota de direcciones IP elásticas](#nat-gateway-troubleshooting-limits)
+ [La zona de disponibilidad no es compatible](#nat-gateway-troubleshooting-unsupported-az)
+ [La gateway NAT ya no está visible](#nat-gateway-troubleshooting-gateway-removed)
+ [La gateway NAT no responde a un comando ping](#nat-gateway-troubleshooting-ping)
+ [Las instancias no pueden obtener acceso a Internet](#nat-gateway-troubleshooting-no-internet-connection)
+ [Error de la conexión TCP a un destino](#nat-gateway-troubleshooting-tcp-issues)
+ [La salida del comando traceroute no muestra la dirección IP privada de la gateway NAT](#nat-gateway-troubleshooting-traceroute)
+ [La conexión a Internet se pierde después de 350 segundos](#nat-gateway-troubleshooting-timeout)
+ [La conexión IPsec no se puede establecer](#nat-gateway-troubleshooting-ipsec)
+ [No se pueden iniciar más conexiones](#nat-gateway-troubleshooting-simultaneous-connections)

## La creación de la gateway NAT produce un error
<a name="nat-gateway-troubleshooting-failed"></a>

**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](working-with-igw.md). | 
| 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](WorkWithEIPs.md). | 

## Cuota de gateways NAT
<a name="nat-gateway-troubleshooting-quota"></a>

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](https://console.aws.amazon.com/servicequotas/home/services/vpc/quotas/L-FE5A380F) mediante la consola de Service Quotas.
+ Compruebe el estado de su gateway NAT. Una gateway con los estados `Pending`, `Available` o `Deleting` cuenta al calcular la cuota. Si ha eliminado recientemente una gateway NAT, espere unos minutos para que el estado cambie de `Deleting` a `Deleted`. 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](amazon-vpc-limits.md).

## Cuota de direcciones IP elásticas
<a name="nat-gateway-troubleshooting-limits"></a>

**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](https://console.aws.amazon.com/servicequotas/home/services/ec2/quotas/L-0263D0A3) mediante la consola de Service Quotas.

## La zona de disponibilidad no es compatible
<a name="nat-gateway-troubleshooting-unsupported-az"></a>

**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
<a name="nat-gateway-troubleshooting-gateway-removed"></a>

**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](#nat-gateway-troubleshooting-failed) e intente crear una nueva gateway NAT.

## La gateway NAT no responde a un comando ping
<a name="nat-gateway-troubleshooting-ping"></a>

**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](nat-gateway-scenarios.md#public-nat-gateway-testing).

## Las instancias no pueden obtener acceso a Internet
<a name="nat-gateway-troubleshooting-no-internet-connection"></a>

**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 de Amazon VPC, vaya a la página **Puertas de enlace 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](#nat-gateway-troubleshooting-failed).
+ 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](flow-logs.md).
+ 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 comando `ping` 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
<a name="nat-gateway-troubleshooting-tcp-issues"></a>

**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](vpc-nat-comparison.md).
+ 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:

1. 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.

1. 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.

1. 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:

1. Desde el servidor, ejecute el comando siguiente.

   ```
   cat /proc/sys/net/ipv4/tcp_tw_recycle
   ```

   Si el resultado es `1`, la opción `tcp_tw_recycle` está habilitada.

1. 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
<a name="nat-gateway-troubleshooting-traceroute"></a>

**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
<a name="nat-gateway-troubleshooting-timeout"></a>

**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
<a name="nat-gateway-troubleshooting-ipsec"></a>

**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
<a name="nat-gateway-troubleshooting-simultaneous-connections"></a>

**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](nat-gateway-basics.md). 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:
+ 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`](vpc-nat-gateway-cloudwatch.md) 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](nat-gateway-working-with.md#nat-gateway-creating) o [Edición de asociaciones de direcciones IP secundarias](nat-gateway-working-with.md#nat-gateway-edit-secondary).