NAT pública

La NAT pública permite que tus instancias de máquina virtual (VM) de Compute Engine se comuniquen con Internet asignando un conjunto de direcciones IPv4 externas compartidas y puertos de origen a cada VM que usa la NAT pública para crear conexiones salientes a Internet.

Con la NAT pública, las instancias de VM que no tienen direcciones IPv4 externas pueden comunicarse con destinos IPv4 en Internet. La NAT pública también permite que tus instancias de VM con direcciones IPv6 externas o internas se conecten a destinos IPv4 en Internet.

Especificaciones

Cloud NAT admite los siguientes tipos de traducción de direcciones para NAT pública:

  • De IPv4 a IPv4, o NAT44. Para obtener más información, consulta NAT44 en NAT pública.

  • De IPv6 a IPv4, o NAT64. NAT64 está disponible para las instancias de VM de Compute Engine. En el caso de los nodos de Google Kubernetes Engine (GKE), los extremos sin servidores y los grupos de extremos de red de Internet regionales, Cloud NAT solo traduce direcciones IPv4. Para obtener más información, consulta NAT64 en NAT pública.

Especificaciones generales:

  • La NAT pública permite las conexiones salientes y las respuestas entrantes a esas conexiones. Cada puerta de enlace de Cloud NAT para NAT pública realiza NAT de origen en el tráfico de salida y NAT de destino para los paquetes de respuesta establecidos.

  • NAT pública no permite solicitudes de entrada no solicitadas desde Internet, incluso si las reglas de firewall permitirían esas solicitudes. Para obtener más información, consulta RFC aplicables.

  • Cada puerta de enlace de Cloud NAT para NAT pública está asociada a una sola red de VPC, región y Cloud Router. La puerta de enlace de Cloud NAT y el Cloud Router proporcionan un plano de control, ya que no participan en el plano de datos, por lo que los paquetes no pasan por la puerta de enlace de Cloud NAT ni por el Cloud Router.

    Aunque un Cloud Router administra una puerta de enlace de Cloud NAT para NAT pública, esta no usa ni depende del Protocolo de Puerta de Enlace Fronteriza.

  • En el caso de NAT44, la NAT pública puede proporcionar NAT para los paquetes salientes enviados desde los siguientes elementos:

    • La dirección IP interna principal de la interfaz de red de la VM, siempre que la interfaz de red no tenga una dirección IP externa asignada: Si la interfaz de red tiene una dirección IP externa asignada, Cloud de Confiance realiza automáticamente la NAT de uno a uno para los paquetes cuyas fuentes coinciden con la dirección IP interna principal de la interfaz, ya que la interfaz de red cumple con los Cloud de Confiance requisitos de acceso a Internet. La existencia de una dirección IP externa en una interfaz siempre tiene prioridad y siempre realiza NAT uno a uno, sin usar NAT pública.

    • Un rango de IP de alias asignado a la interfaz de red de la VM: Incluso si la interfaz de red tiene una dirección IP externa asignada, puedes configurar una puerta de enlace de Cloud NAT para la NAT pública y proporcionar NAT para los paquetes cuyas fuentes provienen de un rango de IP de alias de la interfaz. Una dirección IP externa en una interfaz nunca realiza NAT uno a uno para direcciones IP de alias.

    • Son las direcciones IP que usan las VMs para el reenvío de IP. Para configurar la NAT para estas direcciones, crea una regla de NAT que coincida con la dirección IP de origen que usa la VM cuando reenvía paquetes. Para obtener más información, consulta Reglas basadas en la fuente.

    • Clústeres de GKE: NAT pública puede proporcionar servicio incluso si el clúster tiene direcciones IP externas en ciertas circunstancias. Para obtener más información, consulta Interacción con GKE.

  • En el caso de NAT64, la NAT pública puede proporcionar NAT para los paquetes salientes enviados desde los siguientes elementos:

    • Es el rango de direcciones /96 interno de la interfaz de red solo IPv6 de la VM.
    • Es el rango de direcciones /96 externas de la interfaz de red solo IPv6 de la VM.

Rutas y reglas de firewall

La NAT pública se basa en rutas estáticas locales cuyos próximos saltos son la puerta de enlace de Internet predeterminada. Por lo general, una ruta predeterminada cumple con este requisito. Para obtener más información, consulta interacciones de rutas.

