Direcciones IP y puertos

En esta página, se describe cómo las puertas de enlace de Cloud NAT usan direcciones IP y cómo asignan puertos de origen a instancias de máquina virtual (VM) de Compute Engine y 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 NAT públicas

Una dirección IP de NAT pública es una dirección IP externa regional que se pueden enrutar en Internet. Una VM sin una dirección IP externa, que está en un subred (subred) entregada por una puerta de enlace NAT pública, utiliza un dirección IP pública de NAT cuando envía paquetes a un destino en en Internet.

Para asignar direcciones IP de traducción de direcciones de red (NAT) a una puerta de enlace NAT pública, usa uno de los siguientes métodos:

  • Asignación automática de direcciones IP de NAT. Cuando seleccionas este método elige la configuración predeterminada de Google Cloud, la NAT pública agrega automáticamente direcciones IP externas regionales a la puerta de enlace en función de lo siguiente:

    • El nivel de red que seleccionas
    • La cantidad de VMs que usan la puerta de enlace
    • La cantidad de puertos reservados para cada VM

    La NAT pública también quita automáticamente la dirección IP de NAT cuando ya no necesitará ningún puerto de origen en esa dirección IP de NAT.

    A continuación, se muestran las características de la asignación automática de direcciones IP de NAT:

    • Cuando una puerta de enlace de NAT pública agrega una dirección IP de NAT, crea una una dirección IP externa regional estática (reservada) en el nivel de red que seleccionados en el momento de configurar la puerta de enlace. Por ejemplo, si tienes en el nivel Premium seleccionado, la puerta de enlace NAT pública crea la IP en ese nivel. Los niveles de red admitidos son el nivel Premium (predeterminado ) y el nivel Estándar.

      Las direcciones IP de NAT agregadas automáticamente se pueden ver en la lista de direcciones IP estáticas direcciones IP externas. Estas direcciones no se consideran en las cuotas por proyecto.

    • Si cambias el nivel de red de una puerta de enlace NAT pública, existentes de direcciones IP de esa puerta de enlace se liberan del nivel seleccionado.
    • 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 o quitarse. Sin embargo, la NAT pública solo desasigna una dirección cuando la La última VM asignada a la dirección ya no usa ningún puerto. Por lo tanto, cuando la cantidad de VMs que usan NAT pública disminuye, es posible que no veas un de reducción de la IP . Esto se debe a que Cloud NAT no realiza reasignaría las VMs de una dirección IP a otra porque y interrumpir 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. La asignación manual de direcciones IP de NAT vaciado de direcciones IP de NAT públicas.

    • 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 asignar manualmente direcciones IP externas regionales estáticas (reservadas) a Puerta de enlace NAT pública Puedes asignar direcciones IP de forma manual desde Nivel Premium, del nivel Estándar o de ambos, sujeto a condiciones.

    • 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 direcciones IP de NAT, debes calcular el número de direcciones IP externas regionales que necesitas para la NAT pública de enlace NAT. Si tu puerta de enlace se queda sin direcciones IP de NAT, la NAT pública descarta 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.

Asigna manualmente una combinación de direcciones IP de nivel Premium y Estándar

Cuando creas una puerta de enlace de NAT pública con el método de asignación manual de direcciones IP de NAT, puedes asignar una combinación de direcciones IP de nivel Premium y Estándar siempre que Las direcciones IP de los diferentes niveles de red no pertenecen a la misma regla. (incluida la regla predeterminada).

Dentro de una regla (incluida la regla predeterminada), todas las direcciones IP asignadas a los rangos deben ser del mismo nivel de red. Si intentas usar direcciones IP de diferentes como parte de la misma regla, Google Cloud rechaza la configuración.

Cambiar método de asignación

Puedes cambiar una puerta de enlace de NAT pública desde una dirección IP de NAT automática a la asignación manual de direcciones IP de NAT; pero 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. Para no puedes comenzar a usar una puerta de enlace de NAT pública con asignar direcciones IP de NAT y, luego, usar las mismas direcciones cuando a direcciones IP de NAT asignadas manualmente.

