Descripción general del puerto y la dirección de Cloud NAT

En esta página, se describe cómo las puertas de enlace de Cloud NAT usan direcciones IP externas y cómo asignan los puertos de origen a las instancias de máquina virtual (VM) de Compute Engine y a los nodos de Google Kubernetes Engine (GKE) que usan las puertas de enlace.

Antes de revisar esta información, familiarízate con la descripción general de Cloud NAT.

Direcciones IP de NAT

Una dirección IP de NAT es una dirección IP externa regional que se puede enrutar en Internet. Una VM sin una dirección IP externa, en una subred entregada por una puerta de enlace de Cloud NAT, usa una dirección IP de NAT cuando envía paquetes a un destino en Internet.

Para asignar direcciones IP de NAT a una puerta de enlace de Cloud NAT, usa uno de los siguientes métodos:

  • Asignación automática de direcciones IP de NAT. Cuando seleccionas esta opción o eliges la configuración predeterminada de Google Cloud, Cloud NAT agrega automáticamente direcciones IP externas regionales a tu puerta de enlace en función de la cantidad de VM que usan la puerta de enlace y la cantidad de puertos reservados para cada una. También quita automáticamente una dirección IP de NAT cuando ya no necesita puertos de origen en esa dirección IP de NAT.

    • Cuando una puerta de enlace de Cloud NAT agrega una dirección IP de NAT, crea una dirección IP externa regional (reservada) estática. Las direcciones IP de NAT agregadas automáticamente se pueden ver en la lista de direcciones IP externas estáticas. Estas direcciones se tienen en cuenta para las cuotas por proyecto.
    • Con la asignación automática, no puedes predecir la siguiente dirección IP asignada. Si dependes de conocer el conjunto de direcciones IP de NAT posibles con anticipación (por ejemplo, para crear una lista de anunciantes permitidos), debes usar la asignación manual de direcciones IP de NAT.
    • Cuando las direcciones IP de NAT agregadas automáticamente ya no están en uso, se quitan. Sin embargo, Cloud NAT solo desasigna una dirección cuando la última VM asignada ya no usa ningún puerto. Por lo tanto, cuando la cantidad de VM que usan Cloud NAT disminuye, es posible que no veas una reducción en las direcciones IP, ya que Cloud NAT no reasigna las VM de forma dinámica de una dirección IP a otra porque la reasignación interrumpe las conexiones establecidas. Siempre que al menos una VM use una dirección IP, esta permanece activa y se pueden asignar VM nuevas.

      Si deseas reasignar de forma manual las VM de una dirección IP a otra para minimizar el uso de la dirección IP, usa asignaciones de direcciones IP de NAT manuales. Esto permite el desvío manual de direcciones IP de NAT.

    • Si cambias a la asignación manual de direcciones IP de NAT más adelante, se borran las direcciones IP externas regionales reservadas automáticamente. Para obtener más información, consulta Cambia el método de asignación.

  • Asignación manual de direcciones IP de NAT. Cuando seleccionas esta opción, creas y asignas direcciones IP externas regionales estáticas (reservadas) a tu puerta de enlace de Cloud NAT de forma manual. Para aumentar o disminuir la cantidad de direcciones IP de NAT asignadas manualmente, edita la puerta de enlace de Cloud NAT.

    • Cuando uses la asignación manual de dirección IP de NAT, debes calcular la cantidad de direcciones IP externas regionales que necesitas para la puerta de enlace de Cloud NAT. Si tu puerta de enlace se queda sin direcciones IP de NAT, Cloud NAT descarta los paquetes. Los paquetes descartados se registran cuando usas el registro de Cloud NAT para activar el registro de errores.
    • Para ver ejemplos de cálculos, consulta el ejemplo de reserva de puerto.

Para ver la cantidad máxima de direcciones IP de NAT asignadas de forma manual o automática, consulta Límites de Cloud NAT.