Las reglas de firewall de Cloud NGFW se aplican directamente a las interfaces de red de las VMs de Compute Engine, no a las puertas de enlace de Cloud NAT para NAT pública.

Cuando una puerta de enlace de Cloud NAT para NAT pública proporciona NAT para la interfaz de red de una VM, las reglas de firewall de salida aplicables se evalúan como paquetes para esa interfaz de red antes de la NAT. Las reglas de firewall de entrada se evalúan después de que la NAT procesa los paquetes. No es necesario que crees reglas de firewall específicamente para la NAT.

Sin embargo, si deseas habilitar NAT64 en una red de VPC que tiene una regla de firewall de denegación de salida para un destino IPv4, te recomendamos que crees una regla de firewall de denegación de salida adicional para la dirección IPv6 incorporada en IPv4 del destino. Esto garantiza que el tráfico de las VMs que usan NAT64 no pueda omitir la regla de firewall de IPv4. Por ejemplo, si el destino de tu regla de IPv4 es 1.2.3.4/32, el destino de la regla de IPv6 debe ser 64:ff9b:0102:0304/128. Para obtener más información sobre las direcciones IPv6 con IPv4 incorporado, consulta NAT64.

Aplicabilidad del rango de direcciones IP de la subred

La NAT pública proporciona NAT para rangos de subredes IPv4, rangos de subredes IPv6 o ambos:

  • Para los rangos de subred IPv4, puedes usar las siguientes opciones para configurar NAT para los rangos de direcciones IP principales, los rangos de IP de alias o ambos:

    • Rangos de direcciones IPv4 principales y secundarios de todas las subredes de la región: Una sola puerta de enlace de Cloud NAT proporciona NAT para las direcciones IP internas principales y todos los rangos de IP de alias de las VMs aptas cuyas interfaces de red usan una subred IPv4 en la región.

    • Rangos de direcciones IPv4 principales de todas las subredes de la región: Una sola puerta de enlace de Cloud NAT proporciona NAT para las direcciones IP internas principales y los rangos de IP de alias de los rangos de direcciones IP principales de la subred de las VMs aptas cuyas interfaces de red usan una subred IPv4 en la región. Puedes crear puertas de enlace de Cloud NAT adicionales para la NAT pública en la región para proporcionar NAT para los rangos de IP de alias desde los rangos de direcciones IP secundarios de subred de las VMs aptas.

    • Lista de subredes personalizadas: Una sola puerta de enlace de Cloud NAT proporciona NAT para las direcciones IP internas principales y todos los rangos de IP de alias de las VMs aptas cuyas interfaces de red usan una subred de una lista de subredes especificadas.

    • Rangos de direcciones IPv4 de subredes personalizadas: Puedes crear tantas puertas de enlace de Cloud NAT para NAT pública como sea necesario, sujeto a las cuotas y los límites de NAT pública. Elige qué rangos de direcciones IP principales o secundarias de la subred atenderá cada puerta de enlace.

  • Para los rangos de subred IPv6, puedes usar las siguientes opciones para configurar NAT para rangos de direcciones IP internas, rangos de direcciones IP externas o ambos:

    • Rangos de direcciones IP internas y externas de todas las subredes de la región: Una sola puerta de enlace de Cloud NAT proporciona NAT para todos los rangos de direcciones IP internas y externas de la región.
    • Lista de subredes personalizadas: Una sola puerta de enlace de Cloud NAT proporciona NAT para los rangos de direcciones IP internas y externas de las VMs aptas cuyas interfaces de red usan una subred de una lista de subredes especificadas.

Varias puertas de enlace de Cloud NAT

Puedes tener varias puertas de enlace de Cloud NAT para NAT pública en la misma región de una red de VPC si se cumple una de las siguientes condiciones:

  • Cada puerta de enlace está configurada para una subred de origen diferente.
  • Dentro de una sola subred de origen, cada puerta de enlace se configura para un rango de direcciones IP diferente de la subred.

Puedes asignar una puerta de enlace de Cloud NAT para NAT pública a una subred de origen o un rango de subredes específicos con una asignación de Cloud NAT personalizada.

Siempre y cuando tus puertas de enlace de Cloud NAT estén configuradas para rangos de subredes o subredes de origen únicos, puedes crear tantas puertas de enlace como sean necesarias, sujetas a las cuotas y los límites de NAT pública. Para obtener más información, consulta Límites.

Ancho de banda