El conjunto de direcciones IP externas regionales que la NAT pública usa para la asignación automática de direcciones IP de NAT es diferente del conjunto de externas que puedes elegir manualmente.

Desviar direcciones IP de NAT públicas

Cuando configuras una puerta de enlace de NAT pública con una dirección IP de NAT manual puedes elegir qué sucede cuando necesitas reducir la cantidad de Direcciones IP 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. Vaciado le indica a la puerta de enlace de NAT pública que deje de usar la dirección IP de NAT para conexiones nuevas, pero seguirá usándola para conexiones establecidas. Estas últimas pueden cerrarse normalmente, en vez de hacerlo de forma repentina. Para desviar una dirección IP asociada con una NAT pública que no usa reglas de NAT, consulta Desvía las direcciones IP externas asociadas con NAT. Para desviar una dirección IP asociada con una puerta de enlace NAT que usa NAT consulta Actualiza reglas de NAT.

Direcciones IP NAT privadas

Una dirección de NAT privada es una dirección IPv4 interna regional que proviene del rango de direcciones IPv4 principal de una NAT privada subred ubicada en la misma región y red de VPC que una Puerta de enlace NAT privada Una dirección IP de NAT privada es que no se pueden enrutar en Internet. direcciones IP de los rangos de direcciones IPv4 principales de Solo las subredes NAT privadas pueden usar Puertas de enlace NAT privadas Cómo crear una NAT privada subred, agregar una dirección IPv4 subred con la Google Cloud CLI y la marca --purpose=PRIVATE_NAT.

Después de configurar una puerta de enlace NAT privada para proporcionar servicios de NAT para una subred en una red de VPC, las VMs con interfaces de red en esa subred puede enviar paquetes a los recursos ubicados en otras redes, como redes de VPC, conectadas al mismo concentrador de Network Connectivity Center que la red que aloja la NAT privada o redes fuera de Google Cloud que estén conectadas a Google Cloud a través de Cloud Interconnect o Cloud VPN. En la salida, Google Cloud cambia la dirección IP de origen a una dirección IP de la subred NAT privada asociada con la puerta de enlace.

Las siguientes son características de las direcciones IP de NAT privadas:

  • No puedes asignar automáticamente direcciones IP de NAT privadas a un Puerta de enlace NAT privada Por el contrario, cuando creas una regla en una de puerta de enlace NAT privada, debes especificar Subredes o subredes NAT privadas. NAT privada deben estar ubicadas en la misma región y red de VPC que la puerta de enlace. La puerta de enlace usa direcciones IP solo de la dirección IPv4 principal de las subredes NAT privadas.
  • Para determinar cuántas direcciones IP de NAT hay en cada subred de NAT privada puedes proporcionar, utiliza la siguiente fórmula: 2(32 - PREFIX_LENGTH) - 4, donde PREFIX_LENGTH es la longitud de la máscara de subred de la IPv4 principal de la subred NAT privada un rango de direcciones IP. Se incluyen cuatro direcciones IP inutilizables en todas rango de direcciones IPv4 principal de la subred.

Puertos

Cada dirección IP de NAT en una puerta de enlace de Cloud NAT (NAT pública y privada) 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 1,024 puertos conocidos (con privilegios)

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. Cuando cambias el modo de asignación de puertos, todas las conexiones existentes que usan la puerta de enlace NAT pública están cerrados y deben restablecido.

Si asignaste de forma manual varias IP regionales externas estáticas (reservadas) direcciones IP a tu puerta de enlace de NAT pública, una única VM que usa puede obtener los puertos necesarios de cualquiera de las IP de NAT asignadas externas, incluso desde múltiples direcciones IP con NAT al mismo tiempo.

Asignación de puerto estática

Cuando configuras la asignación de puertos estáticos, especificas un número mínimo de puertos por instancia de VM. Si no especificas la cantidad mínima de puertos o VM, Google Cloud usa el valor predeterminado.