Cambia el método de asignación

Puedes cambiar una puerta de enlace de Cloud NAT de la asignación automática de direcciones IP de NAT a la asignación manual de direcciones IP de NAT. Sin embargo, las direcciones IP de NAT no se pueden conservar. Aunque las direcciones IP de NAT asignadas automáticamente son estáticas, no se pueden mover a una asignación manual de dirección IP de NAT. Por ejemplo, no puedes comenzar a usar una puerta de enlace de Cloud NAT con direcciones IP de NAT asignadas automáticamente y, luego, usar esas mismas direcciones cuando cambias la puerta de enlace NAT a las direcciones IP de NAT asignadas manualmente.

El conjunto de direcciones IP externas regionales que usa Cloud NAT para la asignación automática de direcciones IP de NAT es diferente del conjunto de direcciones IP externas regionales que puedes elegir de forma manual.

Desvío de direcciones IP de NAT

Cuando configuras una puerta de enlace de Cloud NAT con asignación de dirección IP de NAT manual, puedes elegir qué sucede si necesitas reducir la cantidad de direcciones IP de NAT que usa la puerta de enlace:

  • Si quitas una dirección IP de NAT asignada de forma manual, las conexiones NAT establecidas se interrumpen de inmediato.

  • Puedes elegir desviar de forma manual una dirección IP de NAT asignada. El desvío le indica a la puerta de enlace de Cloud NAT que deje de usar la dirección IP de NAT para las conexiones nuevas, pero que continúe usándolas para las conexiones establecidas. Estas últimas pueden cerrarse normalmente, en vez de hacerlo de forma repentina. Para desviar una dirección IP asociada con una puerta de enlace de NAT que no use reglas NAT, consulta la siguiente información: Desvía las direcciones IP externas asociadas con NAT Para desviar una dirección IP asociada con una puerta de enlace de NAT que usa reglas de NAT, consulta Actualiza las reglas de NAT .

Puertos

Cada dirección IP de NAT en una puerta de enlace de Cloud NAT ofrece 64,512 puertos TCP de origen y 64,512 puertos UDP de origen. TCP y UDP admiten 65,536 puertos por dirección IP, pero Cloud NAT no usa los primeros 1,024 puertos conocidos (privilegiados).

Cuando una puerta de enlace de Cloud NAT realiza la traducción de direcciones de red de origen (SNAT) en un paquete enviado por una VM, cambia el puerto de origen y la dirección IP de origen NAT del paquete.

Cuando creas una puerta de enlace de Cloud NAT, debes elegir si deseas usar la asignación de puerto estática o la asignación de puerto dinámica.

Asignación de puerto estática

Cuando configuras la asignación de puertos estáticos, especificas una cantidad mínima de puertos por instancia de VM.

Debido a que todas las VM tienen asignada la misma cantidad de puertos, la asignación estática de puertos funciona mejor si todas las VM tienen un uso similar de Internet. Si algunas VM usan más puertos que otras, es posible que los puertos de la puerta de enlace de Cloud NAT estén en poco uso. Si el uso de Internet varía, considera configurar la asignación dinámica de puertos.

Si deseas configurar la asignación independiente de extremos de en puerta de enlace, debes usar la asignación estática de puertos.

Asignación dinámica de puertos

Cuando configuras la asignación dinámica de puertos, especificas una cantidad mínima de puertos por instancia de VM y una cantidad máxima de puertos por instancia de VM.

La configuración de la asignación dinámica de puertos permite que la misma puerta de enlace de Cloud NAT asigne diferentes cantidades de puertos por VM, según el uso de la VM. En principio, una VM tiene asignada la cantidad mínima de puertos por instancia de VM. Si una VM está a punto de agotar todos los puertos que se le asignaron, puede solicitar más puertos de NAT, hasta la cantidad máxima de puertos por instancia de VM. Cuando el uso del puerto disminuye significativamente, los puertos se desasignan y se pueden asignar a otras VM que usan la misma puerta de enlace NAT.