Usar una puerta de enlace de Cloud NAT para la NAT pública no cambia la cantidad de ancho de banda entrante o saliente que puede usar una VM. Para conocer las especificaciones de ancho de banda, que varían según el tipo de máquina, consulta Ancho de banda de red en la documentación de Compute Engine.

VM con interfaces de red múltiples

Si configuras una VM para que tenga varias interfaces de red, las interfaces pueden estar en la misma red de VPC o en redes de VPC diferentes.

Ten en cuenta lo siguiente:

  • En el caso de una VM que tiene varias interfaces de red en la misma red de VPC, se aplica una sola puerta de enlace de Cloud NAT para NAT pública a todas las interfaces de la red de VPC.
  • En el caso de una VM que tiene varias interfaces de red, cada una en diferentes redes de VPC, solo se puede aplicar una única puerta de enlace de Cloud NAT para NAT pública a una sola interfaz de red de la VM. Las puertas de enlace de Cloud NAT independientes para NAT pública pueden proporcionar NAT a la misma VM, en la que cada puerta de enlace se aplica a una interfaz independiente.
  • Una interfaz de una VM con varias interfaces de red puede tener una dirección IPv4 externa, lo que hace que esa interfaz no sea apta para la NAT pública, mientras que otra de sus interfaces puede ser apta para la NAT si esa interfaz no tiene una dirección IPv4 externa y configuraste una puerta de enlace de Cloud NAT para que se aplique la NAT pública al rango de direcciones IP de subred adecuado. En el caso de IPv6, se admiten direcciones IPv6 internas y externas.

Direcciones IP y puertos NAT

Cuando creas una puerta de enlace de Cloud NAT para NAT pública, puedes elegir que la puerta de enlace asigne automáticamente direcciones IP externas regionales. Como alternativa, puedes asignar de forma manual una cantidad fija de direcciones IP externas regionales a la puerta de enlace.

Para una puerta de enlace de Cloud NAT para NAT pública con asignación automática de direcciones IP de NAT, ten en cuenta lo siguiente:

  • Puedes seleccionar los niveles de servicio de red (nivel Premium o Estándar) desde los que la puerta de enlace de Cloud NAT asigna las direcciones IP.
  • Cuando cambias el nivel de una puerta de enlace de Cloud NAT para NAT pública que tiene direcciones IP de NAT asignadas automáticamente, Cloud de Confiance se liberan todas las direcciones IP asignadas para esa puerta de enlace y se retiran todas las asignaciones de puertos.

    Se asigna automáticamente un nuevo conjunto de direcciones IP del nivel seleccionado recientemente y se proporcionan nuevas asignaciones de puertos a todos los extremos.

Para una puerta de enlace de Cloud NAT determinada para la NAT pública, también puedes asignar direcciones IP de forma manual desde el nivel Premium, el nivel Estándar o ambos, sujetas a ciertas condiciones.

Para obtener detalles sobre la asignación de direcciones IP de NAT, consulta Direcciones IP de NAT públicas.

Puedes configurar la cantidad de puertos de origen que cada puerta de enlace de Cloud NAT para NAT pública reserva en cada VM para la que debe proporcionar servicios de NAT. Puedes configurar la asignación de puertos estáticos, en la que se reserva la misma cantidad de puertos para cada VM, o la asignación de puertos dinámicos, en la que la cantidad de puertos reservados puede variar entre los límites mínimos y máximos que especifiques.

Las VMs a las que se debe proporcionar NAT están determinadas por los rangos de direcciones IP de la subred que la puerta de enlace está configurada para entregar.

Para obtener más información sobre los puertos, consulta Puertos.

RFC aplicables

La NAT pública admite la asignación independiente del extremo (EIM) y el filtrado dependiente del extremo, como se define en el RFC 5128. Puedes habilitar o inhabilitar el mapeo independiente de extremos. De forma predeterminada, la asignación independiente de extremos se inhabilita cuando creas una puerta de enlace de NAT.

El mapeo independiente del extremo significa que, si una VM envía paquetes desde un par de puerto y dirección IP interna determinado a varios destinos diferentes, la puerta de enlace asigna todos esos paquetes al mismo par de puerto y dirección IP de NAT, independientemente del destino de los paquetes. Para obtener detalles y conocer las implicaciones pertinentes del mapeo independiente de extremos, consulta Mapeo independiente de extremos y reutilización de puertos simultáneos.