La asignación de puertos estáticos está habilitada de forma predeterminada para la NAT pública. Private NAT, por otro lado, usa la asignación dinámica de puertos de forma predeterminada.

Debido a que a todas las VMs se les asigna la misma cantidad de puertos, la asignación funciona mejor si todas las VMs tienen un uso de salida similar. 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 de salida varía, considera configurar los puertos asignación.

Si quieres configurar el mapeo independiente de extremos de tu puerta de enlace NAT pública, debes usar la asignación de puertos estáticos. Mapeo independiente de extremo no está disponible para puertas de enlace NAT privadas.

Asignación dinámica de puertos

Cuando configuras la asignación dinámica de puertos, debes especificar una configuración una cantidad máxima de puertos por instancia de VM y una cantidad máxima de puertos por instancia de VM.

La asignación dinámica de puertos está habilitada de forma predeterminada para la NAT privada. Para NAT pública, debes configurar la asignación dinámica de puertos de forma manual.

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á cerca de agotar todos los puertos que se le asignaron, se duplica la cantidad de puertos asignados a la VM. La VM puede solicitar más puertos hasta la cantidad máxima de puertos por instancia de VM. Cuando el uso de puertos 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.

Antes de usar la asignación dinámica de puertos, ten en cuenta lo siguiente:

Cambiar método de asignación de puertos

Puedes alternar entre la asignación de puertos estáticos y la asignación dinámica de puertos determinada puerta de enlace de Cloud NAT.

Cambiar al método de asignación dinámica de puertos interrumpe las conexiones NAT existentes solo si se cumple alguna de las siguientes condiciones:

  • Establece la cantidad máxima de puertos por VM en un valor que menor que la cantidad mínima de puertos por VM especificada en la Configuración de NAT (con asignación de puertos estáticos)

    Si en la configuración anterior, la cantidad mínima de puertos por VM se estableció en más de 1024 y, si especificas 1024 como el número máximo de puertos por VM en la configuración nueva, se interrumpen las conexiones existentes porque la primera condición tiene prioridad.

  • Establece la cantidad máxima de puertos por VM en un valor inferior a 1024.

Cambiar a la asignación dinámica de puertos, a menos que se cumpla alguna de las condiciones anteriores no interrumpe las conexiones NAT existentes.

Inhabilitar la asignación dinámica de puertos y cambiar a la asignación de puertos estáticos es y interrumpe todas las conexiones NAT activas.

Procedimiento de reserva de puertos

Cloud NAT usa el siguiente procedimiento para aprovisionar la dirección IP de origen de NAT y tuplas de puerto de origen para cada VM a la que Cloud NAT (tanto las NAT públicas privada y privada).

  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 NAT pública está configurada para realizar NAT para el rango de direcciones IP principal de la subred que usa la interfaz de red de la VM la puerta de enlace ejecuta NAT para ambas direcciones IP internas principales de la VM y cualquiera de los rangos de alias de IP de la VM desde la subred rango principal de direcciones IP.

    • Si la puerta de enlace NAT pública está configurada para realizar NAT para un rango de direcciones IP secundario de la subred que usa la interfaz de red de la VM la puerta de enlace realiza la NAT para cualquier rango de IP de alias desde la puerta de enlace rango de direcciones IP.

    Porque una puerta de enlace NAT privada está configurada para realizar NAT para todas las direcciones IP de red de la subred que usa la interfaz de red de la VM, la puerta de enlace realiza NAT para todos los rangos de IP de esa 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 especificas el Cantidad mínima de puertos por instancia de VM, se usa el valor predeterminado: 64 para el puerto estático 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.

    Para NAT pública, Google Cloud asigna la IP de origen de NAT dirección y tuplas de puerto de origen que usan múltiplos de potencias de dos, de modo que el número de La dirección IP de origen de NAT y las tuplas de puerto de origen son mayores o iguales que la cantidad mínima de puertos por instancia de VM que especifiques.

    Para la NAT privada, Google Cloud asigna el doble de de elementos requeridos la cantidad mínima de puertos por VM para garantizar la confiabilidad. Asegúrate de que la subred desde la cual NAT privada y que las direcciones IP y puertos tengan el tamaño adecuado.

    • Si la puerta de enlace de Cloud NAT usa dos o más direcciones IP de NAT, entonces es posible que la dirección IP de origen de NAT y las tuplas de puerto de origen se abarcan más de una dirección 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.