La asignación dinámica de puertos tiene los siguientes beneficios:

  • Se reduce la cantidad de puertos asignados, pero sin usar.

  • La puerta de enlace NAT supervisa el uso de cada puerto de VM y modifica la cantidad de puertos asignados a cada VM, según sea necesario. No es necesario supervisar el uso del puerto ni ajustar la configuración de la puerta de enlace NAT.

No puedes configurar la asignación dinámica de puertos si está habilitado el mapeo independiente de extremos en la puerta de enlace de Cloud NAT. Si necesitas un mapeo independiente de extremos, usa la asignación de puertos estática.

Procedimiento de reserva de puertos

Cloud NAT usa este procedimiento a fin de aprovisionar la dirección IP de origen NAT y las tuplas del puerto de origen para cada VM que entrega la puerta de enlace de Cloud NAT.

  1. Cloud NAT determina las direcciones IP internas de las VM para las que se debe aplicar NAT. Las direcciones IP internas de las VM están determinadas por los rangos de direcciones IP de la subred que la puerta de enlace está configurada para entregar.

    • Si la puerta de enlace de Cloud NAT está configurada a fin de realizar NAT para el rango de direcciones IP principal de la subred utilizada por la interfaz de red de la VM, la puerta de enlace realiza una NAT para ambas, la dirección IP interna principal de la VM y cualquiera de los rangos de alias de IP del rango de direcciones IP principal de la subred.

    • Si la puerta de enlace de Cloud NAT está configurada a fin de realizar NAT para un rango de direcciones IP secundario de la subred utilizada por la interfaz de red de la VM, la puerta de enlace realizará una NAT para cualquier rango de IP de alias de ese rango de direcciones IP de la subred.

  2. Cloud NAT ajusta los puertos mínimos por instancia de VM si es necesario. Si está configurada la asignación estática de puertos y la puerta de enlace realiza NAT para los rangos de IP de alias que tienen más de una dirección (máscara de red menor que /32), Cloud NAT ajusta los puertos mínimos por VM para que sean el máximo de estos dos valores:

    • Los puertos mínimos por instancia de VM que especificaste

    • El número 1,024

    En todas las demás situaciones, incluso cuando se configura la asignación de puertos dinámica, la puerta de enlace de Cloud NAT continúa con el paso siguiente mediante los puertos mínimos especificados por instancia de VM como entrada. Si no se especifican los puertos mínimos por instancia de VM, se usa el valor predeterminado. 64 para la asignación de puertos estáticos y 32 para la asignación dinámica de puertos.

  3. Cloud NAT reserva direcciones IP de origen de NAT y tuplas de puerto de origen para cada VM. La puerta de enlace de Cloud NAT usa los puertos mínimos especificados o ajustados por instancia de VM del paso anterior para calcular la cantidad de direcciones IP NAT de origen y tuplas de puerto de origen para asignar a la VM.

    Cloud NAT asigna direcciones IP NAT de origen y tuplas de puerto de origen mediante varios múltiplos de dos, de manera que la cantidad de direcciones IP de origen y NAT de origen de origen es mayor o igual que los puertos mínimos por instancia de VM que especifiques.

    • Es posible que la dirección IP de origen de NAT y las tuplas de puerto de origen abarquen más de una dirección IP de NAT si la puerta de enlace de Cloud NAT usa dos o más direcciones IP de NAT. Es posible que una sola dirección IP de NAT no tenga suficientes puertos de origen disponibles para ajustar la cantidad de direcciones IP de NAT de origen y de tuplas de puerto de origen que necesita la VM.

    • La puerta de enlace de Cloud NAT asigna direcciones IP de origen y tuplas de puerto de origen a cada VM.

      • Si configuraste la asignación estática de puertos, la cantidad de direcciones IP de origen y tuplas de puertos de origen es fija. Cada VM no puede usar más que su número asignado de direcciones IP de origen y de puerto de origen, incluso durante los aumentos de actividad de tráfico.

      • Si configuraste la asignación dinámica de puertos, la cantidad de direcciones IP de origen y tuplas de puertos de origen puede cambiar según la demanda. Si una VM está a punto de agotar su asignación de puertos actual, Cloud NAT asigna puertos adicionales hasta el valor máximo de puertos por instancia de VM especificado. Una vez que el uso del puerto de la VM se reduce por debajo de un umbral, los puertos se liberan y se pueden asignar a otras VM.