Filtro dependiente del extremo significa que los paquetes de respuesta de Internet solo pueden ingresar si provienen de una dirección IP y un puerto al que una VM ya envió paquetes. El filtrado depende del extremo, independientemente del tipo de asignación de extremos. Esta función está habilitada siempre y el usuario no puede configurarla.

Para obtener más información sobre la relación entre puertos y conexiones, consulta Puertos y conexiones y el ejemplo de flujo de NAT.

La NAT pública es una NAT de cono restringido por puerto, como se define en RFC 3489.

Recorrido de NAT

Si el mapeo independiente de extremos está habilitado, la NAT pública es compatible con los protocolos comunes de NAT traversal, como STUN y TURN, si implementas tus propios servidores STUN o TURN:

  • STUN (Session Transversal Utilities for NAT, RFC 5389) permite la comunicación directa entre VM detrás de NAT una vez que se establece un canal de comunicación.
  • TURN (Recorrido mediante relés en torno a NAT, RFC 5766) permite la comunicación entre VM detrás de NAT a través de un tercer servidor en el que ese servidor tiene una dirección IP externa. Cada VM se conecta a la dirección IP externa del servidor y ese servidor retransmite la comunicación entre las dos VM. TURN es más robusto, pero consume más ancho de banda y recursos.

Tiempo de espera de NAT

La NAT pública establece tiempos de espera para las conexiones de protocolo. Para obtener información sobre estos tiempos de espera y sus valores predeterminados, consulta Tiempos de espera de NAT.

NAT44 en NAT pública

En el siguiente diagrama, se muestra una configuración básica de NAT pública para el tráfico IPv4:

Ejemplo de traducción de IPv4 de NAT pública.
Ejemplo de traducción de NAT pública (haz clic para ampliar).

En este ejemplo:

  • La puerta de enlace nat-gw-us-east está configurada para aplicarse al rango de direcciones IP principal de subnet-1 en la región us-east1. Una VM cuya interfaz de red no tiene una dirección IP externa puede enviar tráfico a Internet mediante su dirección IP interna principal o un rango de alias de IP del rango de direcciones IP principal de subnet-1, 10.240.0.0/16.

  • Una VM cuya interfaz de red no tiene una dirección IP externa y cuya dirección IP interna principal se encuentra en subnet-2 no puede acceder a Internet, porque ninguna puerta de enlace de Cloud NAT se aplica a rangos de direcciones IP de esa subred.

  • La puerta de enlace nat-gw-eu está configurada para aplicarse al rango de direcciones IP principal de subnet-3 en la región europe-west1. Una VM cuya interfaz de red no tiene una dirección IP externa puede enviar tráfico a Internet mediante su dirección IP interna principal o un rango de alias de IP del rango de direcciones IP principal de subnet-3, 192.168.1.0/24.

Ejemplo de flujo de trabajo

En el diagrama anterior, una VM con la dirección IP interna principal 10.240.0.4, sin una dirección IP externa, necesita descargar una actualización de la dirección IP externa 203.0.113.1. En el diagrama, la puerta de enlace nat-gw-us-east se configura de la siguiente manera:

  • Cantidad mínima de puertos por instancia: 64
  • Se asignaron manualmente dos direcciones IP de NAT: 192.0.2.50 y 192.0.2.60
  • Se proporcionó NAT para el rango de direcciones IP principal de subnet-1

La NAT pública sigue el procedimiento de reserva de puertos para reservar las siguientes tuplas de dirección IP de origen y puerto de origen de NAT para cada una de las VMs de la red. Por ejemplo, la puerta de enlace de Cloud NAT para NAT pública reserva 64 puertos de origen para la VM con la dirección IP interna 10.240.0.4. La dirección IP de NAT 192.0.2.50 tiene 64 puertos sin reservar, por lo que la puerta de enlace reserva el siguiente conjunto de 64 direcciones IP de origen de NAT y de tuplas de puerto de origen para esa VM:

  • 192.0.2.50:34000 a 192.0.2.50:34063

