Hybrid NAT

La NAT híbrida, un tipo de NAT privada, te permite realizar la traducción de direcciones de red (NAT) entre una red de nube privada virtual (VPC) y una red local o de otro proveedor de servicios en la nube. La red que no es de Google Cloud debe estar conectada a tu red de VPC con los productos de conectividad de red de Google Cloud, como Cloud Interconnect o Cloud VPN.

Especificaciones

Además de las especificaciones generales de NAT privada, la NAT híbrida tiene las siguientes especificaciones:

  • Hybrid NAT permite que una red de VPC se comunique con una red local o de otro proveedor de servicios en la nube, incluso si los rangos de direcciones IP de la subred de las redes se superponen. Cuando se usa una configuración de NAT de type=PRIVATE, los recursos de las subredes superpuestas y no superpuestas de la red de VPC pueden conectarse a los recursos de las subredes no superpuestas de la red que no es de Google Cloud.
  • Para habilitar la NAT híbrida, la red que no es de Google Cloud debe anunciar sus rutas dinámicas para que tu red de VPC pueda aprenderlas y usarlas. Cloud Router aprende estas rutas dinámicas de los productos de conectividad de red de Google Cloud, como Cloud Interconnect, HA VPN o VPN clásica con el enrutamiento dinámico configurado. Los destinos de estas rutas dinámicas son rangos de direcciones IP fuera de tu red de VPC.

    Del mismo modo, para el tráfico de retorno, tu red de VPC debe anunciar la ruta de subred de NAT privada con un Cloud Router, y esta ruta de subred no debe superponerse con una subred existente en las redes conectadas.

  • Hybrid NAT realiza la NAT en el tráfico que se origina en una red de VPC a una red local o a otra red de proveedor de servicios en la nube. Las redes deben estar conectadas a través de Cloud Interconnect o Cloud VPN.

  • El NAT híbrido admite túneles de VPN clásica existentes solo si el enrutamiento dinámico está habilitado.

  • Debes crear una regla NAT personalizada con una expresión de coincidencia nexthop.is_hybrid. La regla de NAT especifica un rango de direcciones IP de NAT de una subred de propósito PRIVATE_NAT que los recursos de tu red de VPC pueden usar para comunicarse con otras redes.

  • El Cloud Router en el que configures Hybrid NAT debe estar en la misma región que la red de VPC.

  • El Cloud Router en el que configures la NAT híbrida no puede contener ninguna otra configuración de NAT.

Configuración y flujo de trabajo básicos de Hybrid NAT

En el siguiente diagrama, se muestra una configuración básica de NAT híbrida:

Ejemplo de traducción de Hybrid NAT.
Ejemplo de traducción de NAT híbrida (haz clic para ampliar).

En este ejemplo, la NAT híbrida se configura de la siguiente manera:

  • La puerta de enlace pvt-nat-gw se configura en vpc-a para aplicarse a todos los rangos de direcciones IP de subnet-a en la región us-east1.
  • Cloud Router y el router local o de otro proveedor de servicios en la nube intercambian las siguientes rutas de subred:
    • Cloud Router anuncia 10.1.2.0/29 al router externo.
    • El router externo anuncia 192.168.2.0/24 a Cloud Router.
  • Cuando se usa el rango de direcciones IP de NAT de pvt-nat-gw, una instancia de máquina virtual (VM) en subnet-a de vpc-a puede enviar tráfico a una VM en subnet-b de la red local o de otra red de proveedor de servicios en la nube, aunque subnet-a de vpc-a se superponga con otra subred en la red que no sea de Google Cloud.

Ejemplo de flujo de trabajo de Hybrid NAT

En el diagrama anterior, vm-a con la dirección IP interna 192.168.1.2 en subnet-a de vpc-a debe descargar una actualización de vm-b con la dirección IP interna 192.168.2.2 en subnet-b de una red local o de otra red de proveedor de servicios en la nube. Cloud Interconnect conecta tu red de VPC a la red local o a otra red de proveedores de servicios en la nube. Supongamos que la red que no es de Google Cloud contiene otra subred 192.168.1.0/24 que se superpone con la subred en vpc-a. Para que subnet-a de vpc-a se comunique con subnet-b de la red que no es de Google Cloud, debes configurar una puerta de enlace de NAT privada, pvt-nat-gw, en vpc-a de la siguiente manera:

  • Especifica una subred de NAT privada con el propósito PRIVATE_NAT, por ejemplo, 10.1.2.0/29. Crea esta subred antes de configurar la puerta de enlace de NAT privada. Asegúrate de que esta subred no se superponga con una subred existente en ninguna de las redes conectadas.
  • Crea una regla de NAT con match='nexthop.is_hybrid'.
  • Configura la puerta de enlace de NAT privada para que se aplique a todos los rangos de direcciones IP de subnet-a.

La NAT híbrida sigue el procedimiento de reserva de puertos para reservar la siguiente dirección IP de origen de NAT y las tuplas de puerto de origen para cada una de las VMs de la red. Por ejemplo, la puerta de enlace de NAT privada reserva 64 puertos de origen para vm-a: de 10.1.2.2:34000 a 10.1.2.2:34063.

Cuando la VM usa el protocolo TCP para enviar un paquete al servidor de actualización 192.168.2.2 en el puerto de destino 80, sucede lo siguiente:

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

    • Dirección IP de origen: 192.168.1.2, la dirección IP interna 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: 192.168.2.2, la dirección IP del servidor de actualizaciones
    • Puerto de destino: 80, el puerto de destino para el tráfico HTTP al servidor de actualización
    • Protocolo: TCP
  2. La puerta de enlace pvt-nat-gw realiza la traducción de direcciones de red de origen (SNAT o NAT de origen) en la salida y vuelve a escribir la dirección IP de origen de NAT y el puerto de origen del paquete de solicitud:

    • Dirección IP de origen de NAT: 10.1.2.2, 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: 192.168.2.2, sin cambios
    • Puerto de destino: 80, sin cambios
    • Protocolo: TCP, sin cambios
  3. El servidor de actualización envía un paquete de respuesta que llega a la puerta de enlace pvt-nat-gw con estos atributos:

    • Dirección IP de origen: 192.168.2.2, la dirección IP interna del servidor de actualización
    • Puerto de origen: 80, la respuesta HTTP del servidor de actualización
    • Dirección de destino: 10.1.2.2, que coincide con la dirección IP de origen de NAT original del paquete de solicitud
    • Puerto de destino: 34022, que coincide con el puerto de origen del paquete de solicitud
    • Protocolo: TCP, sin cambios
  4. La puerta de enlace pvt-nat-gw 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 que solicitó la actualización con los siguientes atributos:

    • Dirección IP de origen: 192.168.2.2, sin cambios
    • Puerto de origen: 80, sin cambios
    • Dirección de destino: 192.168.1.2, la dirección IP interna 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

¿Qué sigue?