Recurso de Azure NAT Gateway

En este artículo se describen los componentes clave del recurso de puerta de enlace NAT que le permiten proporcionar conectividad de salida altamente segura, escalable y resistente. Algunos de estos componentes se pueden configurar en la suscripción a través de Azure Portal, la CLI de Azure, Azure PowerShell, plantillas de Resource Manager u otras alternativas adecuadas.

Arquitectura de NAT Gateway

NAT Gateway usa redes definidas por software para funcionar como servicio distribuido y totalmente administrado. Dado que NAT Gateway tiene varios dominios de error, puede resistir múltiples errores sin efecto alguno en el servicio.

NAT Gateway proporciona traducción de direcciones de red de origen (SNAT) para instancias privadas dentro de las subredes de la red virtual de Azure. Al configurarse en una subred, las direcciones IP privadas dentro de las subredes aplican SNAT a las direcciones IP públicas estáticas de una puerta de enlace NAT para la conexión saliente a Internet. NAT Gateway también proporciona traducción de direcciones de red de destino (DNAT) para paquetes de respuesta solamente a una conexión de salida originada.

Diagram of a NAT gateway resource with virtual machines and a Virtual Machine Scale Set.

Figura: puerta de enlace NAT para una salida a Internet

Cuando una puerta de enlace NAT se asocia a una subred dentro de una red virtual, la puerta de enlace NAT supone el tipo de próximo salto predeterminado de la subred para todo el tráfico saliente dirigido a Internet. No se requieren configuraciones de enrutamiento adicionales. NAT Gateway no proporciona conexiones entrantes no solicitadas desde Internet. Solo se aplica DNAT a los paquetes que llegan como respuesta a un paquete saliente.

Subredes

Una puerta de enlace NAT se puede asociar a varias subredes dentro de una red virtual para proporcionar conectividad saliente a Internet. Cuando una puerta de enlace NAT se asocia a una subred, supone la ruta predeterminada a Internet. Entonces, la puerta de enlace NAT será el tipo de próximo salto para todo el tráfico saliente destinado a Internet.

Las siguientes configuraciones de subred no se pueden usar con una puerta de enlace NAT:

  • Una subred no se puede asociar a más de una puerta de enlace NAT. La puerta de enlace NAT se convierte en la ruta predeterminada a Internet para una subred; solo una puerta de enlace NAT puede actuar como ruta predeterminada.

  • Una puerta de enlace NAT no se puede asociar a subredes de distintas redes virtuales.

  • Una puerta de enlace NAT no se puede usar con una subred de puerta de enlace. Una subred de puerta de enlace es una subred designada para que una puerta de enlace de VPN envíe tráfico cifrado entre una red virtual de Azure y una ubicación local. Para obtener más información sobre la subred de puerta de enlace, consulte Subred de puerta de enlace.

Direcciones IP públicas estáticas

Una puerta de enlace NAT se puede asociar a prefijos IP públicos o direcciones IP públicas estáticas para proporcionar conectividad de salida. NAT Gateway admite direcciones IPv4. Una puerta de enlace NAT puede usar cualquier combinación de direcciones y prefijos IP públicos hasta llegar a un total de 16 direcciones IP. Si asigna un prefijo de IP pública, se usa todo el prefijo. Puede usar un prefijo de IP pública directamente o distribuir las direcciones IP públicas del prefijo entre varios recursos de puerta de enlace de NAT. La puerta de enlace NAT limpiará todo el tráfico hacia el intervalo de direcciones IP del prefijo.

  • Una puerta de enlace NAT no se puede usar con prefijos o direcciones IP públicas IPv6.

  • Una puerta de enlace NAT no se puede usar con direcciones IP públicas de SKU básica.

Puertos SNAT

El inventario de puertos SNAT lo proporcionan las direcciones IP públicas, los prefijos IP públicos o ambos asociados a una puerta de enlace NAT. El inventario de puertos SNAT está disponible a petición para todas las instancias de una subred asociada a la puerta de enlace NAT. No se requiere ninguna asignación previa de puertos SNAT por instancia.

Para obtener más información sobre los puertos SNAT y Azure NAT Gateway, consulte Traducción de direcciones de red de origen (SNAT) con Azure NAT Gateway.

Cuando varias subredes dentro de una red virtual están asociadas al mismo recurso de puerta de enlace NAT, el inventario de puertos SNAT que proporciona NAT Gateway se comparte en todas las subredes.

Los puertos SNAT sirven como identificadores únicos para distinguir distintos flujos de conexión entre sí. El mismo puerto SNAT se puede usar para conectarse a distintos puntos de conexión de destino al mismo tiempo.

