Soluciona problemas

En esta guía, te ayudaremos a resolver problemas comunes con Cloud NAT.

Problemas comunes

Las VM pueden acceder a Internet de forma inesperada, sin Cloud NAT

Si tus instancias de máquina virtual (VM) o instancias de contenedor pueden acceder a Internet sin Cloud NAT, pero no deseas que lo hagan, verifica los siguientes problemas:

  • Determina si la interfaz de red de la VM tiene una dirección IP externa. Si la interfaz de red tiene una dirección IP externa asignada, Google Cloud realiza automáticamente NAT uno a uno para los paquetes cuyas fuentes coinciden con la dirección IP interna principal de la interfaz. Para obtener más información, consulta Especificaciones de Cloud NAT.

    Para determinar si una VM tiene una dirección IP externa, consulta cómo cambiar o asignar una dirección IP externa a una instancia existente.

  • Asegúrate de que tu clúster de Google Kubernetes Engine (GKE) sea privado. Cada VM de nodo en un clúster no privado tiene una dirección IP externa, por lo que cada nodo puede usar rutas en tu red de nube privada virtual (VPC) cuyo próximo salto es la puerta de enlace de Internet predeterminada, sin depender de Cloud NAT. Para obtener más información, incluido cómo interactúan los clústeres no privados con las puertas de enlace de Cloud NAT, consulta Interacción con GKE.

  • Enumera las rutas en tu red de VPC y busca las que puedan proporcionar conectividad a Internet a través de un siguiente salto diferente al de la puerta de enlace de Internet predeterminada. A modo de ejemplo:

    • Las rutas estáticas personalizadas cuyos próximos saltos son VM, balanceadores de cargas TCP/UDP internos o túneles de Cloud VPN pueden proporcionar de forma indirecta la conectividad a Internet. Por ejemplo, las VM de próximo salto o de backend para un balanceador de cargas TCP/UDP interno pueden tener direcciones IP externas, o bien un túnel de Cloud VPN puede conectarse a una red que ofrece acceso a Internet.

    • Las rutas dinámicas personalizadas que Cloud Routers aprendió de las redes locales en tu red de VPC pueden conectarse a una red que ofrezca acceso a Internet.

  • Ten en cuenta que otras rutas personalizadas en tu red de VPC pueden tener prioridades más altas que las rutas cuyos próximos saltos sean puertas de enlace de Internet predeterminadas. Si quieres saber cómo Google Cloud evalúa las rutas, consulta aplicabilidad y orden del enrutamiento.

No se generan registros

Algunos registros están excluidos

  • Verifica que el registro de NAT esté habilitado y que tu filtro de registro no excluya los registros que deseas conservar. Puedes borrar un filtro de registros para que no se excluya nada.

  • Cloud NAT no registra todos los eventos. Durante períodos de mucho tráfico de salida, se limita el registro de NAT en forma proporcional al tipo de máquina de la VM. Es posible que se omitan los registros de traducción o de error, y no se puede determinar qué se omite durante la regulación.

Paquetes descartados con el motivo out of resources

Si ves una pérdida de paquetes de VM que usan Cloud NAT, esto podría deberse a que no hay suficientes direcciones IP de origen NAT disponibles ni tuplas de puerto de origen para que la VM se use en el momento de la pérdida del paquete. Un hash de cinco tuplas (dirección IP de origen, NAT de destino y 3 tuplas de destino) no se puede volver a usar dentro del retraso obligatorio de 120 segundos.

Si no hay suficientes tuplas NAT disponibles, el motivo dropped_sent_packets_count es out of resources. Para obtener más información sobre las métricas, consulta Usa métricas de instancia de VM.

Para aumentar la cantidad de puertos por VM, consulta Cambia la cantidad mínima de puertos predeterminados asignados por la VM asociada con NAT.

Es necesario asignar más direcciones IP

Si una instancia no puede acceder a Internet, y si asignas direcciones IP de forma manual, es posible que debas agregar más direcciones IP.

En Cloud Console, si ves el mensaje Debes asignar al menos “X” direcciones IP más para permitir que todas las instancias accedan a Internet, deberás asignar más direcciones IP. Para obtener más información, consulta Direcciones IP NAT.

Para supervisar este problema, define políticas de alertas en el mensaje nat_allocation_failed.

Preguntas frecuentes

Restricción regional para Cloud NAT

¿Puedo usar la misma puerta de enlace de Cloud NAT en más de una región?

No. Las puertas de enlace de Cloud NAT son recursos regionales asociados con una sola región, una sola red de VPC y un solo Cloud Router.

Puedes crear puertas de enlace de Cloud NAT adicionales en otras regiones o redes de VPC. Para determinar si puedes crear más de una puerta de enlace en una región y red de VPC determinadas, consulta la aplicabilidad del rango de direcciones IP de la subred.

Pregunta: ¿Las direcciones IP NAT externas que usan las puertas de enlace de Cloud NAT son globales o regionales?

Las puertas de enlace de Cloud NAT usan direcciones IP externas regionales como direcciones IP NAT. Aunque son regionales, se pueden enrutar públicamente. Para obtener información sobre las formas diferentes en que se pueden asignar direcciones IP NAT, consulta Direcciones IP NAT.

Cuándo se puede usar Cloud NAT

¿Cloud NAT se aplica a las instancias, incluidas las VM de nodo de GKE, que tienen direcciones IP externas?