Aumentar 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 un puerto dinámico y, luego, aumenta el número mínimo, máximo o ambos de puertos por VM no interrumpe las conexiones NAT existentes ni interrumpe el tráfico que fluye a través de la puerta de enlace NAT.

Ten en cuenta lo siguiente cuando aumentes la cantidad de puertos a la VM:

  • Cuando uses NAT pública con asignación manual de direcciones IP de NAT, debes hacer lo siguiente: calcula la cantidad de direcciones IP de origen de NAT que necesitas. Antes de aumentar la cantidad mínima de puertos por VM, asigna al menos muchas direcciones IP de NAT a la puerta de enlace de NAT pública.

  • Cuando se usa NAT pública con asignación automática de direcciones IP de NAT, lo que aumenta una cantidad mínima de puertos por VM hace que la puerta de enlace NAT pública adquiera y asignar más direcciones IP externas regionales automáticamente.

  • Cuando uses NAT privada, asegúrate de que la subred desde la que se asigna la puerta de enlace que tengan una cantidad adecuada de direcciones IP.

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 un puerto dinámico las siguientes afirmaciones son verdaderas:

  • Reducir la cantidad mínima de puertos por VM no interrumpe la NAT existente o interrumpir el tráfico que fluye a través de la puerta de enlace NAT.
  • Reducir la cantidad máxima de puertos por VM interrumpe todas las conexiones NAT existentes de inmediato, y la cantidad de puertos asignados a todas las VMs se restablece al valor especificado para la cantidad mínima de puertos por VM.

Puertos y conexiones

El número de direcciones IP de origen de NAT y de tuplas de puerto de origen que un Las reservas de puerta de enlace de Cloud NAT para una VM restringen la cantidad de conexiones que la VM puede hacer en 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.

La NAT pública usa asignación independiente de extremos, como se define en Sección 2.3 de RFC 5,128. Como Como resultado, la cantidad de conexiones simultáneas que una VM cliente puede hacer a un destino único Es posible que se reduzca 3 tuplas si la NAT pública asigna la misma fuente de NAT Dirección IP y tupla de puerto de origen a más de una dirección IP interna y puerto de origen efímero de la VM del 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 efímero de origen, la NAT pública crea una red de Mapeo independiente de extremo entre los siguientes elementos:

  • 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 mediante el puerto de origen efímero 10001, la NAT pública asigna 10.0.0.2:10001 Luego, se usan esta dirección IP de origen de NAT y la tupla de puerto de origen. para todas las conexiones posteriores de 10.0.0.2:10001 a cualquier tupla triple de destino.

Si la misma VM usa un puerto de origen efímero diferente para enviar un paquete, por ejemplo, 10.0.0.2:20002, la NAT pública también asigna una dirección IP de origen de NAT y 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 la NAT pública asigne el la misma dirección IP de origen de NAT y la tupla de puerto de origen a ambas direcciones IP internas dirección y tuplas de puerto de origen efímeras que causan un conflicto independiente de extremos en ciertas situaciones.

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 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). La duración del retraso se controla mediante la configuración Tiempo de TCP_WAIT.