Se usan puertos SNAT distintos para establecer conexiones con el mismo punto de conexión de destino a fin de distinguir los distintos flujos de conexión entre sí. Los puertos SNAT que se reutilizan para conectarse al mismo destino se colocan en un temporizador de reutilización (recuperación) antes de poder reutilizarlos.

Una única puerta de enlace NAT puede escalar verticalmente hasta 16 direcciones IP. Cada IP pública de puerta de enlace NAT proporciona 64 512 puertos SNAT para establecer conexiones de salida. Una puerta de enlace de red NAT puede escalar hasta un millón de puertos SNAT. TCP y UDP son inventarios de puertos SNAT independientes y no están relacionados con NAT Gateway.

Zonas de disponibilidad

Se puede crear una puerta de enlace NAT en una zona de disponibilidad específica o colocarla en ninguna zona. Cuando una puerta de enlace NAT no se coloca en ninguna zona, Azure selecciona una zona en la que residirá la puerta de enlace NAT.

Las direcciones IP públicas con redundancia de zona se pueden usar con recursos de puerta de enlace NAT de zona o sin zona.

Se recomienda configurar una puerta de enlace NAT en zonas de disponibilidad individuales. Además, debería asociarse a subredes con instancias privadas de la misma zona. Para obtener más información sobre las zonas de disponibilidad y Azure NAT Gateway, consulte Consideraciones de diseño de las zonas de disponibilidad.

Diagram of zonal isolation by creating zonal stacks.

Una vez implementada una puerta de enlace NAT, no se puede cambiar la selección de zona.

Protocolos

NAT Gateway interactúa con la IP y los encabezados de transporte IP de los flujos UDP y TCP. NAT Gateway es independiente de las cargas de la capa de aplicaciones. No se admiten otros protocolos de IP.

Restablecimiento de TCP

Se envía un paquete de restablecimiento de TCP cuando una puerta de enlace NAT detecta tráfico en un flujo de conexión que no existe. El paquete de restablecimiento de TCP indica al punto de conexión receptor que se ha producido la liberación del flujo de conexión y cualquier comunicación futura en esta misma conexión TCP generará un error. El restablecimiento de TCP es unidireccional para una puerta de enlace NAT.

Es posible que el flujo de conexión no exista si:

  • Se alcanzó el tiempo de espera de inactividad después de un período de inactividad en el flujo de conexión y la conexión se anula de forma silenciosa.

  • El emisor, ya sea del lado de red de Azure o del lado de Internet público, envió tráfico después de anularse la conexión.

Solo se envía un paquete de restablecimiento de TCP al detectar tráfico en el flujo de conexión anulado. Esta operación significa que puede que un paquete de restablecimiento de TCP no se envíe inmediatamente después de que se haya anulado un flujo de conexión.

El sistema envía un paquete de restablecimiento de TCP como respuesta a la detección de tráfico en un flujo de conexión inexistente, independientemente de si el tráfico se origina desde la red de Azure o desde Internet público.

Tiempo de espera de inactividad de TCP

Una puerta de enlace NAT proporciona un intervalo de tiempo de espera de inactividad configurable de 4 a 120 minutos para los protocolos TCP. Los protocolos UDP tienen un tiempo de espera de inactividad no configurable de 4 minutos.

Cuando una conexión pasa a estado inactivo, la puerta de enlace NAT se mantiene en el puerto SNAT hasta que se agota el tiempo de espera de la conexión. Dado que los temporizadores de tiempo de espera de inactividad de larga duración pueden aumentar innecesariamente la probabilidad de agotamiento del puerto SNAT, no se recomienda aumentar el tiempo de espera de inactividad de TCP a más de los 4 minutos predeterminados. El temporizador de inactividad no afecta a un flujo que nunca se queda inactivo.

Se pueden usar conexiones persistentes de TCP para proporcionar un patrón de actualización de conexiones de inactividad larga y detección de la ejecución del punto de conexión. Para obtener más información, consulte estos ejemplos de .NET. Estos mensajes aparecen como ACK duplicados en los puntos de conexión, tienen una sobrecarga baja y son invisibles para la capa de aplicaciones.

Los temporizadores de tiempo de espera de inactividad de UDP no son configurables, se deben usar conexiones persistentes UDP para asegurarse de que no se alcanza el valor de tiempo de espera de inactividad y que se mantiene la conexión. A diferencia de las conexiones TCP, una conexión persistente UDP habilitada en un lado de la conexión solo se aplica al flujo de tráfico en una dirección. Las conexiones persistentes de UDP deben estar habilitadas en ambos lados del flujo de tráfico para mantenerlo activo.