Aumenta los puertos por VM

Si configuraste una puerta de enlace de Cloud NAT con asignación estática de puertos, cuando aumentes los puertos mínimos por VM en la puerta de enlace no se interrumpirá el tráfico.

Si configuraste una puerta de enlace de Cloud NAT con asignación dinámica de puertos, los cambios de configuración adicionales podrían interrumpir el tráfico. Cuando la configuración cambia, es posible que la cantidad de puertos asignados actualmente a cada VM se restablezca de forma temporal a la cantidad mínima configurada.

Con la asignación estática y dinámica de puertos, debes asegurarte de que la puerta de enlace tenga una cantidad suficiente de direcciones IP de NAT si usas la asignación manual de direcciones IP de NAT:

  • Cuando uses la asignación de dirección IP manual, debes calcular la cantidad de direcciones IP NAT de origen que necesitas. Antes de aumentar los puertos mínimos por VM, asigna al menos esa cantidad de direcciones IP NAT a la puerta de enlace de Cloud NAT.

  • Cuando se usa la asignación automática de direcciones IP NAT, el aumento de la cantidad mínima de puertos por VM hace que la puerta de enlace de Cloud NAT adquiera y asigne más direcciones IP externas regionales de forma automática.

Reduce los puertos por VM

Si configuraste una puerta de enlace de Cloud NAT con asignación estática de puertos y reduces los puertos mínimos por VM en la puerta de enlace, no hay vaciado de conexiones. Las conexiones NAT establecidas se interrumpen de inmediato, y los clientes deben establecer nuevas conexiones TCP.

Si configuraste una puerta de enlace de Cloud NAT con asignación dinámica de puertos, los cambios de configuración adicionales podrían interrumpir el tráfico. Cuando la configuración cambia, es posible que la cantidad de puertos asignados actualmente a cada VM se restablezca de forma temporal a la cantidad mínima configurada.

Puertos y conexiones

La cantidad de direcciones IP de origen de NAT y de tuplas de puerto de origen que reserva una puerta de enlace de Cloud NAT para una VM limita la cantidad de conexiones que la VM puede realizar a un destino único:

  • Un destino único se refiere a una tupla triple única compuesta por una dirección IP de destino, un puerto de destino y un protocolo IP (como TCP o UDP).

  • Una conexión se refiere a una tupla quíntuple única compuesta por la dirección IP de origen de NAT y la tupla de puerto de origen combinada con una tupla triple de destino único. Debido a que el protocolo UDP no tiene conexión, el concepto de conexión se reduce a una tupla quíntuple asociada con un datagrama UDP único.

Supongamos que una puerta de enlace de Cloud NAT calcula 1,024 como la cantidad fija de puertos para una VM mediante el procedimiento de reserva de puertos. La puerta de enlace de Cloud NAT reserva 1,024 combinaciones únicas de direcciones IP de origen y tuplas de puerto de origen para la VM. La puerta de enlace de Cloud NAT puede procesar 1,024 conexiones simultáneas hacia cada tupla triple de destino único. Sin embargo, Cloud NAT considera las conexiones cerradas como inutilizables durante los 120 segundos posteriores al cierre de la conexión, lo que puede afectar la cantidad de conexiones simultáneas en uso.