En general, no. Si la interfaz de red de una VM tiene una dirección IP externa, Google Cloud siempre realiza NAT uno a uno para los paquetes enviados desde la dirección IP interna principal de la interfaz de red sin usar Cloud NAT. Sin embargo, de todos modos Cloud NAT podría proporcionar servicios NAT a los paquetes enviados desde rangos de direcciones IP de alias de esa misma interfaz de red. Para obtener detalles adicionales, consulta Interacción de GKE y Especificaciones de Cloud NAT.

¿Puedo usar Cloud NAT para la comunicación entre las VM en una red de VPC?

No, Cloud NAT está diseñado para proporcionar únicamente conectividad a Internet.

¿Puedo usar Cloud NAT para conectar una red de VPC a otra red para solucionar un problema causado por direcciones de IP superpuestas?

No, Cloud NAT no se puede aplicar a ninguna ruta personalizada cuyo próximo salto no sea la puerta de enlace de Internet predeterminada. Por ejemplo, Cloud NAT no puede aplicarse al tráfico enviado a un túnel de Cloud VPN de próximo salto, incluso si el destino es una dirección IP enrutable de forma pública.

¿Cloud NAT permite que una VM de origen cuya interfaz de red no tenga una dirección IP externa envíe tráfico a una VM de destino o a un balanceador de cargas que tiene una dirección IP externa, incluso si la fuente y el destino están en la misma red de VPC?

Sí. La ruta de acceso a la red implica enviar tráfico fuera de la red de VPC a través de una puerta de enlace de Internet predeterminada y, luego, recibirlo en la misma red.

Cuando la VM de origen envía un paquete al destino, Cloud NAT realiza NAT de origen (SNAT) antes de entregar el paquete a la segunda instancia. Cloud NAT realiza NAT de destino (DNAT) para las respuestas de la segunda instancia a la primera. Para ver un ejemplo paso a paso, consulta Flujo de NAT.

No se admiten conexiones entrantes no solicitadas

¿Cloud NAT admite conexiones entrantes (por ejemplo, SSH) a instancias sin direcciones IP externas?

No, Cloud NAT no admite conexiones entrantes no solicitadas. Para obtener más información, consulta Especificaciones de Cloud NAT.

Si necesitas conectarte a una VM que no tiene una dirección IP externa, consulta la sección sobre cómo conectarte a instancias que no tienen direcciones IP externas. Por ejemplo, como parte de la configuración de Compute Engine de ejemplo de Cloud NAT, debes conectarte a una VM sin una dirección IP externa mediante Identity-Aware Proxy.

Cloud NAT y puertos

¿Por qué una VM tiene una cantidad fija de puertos (de forma predeterminada, 64)?

Cuando una puerta de enlace de Cloud NAT proporciona NAT para una VM, reserva la dirección de origen y las tuplas de puerto de origen según el procedimiento de reserva de puerto.

Para obtener más información, consulta los ejemplos de reservas de puertos.

Pregunta:: ¿Puedo cambiar el número mínimo de puertos reservados para una VM?

Sí. Puedes aumentar o disminuir la cantidad mínima de puertos por VM cuando creas una puerta de enlace de Cloud NAT nueva o si la editas más tarde. Cada puerta de enlace de Cloud NAT reserva tuplas de puertos de origen y direcciones de origen según el procedimiento de reserva de puertos.

Para obtener más información sobre la reducción de la cantidad mínima de puertos, consulta la siguiente pregunta.

¿Puedo reducir la cantidad mínima de puertos por VM después de crear la puerta de enlace de Cloud NAT?

Sí. Sin embargo, disminuir la cantidad mínima de puertos puede provocar que el procedimiento de reserva de puertos reserve una cantidad más pequeña de puertos por VM. Cuando esto sucede, puede que las conexiones TCP existentes se reinicien y, de ser así, se deben restablecer.

Cuando se cambia la asignación NAT de los rangos primario y secundario a Solo rango principal, ¿se asignan puertos adicionales a cada instancia inmediatamente?

No. Los puertos adicionales usados por rangos secundarios las retienen las instancias hasta que se reduzca la configuración de puertos mínimos por VM. Cuando Cloud NAT se configura para asignar rangos secundarios (alias) para subredes, Cloud NAT asigna un mínimo de 1,024 puertos por instancia en función del procedimiento de reserva de puertos.

Cuando cambias solo a rangos primarios, Cloud NAT conserva esos puertos asignados adicionales para instancias que ya tienen asignados esos puertos. Después de cambiar los rangos para los que Cloud NAT se aplica solo a principal, la cantidad real de puertos asignados a esas instancias no se cambiará hasta que se reduzca la configuración puertos mínimos por VM.

Para reducir la cantidad de puertos asignados a esas instancias, después del cambio a rangos principales, se debe reducir la configuración de puertos mínimos por VM. Después de reducir ese valor, Cloud NAT ajusta de forma automática la cantidad de puertos asignados por instancia, lo que reduce el consumo de puertos.

Cloud NAT y otros servicios de Google

¿Cloud NAT habilita el acceso a los servicios y las API de Google?

Cuando habilitas Cloud NAT para el rango de IP principal de una subred, Google Cloud habilita el Acceso privado a Google de forma automática. Para obtener más información, consulta Interacción con el Acceso privado a Google.

¿Qué sigue?