Temporizadores

Temporizadores de reutilización de puertos

Los temporizadores de reutilización de puertos determinan la cantidad de tiempo después de que una conexión se cierre que un puerto de origen está en espera antes de que se pueda reutilizar para ir al mismo punto de conexión de destino mediante la puerta de enlace NAT.

En la tabla siguiente se proporciona información sobre cuándo un puerto TCP está disponible para reutilizarlo en el mismo punto de conexión de destino mediante la puerta de enlace NAT.

Temporizador Descripción Value
TCP FIN Después de que un paquete TCP FIN cierre una conexión, se activa un temporizador de 65 segundos que mantiene inactivo el puerto SNAT. El puerto SNAT está disponible para su reutilización después de que finalice el temporizador. 65 segundos
TCP RST Después de que una conexión se cierre mediante un paquete TCP RST (restablecimiento), se activa un temporizador de 16 segundos que mantiene inactivo el puerto SNAT. Cuando finaliza el temporizador, el puerto está disponible para su reutilización. 16 segundos
TCP semiabierto Durante el establecimiento de la conexión en el que un punto de conexión está esperando la confirmación del otro punto de conexión, se activa un temporizador de 30 segundos. Si no se detecta tráfico, se cierra la conexión. Una vez cerrada la conexión, el puerto de origen está disponible para reutilizarlo en el mismo punto de conexión de destino. 30 segundos

Para el tráfico UDP, después de cerrarse una conexión, el puerto está en espera durante 65 segundos antes de estar disponible para su reutilización.

Temporizadores de tiempo de espera de inactividad

Temporizador Descripción Valor
Tiempo de espera de inactividad de TCP Las conexiones TCP pueden estar inactivas cuando no se transmite ningún dato entre ambos puntos de conexión durante un período de tiempo prolongado. Se puede configurar un temporizador de entre 4 minutos (predeterminado) y 120 minutos (dos horas) para agotar el tiempo de espera de una conexión que está inactiva. El tráfico del flujo restablece el temporizador de tiempo de espera de inactividad. Configurable; de 4 minutos (valor predeterminado) a 120 minutos
Tiempo de espera de inactividad UDP Las conexiones TCP pueden estar inactivas cuando no se transmite ningún dato entre ambos puntos de conexión durante un período de tiempo prolongado. Los temporizadores de tiempo de espera de inactividad UDP son de 4 minutos y no son configurables. El tráfico del flujo restablece el temporizador de tiempo de espera de inactividad. No configurable; 4 minutos

Nota:

Esta configuración del temporizador está sujeta a cambios. Los valores se proporcionan como ayuda para la solución de problemas y no se debe asumir una dependencia de temporizadores concretos en este momento.

Ancho de banda

Cada puerta de enlace NAT puede proporcionar hasta 50 Gbps de rendimiento. Este rendimiento de los datos abarca los datos procesados entrantes y salientes (respuesta) a través de un recurso de puerta de enlace NAT. Puede dividir las implementaciones en varias subredes y asignar a cada subred o grupo de subredes una puerta de enlace NAT para escalar horizontalmente.

Rendimiento

Una puerta de enlace de red NAT puede admitir hasta 50 000 conexiones simultáneas por IP pública al mismo punto de conexión de destino a través de Internet con TCP y UDP. La puerta de enlace NAT puede procesar 1 millón de paquetes por segundo y escalar verticalmente hasta 5 millones por segundo.

El número total de conexiones que una puerta de enlace NAT puede admitir en un momento dado es de hasta 2 millones. Aunque la puerta de enlace NAT puede superar los 2 millones de conexiones, esto aumenta el riesgo de errores de conexión.

Limitaciones

  • Los equilibradores de carga básicos y las direcciones IP públicas básicas no son compatibles con la puerta de enlace NAT. En su lugar, deben usarse equilibradores de carga de SKU estándar y direcciones IP públicas.

  • La puerta de enlace de red NAT no admite ICMP

  • La fragmentación IP no está disponible para NAT Gateway.

  • NAT Gateway no admite direcciones IP públicas con el tipo de configuración de enrutamiento Internet. Para ver una lista de los servicios de Azure compatibles con la configuración de enrutamiento de Internet en IP públicas, consulte los servicios compatibles para el enrutamiento a través de la Internet pública.

  • No se admiten direcciones IP públicas que tengan habilitada la protección contra DDoS con una puerta de enlace NAT. Consulte Limitaciones de DDoS para más información.

Pasos siguientes