Ejemplos:

  • La puerta de enlace admite 1,024 conexiones simultáneas a la dirección IP de destino 203.0.113.99 en el puerto 80 mediante el protocolo TCP.

  • La puerta de enlace admite otras 1,024 conexiones simultáneas a esa misma dirección IP de destino en el puerto 443, también mediante el protocolo TCP.

  • La puerta de enlace admite otras 1,024 conexiones simultáneas a una dirección IP de destino diferente en el puerto 80, también mediante el protocolo TCP.

Mapeo independiente de extremos y reutilización de puertos simultáneos

Siempre que al menos un dato en la tupla triple de destino cambie (la dirección IP de destino, el puerto de destino o el protocolo) la misma dirección IP de origen de NAT y la tupla del puerto de origen se pueden usar simultáneamente para diferentes conexiones.

Debido a que Cloud NAT usa el mapeo independiente de extremos, como se define en la sección 2.3 de RFC 5128, la cantidad de conexiones simultáneas que una VM cliente puede establecer hacia una tupla triple única de destino puede reducirse si Cloud NAT asigna la misma dirección IP de NAT de origen y tupla de puerto de origen a más de una dirección IP interna y puerto de origen efímero de una VM cliente. Las posibilidades de que esto suceda aumentan si la VM cliente tiene una gran cantidad de direcciones IP internas de origen y realiza una gran cantidad de conexiones a la misma tupla triple de destino. La primera vez que una VM cliente envía un paquete desde una dirección IP interna y un puerto de origen efímero, Cloud NAT crea un mapeo independiente de extremo de varios a uno entre lo siguiente:

  • La dirección IP interna y la tupla de puerto de origen efímera
  • Una dirección IP de origen de NAT única y la tupla de puerto de origen

Por ejemplo, cuando una VM cliente envía un paquete desde su dirección IP interna 10.0.0.2 a través del puerto de origen efímero 10001, Cloud NAT asigna 10.0.0.2:10001 a una dirección IP de origen de NAT y una tupla de puerto de origen que se usará para todas las conexiones posteriores de 10.0.0.2:10001 a cualquier tupla triple de destino.

Si la misma VM utiliza un puerto de origen efímero diferente para enviar un paquete, por ejemplo, 10.0.0.2:20002, Cloud NAT también asigna una dirección IP de origen de NAT y una tupla de puerto de origen para todas las conexiones posteriores de 10.0.0.2:20002 a cualquier tupla triple de destino. Es posible que Cloud NAT pueda asignar la misma dirección IP de origen de NAT y la tupla de puerto de origen a ambas de estas direcciones IP internas y tuplas de puerto de origen efímeras. En algunas situaciones, esto produce un conflicto independiente de extremos.

Para obtener un ejemplo más detallado, consulta el ejemplo de un conflicto de mapeo independiente de extremos.

Reduce los conflictos independientes de extremos

Puedes realizar cambios en la configuración para reducir los conflictos independientes de extremos. Para obtener más información, consulta Paquetes descartados con un conflicto de extremos independiente del motivo.

Demora para la reutilización de puertos de origen TCP

Después de que una puerta de enlace de Cloud NAT cierra una conexión TCP, Google Cloud aplica una demora de dos minutos antes de que la puerta de enlace pueda volver a usar la misma dirección IP de origen de NAT y la tupla de puerto de origen con el mismo destino (dirección IP de destino, puerto de destino y protocolo).

No puedes reducir este retraso. Sin embargo, puedes realizar una de las siguientes acciones:

  • Aumenta la cantidad mínima de puertos por instancia de VM para que el procedimiento de reserva de puertos asigne a la VM más direcciones IP de origen de NAT y tuplas de puertos de origen.

  • Si una VM necesita abrir y cerrar rápidamente conexiones TCP a la misma dirección IP de destino y puerto de destino mediante el mismo protocolo, debes asignar una dirección IP externa a la VM y usar reglas de firewall para limitar las conexiones de entrada no solicitadas, en lugar de usar Cloud NAT.