Si es necesario, puedes reducir esta demora modificando el valor predeterminado de la Se agotó el tiempo de espera del TCP TIME_WAIT. Para obtener información sobre cómo modificar los tiempos de espera de NAT, consulta Cambia los tiempos de espera de NAT. Como alternativa, puedes realizar uno de los siguientes cambios:

  • 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 las conexiones TCP a la misma la dirección IP de destino y el puerto de destino usando el mismo protocolo, luego en lugar de Cloud NAT, asigna una dirección IP externa al VM y usa reglas de firewall para limitar las entradas no solicitadas conexiones de red.

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. Aumentar la cantidad mínima de Los puertos por instancia de VM asignan un rango de puertos de forma aleatoria a cada VM; Sin embargo, el puerto de origen elegido de ese rango es secuencial.

  • Asignar una dirección IP externa al VM en lugar de usar NAT pública.

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 configuras una puerta de enlace NAT pública para proporcionar NAT a la principal de direcciones IP de una subred, y las VMs que usan esa subred no tener rangos de alias de IP del rango principal de direcciones IP de la 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 NAT pública con una sola dirección IP de NAT con la asignación manual y estableces la cantidad mínima de puertos por VM a 64, la puerta de enlace puede proporcionar servicios de NAT para un máximo de 1,008 VMs:

    ⌊(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 VMs

Supongamos que configuras una puerta de enlace NAT privada para proporcionar para todas las direcciones IP de una subred:

  • El tamaño mínimo de subred que se puede crear es de ocho direcciones IPv4, que es un máscara de subred de /29. Si configuras una puerta de enlace NAT privada con una subred NAT del tamaño mínimo y establece la cantidad mínima de puertos por instancia de VM en 64 la puerta de enlace puede proporcionar servicios de NAT para un máximo de 2,016 VMs:

    ⌊(2(32-29) - 4) Direcciones IP NAT × (64,512 puertos por dirección) / (64 puertos por VM × 2)⌋ = 2,016 VMs

    En el ejemplo anterior, si estableciste la cantidad mínima de puertos por instancia de VM. a 1024, la puerta de enlace puede proporcionar servicios de NAT para un máximo de 126 VMs:

    ⌊(2(32-29) - 4) Direcciones IP NAT × (64,512 puertos por dirección) / (1,024 puertos por VM × 2)⌋ = 126 VMs

  • Si configuras una puerta de enlace NAT privada con una máscara de subred NAT de /28 establecer la cantidad mínima de puertos por instancia de VM en 64, la puerta de enlace puede Servicios de NAT para un máximo de 6,048 VMs:

    ⌊(2(32-28) - 4) Direcciones IP NAT × (64,512 puertos por dirección) / (64 puertos por VM × 2)⌋ = 6,048 VMs

Conflicto de mapeo independiente de extremos

El siguiente ejemplo ilustra cómo el mapeo independiente de extremos podría reducir la cantidad de conexiones simultáneas de una VM cliente a la misma tupla triple de destino, incluso cuando haya una cantidad suficiente de fuentes de NAT libres Dirección IP y tuplas de puerto de origen disponibles para la VM del cliente.

Supongamos que configuraste una puerta de enlace NAT pública para proporcionar NAT al el rango principal de direcciones IP 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
    • La NAT pública usa la siguiente dirección IP de origen de NAT y el puerto de origen tupla: 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
    • La NAT pública podría usar la misma dirección IP de origen de NAT y la 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 la primera y la segunda conexión estén activas, La NAT pública 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 extremo independiente porque el mapeo independiente de extremos establecido por el primera conexión exige que todas las conexiones de 10.0.0.2:10001 usen el la misma dirección IP de origen de NAT y la tupla de puerto de origen, 192.0.2.10:30009. Sin embargo, La segunda conexión TCP ya está usando 192.0.2.10:30009 para 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. Si cierras la conexión, se quitará el Mapeo independiente de extremo entre 10.0.0.2:10001 y 192.0.2.10:30009, así que la tercera conexión se puede asignar a una dirección IP de origen de NAT diferente y la tupla de puerto de origen para comunicarse con 203.0.113.2:80 a través de TCP.
    • Se cerró la segunda conexión TCP. Si cierras la conexión, se libera 10.0.0.2:10001 para usar la dirección IP de origen de NAT y el puerto de origen 192.0.2.10:30009 para comunicarse con 203.0.113.2:80 a través de 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.
    • Desactiva la independencia del extremo. La activación o desactivación permite que el nuevo conexión de 10.0.0.2:10001 no necesita usar 192.0.2.10:30009, lo que le permite usar una dirección IP y un puerto de origen de NAT diferentes.

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

¿Qué sigue?