Sucede lo siguiente cuando la VM envía un paquete al servidor de actualización 203.0.113.1 en el puerto de destino 80 con el protocolo TCP:

  • La VM envía un paquete de solicitud con estos atributos:

    • Dirección IP de origen: 10.240.0.4, la dirección IP interna principal de la VM
    • Puerto de origen: 24000, el puerto de origen efímero que elige el sistema operativo de la VM
    • Dirección de destino: 203.0.113.1, la dirección IP externa del servidor de actualizaciones
    • Puerto de destino: 80, el puerto de destino para el tráfico HTTP al servidor de actualización
    • Protocolo: TCP
  • La puerta de enlace nat-gw-us-east realiza la traducción de direcciones de red de origen (SNAT) en el tráfico de salida y reescribe la dirección IP de origen de NAT y el puerto de origen del paquete de solicitud. El paquete modificado se envía a Internet si la red de nube privada virtual (VPC) tiene una ruta para el destino 203.0.113.1 cuyo próximo salto es la puerta de enlace de Internet predeterminada. Por lo general, una ruta predeterminada cumple con este requisito.

    • Dirección IP de origen de NAT: 192.0.2.50, de una de las direcciones IP de origen de NAT y las tuplas de puerto de origen reservadas de la VM
    • Puerto de origen: 34022, un puerto de origen no utilizado de una de las tuplas de puertos de origen reservadas de la VM
    • Dirección de destino: 203.0.113.1, sin cambios
    • Puerto de destino: 80, sin cambios
    • Protocolo: TCP, sin cambios
  • Cuando el servidor de actualización envía un paquete de respuesta, ese paquete llega a la puerta de enlace nat-gw-us-east con estos atributos:

    • Dirección IP de origen: 203.0.113.1, la dirección IP externa del servidor de actualización
    • Puerto de origen: 80, la respuesta HTTP del servidor de actualización
    • Dirección de destino: 192.0.2.50, que coincide con la dirección IP de origen de NAT original del paquete de la solicitud
    • Puerto de destino: 34022, que coincide con el puerto de origen del paquete de solicitud
    • Protocolo: TCP, sin cambios
  • La puerta de enlace nat-gw-us-east realiza la traducción de direcciones de red de destino (DNAT) en el paquete de respuesta y reescribe la dirección de destino y el puerto de destino del paquete de respuesta para que el paquete se entregue a la VM:

    • Dirección IP de origen: 203.0.113.1, sin cambios
    • Puerto de origen: 80, sin cambios
    • Dirección de destino: 10.240.0.4, la dirección IP interna principal de la VM
    • Puerto de destino: 24000, que coincide con el puerto de origen efímero original del paquete de solicitud
    • Protocolo: TCP, sin cambios

NAT64 en NAT pública

NAT64 permite que las instancias de VM con interfaces de red solo IPv6 se comuniquen con destinos IPv4 en Internet.

Para usar NAT64, las direcciones de destino deben estar en el rango 64:ff9b::/96. Puedes configurar DNS64 para sintetizar automáticamente direcciones IPv6 incorporadas en IPv4 anteponiendo este prefijo a tus direcciones IPv4 de destino.

Cuando una instancia de VM solo IPv6 envía una solicitud a un destino en el rango 64:ff9b::/96 y la solicitud llega a la puerta de enlace de Cloud NAT con NAT64 habilitada, la puerta de enlace realiza la NAT de la siguiente manera:

  • Traduce la dirección IPv6 y el puerto de origen a una de las direcciones IPv4 y los puertos externos que se asignan a la puerta de enlace.
  • Traduce la dirección IPv6 de destino sintetizada a la dirección IPv4 original extrayendo los últimos 32 bits de la dirección sintetizada.

    La puerta de enlace de Cloud NAT también usa los últimos 32 bits de la dirección IPv6 sintetizada para determinar cómo se enruta el paquete de solicitud a Internet. Cuando una instancia de VM solo IPv6 envía un paquete a un destino en el rango 64:ff9b::/96, la puerta de enlace aplica la tabla de enrutamiento de IPv4 de la red de VPC a la dirección IPv4 de destino extraída. Si la tabla de enrutamiento IPv4 tiene una ruta para esa dirección con la puerta de enlace de Internet predeterminada como el siguiente salto, el paquete modificado se envía a Internet.

Cuando se recibe la respuesta, la puerta de enlace de Cloud NAT realiza la NAT de la siguiente manera:

  • Antepone el prefijo 64:ff9b::/96 a la dirección IP de origen del paquete de respuesta.
  • Reescribir la dirección de destino y el puerto de destino del paquete de respuesta a la dirección y el puerto originales de la VM

Antes de configurar NAT64, revisa las limitaciones y las rutas y reglas de firewall.

¿Qué sigue?