Puertos de origen y seguridad

Si dependes de la aleatorización del puerto de origen como una medida de seguridad, debes tener en cuenta lo siguiente:

  • Aumenta la cantidad mínima de puertos por instancia de VM para que el procedimiento de reserva de puertos asigne a la VM más direcciones IP de origen de NAT y tuplas de puertos de origen. Esto asigna un rango de puertos de forma aleatoria a cada VM. Sin embargo, el puerto de origen elegido en ese rango es secuencial.

  • Asigna una dirección IP externa a la VM en lugar de usar Cloud NAT.

Ejemplos

En los siguientes ejemplos, se demuestra cómo Cloud NAT reserva direcciones IP de origen de NAT y puertos de origen para una VM y cómo realiza una NAT para los paquetes enviados a Internet.

Reserva de puertos

En los siguientes ejemplos, se muestran los usos del procedimiento de reserva de puertos.

Supongamos que estás configurando una puerta de enlace de Cloud NAT a fin de proporcionar NAT para el rango de direcciones IP principal de una subred, y las VM que usan esa subred no tienen los rangos de alias de IP que corresponden al rango principal de direcciones IP de esa subred. Redondea el resultado de cualquier operación de división al número entero más cercano. ⌊⌋ corresponde a la función floor (número entero más grande); es decir, descarta cualquier resultado fraccionario de división.

  • Si configuras la puerta de enlace de Cloud NAT con una sola dirección IP de NAT mediante la asignación manual y estableces la cantidad mínima de puertos por instancia de VM en 64, la puerta de enlace puede proporcionar servicios NAT para hasta 1,008 VM:

    ⌊(1 dirección IP de NAT) × (64,512 puertos por dirección) / (64 puertos por VM)⌋ = 1,008 VM

  • Si necesitas admitir más de 1,008 VM, puedes asignar una segunda dirección IP de NAT a la puerta de enlace de Cloud NAT. Con dos direcciones IP de NAT, que mantienen la cantidad mínima de puertos por VM en 64, puedes admitir 2,016 VM:

    ⌊(2 direcciones IP de NAT) × (64,512 puertos por dirección) / (64 puertos por VM)⌋ = 2,016 VM

  • Si estableces la cantidad mínima de puertos por VM en 4,096, cada dirección IP de NAT puede admitir 15 VM. Este cálculo se redondea al número entero más cercano:

    ⌊(1 dirección IP de NAT) × (64,512 puertos por dirección) / (4,096 puertos por VM)⌋ = 15 VM

Conflicto de mapeo independiente de extremos

En el siguiente ejemplo, se ilustra cómo el mapeo independiente de extremos puede reducir la cantidad de conexiones simultáneas de una VM cliente a la misma tupla triple de destino, incluso cuando existe una cantidad suficiente de direcciones IP de origen de NAT y tuplas de puerto de origen libres para la VM cliente.

Supongamos que configuraste una puerta de enlace de Cloud NAT a fin de proporcionar NAT al rango de direcciones IP principal de una subred. Creaste una VM cliente con una interfaz de red cuya dirección IP interna principal es 10.0.0.2 en esa subred. La VM de ejemplo no tiene una dirección IP externa asignada a su interfaz de red.

  1. La VM abre una conexión con las siguientes características:

    • Puerto y dirección IP internas de origen: 10.0.0.2:10001
    • Tupla triple de destino: 203.0.113.1:80 mediante TCP
    • Cloud NAT usa la siguiente dirección IP de origen de NAT y la tupla de puerto de origen: 192.0.2.10:30009
  2. La VM abre una segunda conexión con las siguientes características:

    • Puerto y dirección IP internas de origen: 10.0.0.2:10002
    • Tupla triple de destino: 203.0.113.2:80 mediante TCP
    • Cloud NAT también podría usar la misma dirección IP de origen de NAT y tupla de puerto de origen, 192.0.2.10:30009, para esta conexión. Se puede usar la misma dirección IP de origen de NAT y la tupla de puerto de origen para una dirección IP de cliente diferente y un puerto de origen efímero.
  3. Mientras que la primera y la segunda conexión están activas, Cloud NAT no puede abrir una tercera conexión TCP con estas características:

    • La misma dirección IP interna de origen y puerto que la primera conexión: 10.0.0.2:10001
    • La misma tupla triple de destino que la segunda conexión: 203.0.113.2:80 mediante TCP

    Este tercer intento de conexión se descarta con un error de conflicto independiente del extremo, ya que el mapeo independiente de los extremos establecido por la primera conexión exige que todas las conexiones de 10.0.0.2:10001 deben usar la misma dirección IP de origen de NAT y la tupla de puerto de origen, 192.0.2.10:30009, pero 192.0.2.10:30009 ya está siendo utilizada por la segunda conexión TCP a 203.0.113.2:80.

  4. Para evitar la ambigüedad, un intento de conexión posterior en este ejemplo es correcto siempre que uno de los siguientes casos sea verdadero:

    • Se cerró la primera conexión TCP. Esto quita el mapeo independiente del extremo entre 10.0.0.2:10001 y 192.0.2.10:30009, por lo que la tercera conexión se puede mapear a una dirección IP de origen de NAT y a una tupla del puerto de origen diferentes para comunicarse con 203.0.113.2:80 mediante TCP.
    • Se cerró la segunda conexión TCP. Esto libera 10.0.0.2:10001 para usar la dirección IP de origen y el puerto de origen 192.0.2.10:30009 a fin de comunicarse con 203.0.113.2:80 mediante TCP.
    • El tercer intento de conexión selecciona un puerto de origen efímero (interno) diferente. En este ejemplo, un mapeo independiente de extremos estableció un mapeo de varios a uno para direcciones IP NAT de origen internas y los puertos de origen 10.0.0.2:10001 y 10.0.0.2:10002 a fin de usar 192.0.2.10:30009 cuando se realiza la comunicación con 203.0.113.2:80 mediante TCP. Si el tercer intento de conexión usa un puerto de origen efímero distinto de 10001 y 10002, existe la posibilidad de que se use una dirección IP de origen de NAT y un puerto de origen diferentes para comunicarse con 203.0.113.2:80 mediante TCP.
    • Desactivación de la independencia del extremo. Esto permite que la conexión nueva de 10.0.0.2:10001 no necesite usar 192.0.2.10:30009, lo que le permite utilizar una dirección IP y un puerto NAT diferentes.

Para ver técnicas que puedas usar a fin de evitar conflictos, consulta Reduce los conflictos independientes de extremos.

Flujo de NAT

En este ejemplo, una VM con la dirección IP interna principal 10.240.0.4, sin dirección IP externa, debe descargar una actualización desde la dirección IP externa 203.0.113.1. Configuraste la puerta de enlace nat-gw-us-east de la siguiente manera:

  • Cantidad mínima de puertos por instancia: 64
  • Se asignaron de forma manual 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
Ejemplo de traducción de Cloud NAT (haz clic para ampliar).
Ejemplo de traducción de Cloud NAT (haz clic para ampliar)

Cloud NAT sigue el procedimiento de reserva de puertos a fin de reservar la siguiente dirección IP de origen de NAT y las tuplas de puerto de origen para cada una de las VM en la red. Por ejemplo, la puerta de enlace de Cloud NAT 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:

  • Desde 192.0.2.50:34000 hasta 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 de NAT: 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 SNAT en la salida y vuelve a escribir 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 VPC tiene una ruta para el destino 203.0.113.1 cuyo siguiente 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 de NAT: 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 de NAT: 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

¿Qué sigue?