Configurar y gestionar la traducción de direcciones de red con NAT privado

En esta página se describe cómo configurar la traducción de direcciones de red (NAT) de privada a privada en Cloud NAT.

Antes de empezar

Completa las siguientes tareas antes de configurar NAT privado.

Revisar las especificaciones de Private NAT

Consulta las siguientes especificaciones y requisitos:

  • Para ver las especificaciones generales, consulta NAT privada.
  • Para el tráfico entre radios de un hub de Network Connectivity Center, incluidos los radios de VPC y los radios híbridos, consulta Private NAT para radios de Network Connectivity Center.
  • Para el tráfico entre redes de nube privada virtual (VPC) y redes que no sean deGoogle Cloud a través de Cloud Interconnect o Cloud VPN, consulta Hybrid NAT.

Obtener permisos de gestión de identidades y accesos

El rol Administrador de red de Compute (roles/compute.networkAdmin) te da permisos para crear una pasarela de NAT en Cloud Router, reservar y asignar direcciones IP de NAT, y especificar las subredes cuyo tráfico debe usar la traducción de direcciones de red de la pasarela de NAT.

Configurar Google Cloud

Antes de empezar, configura los siguientes elementos en Google Cloud.

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Compute Engine API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  5. Install the Google Cloud CLI.

  6. Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

  7. Para inicializar gcloud CLI, ejecuta el siguiente comando:

    gcloud init
  8. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  9. Verify that billing is enabled for your Google Cloud project.

  10. Enable the Compute Engine API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  11. Install the Google Cloud CLI.

  12. Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

  13. Para inicializar gcloud CLI, ejecuta el siguiente comando:

    gcloud init
  14. Las instrucciones de la CLI de Google Cloud de esta página presuponen que ha definido el ID de su proyecto antes de ejecutar los comandos.

    1. Puedes definir un ID de proyecto con el siguiente comando:

      gcloud config set project PROJECT_ID
      
    2. También puedes ver un ID de proyecto que ya esté configurado:

      gcloud config list --format='text(core.project)'
      

    Crea una subred NAT con el valor PRIVATE_NAT en el campo "purpose"

    Antes de configurar NAT privado, debes crear una subred NAT con el valor PRIVATE_NAT en el campo de propósito. La subred de NAT debe estar en la misma región en la que quieras crear tu pasarela de NAT privada. La pasarela NAT privada usa intervalos de direcciones IP de esta subred para realizar NAT. Asegúrate de que esta subred no se solape con ninguna subred de las redes conectadas. No puedes crear ningún recurso en esta subred. Esta subred solo se usa para NAT privada.

    Consola

    1. En la Google Cloud consola, ve a la página Redes de VPC.

      Ir a redes de VPC

    2. Para mostrar la página de detalles de la red de VPC, haz clic en el nombre de una red de VPC.

    3. Haz clic en la pestaña Subredes.

    4. Haz clic en Añadir subred. En el cuadro de diálogo Añadir una subred, haz lo siguiente:

      1. Asigna un nombre a la subred.
      2. Selecciona una región.
      3. En Propósito, selecciona NAT privada.
      4. Introduce un intervalo de direcciones IP, que es el intervalo IPv4 principal de la subred.

        Si seleccionas un intervalo que no es una dirección RFC 1918, confirma que no entra en conflicto con ninguna configuración. Para obtener más información sobre los intervalos de subred IPv4 válidos, consulta Intervalos de subred IPv4.

        .
    5. Haz clic en Añadir.

    gcloud

    Usa el comando gcloud compute networks subnet create para crear la subred.

      gcloud compute networks subnets create NAT_SUBNET \
          --network=NETWORK \
          --region=REGION \
          --range=IP_RANGE \
          --purpose=PRIVATE_NAT
    

    Haz los cambios siguientes:

    • NAT_SUBNET: nombre del intervalo de subredes de NAT privado que se va a crear.
    • NETWORK: la red a la que pertenece la subred.
    • REGION: la región de la subred que se va a crear. Si no se especifica, es posible que se te pida que selecciones una región (solo en modo interactivo).
    • IP_RANGE: el espacio de IP asignado a esta subred en formato CIDR. Asegúrate de que IP_RANGE tenga en cuenta que se usa el doble del tamaño de los puertos necesarios por VM.

    Configurar Private NAT

    Para configurar Private NAT, crea una pasarela Private NAT en la red de VPC de origen. Cada pasarela está asociada a una sola red de VPC, región y Cloud Router.

    Al configurar NAT privado, puedes habilitar una o ambas de las siguientes opciones:

    • Private NAT para radios de Network Connectivity Center. Habilita NAT para el tráfico entre los siguientes elementos:

      • Una red de VPC de origen y una red de VPC de destino en el mismo hub de Network Connectivity Center. Ambas redes deben configurarse como radios de VPC.
      • Una red de VPC de origen configurada como una VPC de radio en un hub de Network Connectivity Center y una red de destino local u otro proveedor de servicios en la nube conectada al hub a través de un radio híbrido.

      Si quieres usar conexiones propagadas de Private Service Connect en el mismo radio de VPC que Private NAT, consulta Interacciones de las conexiones propagadas de Private Service Connect antes de configurar Private NAT.

    • Hybrid NAT: habilita la NAT para el tráfico entre una red de VPC de origen y una red on-premise o de otro proveedor de servicios en la nube de destino. Las redes deben estar conectadas a través de Cloud Interconnect o Cloud VPN.

    Crear una pasarela de NAT privada

    Crea una pasarela Private NAT en la red de VPC de origen para la que quieras configurar NAT.

    Consola

    1. En la Google Cloud consola, ve a la página Cloud NAT.

      Ir a Cloud NAT

    2. Haz clic en Empezar o en Crear pasarela de Cloud NAT.

    3. Introduce el nombre de la pasarela.

    4. En Tipo de NAT, selecciona Privado.

    5. Selecciona una red de VPC para la pasarela NAT.

    6. Selecciona la región de la pasarela NAT.

    7. Selecciona o crea un Cloud Router en la región.

    8. Asegúrate de que Instancias de VM esté seleccionado como tipo de endpoint de origen.

    9. En la lista Fuente, selecciona Personalizada.

    10. Selecciona la subred en la que quieras realizar la NAT.

    11. Si quieres especificar más intervalos, haz clic en Añadir subred e intervalo de IP.

    12. Haz clic en Añadir regla.

    13. En el campo Número de regla, introduce cualquier valor entre 0 y 65000.

    14. En Concordancia, seleccione una de las siguientes opciones:

      • Para habilitar Hybrid NAT, selecciona Rutas de conectividad híbrida.
      • Para habilitar Private NAT en los radios de Network Connectivity Center, selecciona Centro de conectividad de red.
      • Para habilitar ambas opciones, selecciona Rutas de conectividad híbrida y Concentrador de Network Connectivity Center.
    15. Selecciona o crea un intervalo de subred NAT privada.

    16. Haz clic en Listo.

    17. Opcional: Ajusta cualquiera de las siguientes opciones en la sección Configuraciones avanzadas:

      • Indica si se debe configurar el registro. La opción Sin registro está seleccionada de forma predeterminada.
      • Indica si se debe cambiar la forma en que Cloud NAT asigna los puertos. La opción Habilitar asignación dinámica de puertos está seleccionada de forma predeterminada. Para configurar la asignación de puertos estática, desmarca Habilitar asignación dinámica de puertos y especifica el Número mínimo de puertos por instancia de VM. El valor predeterminado es 64.
      • Indica si se deben actualizar los tiempos de espera de NAT para las conexiones de protocolos. Para obtener información sobre estos tiempos de espera y sus valores predeterminados, consulta Tiempos de espera de NAT.
    18. Haz clic en Crear.

    gcloud

    1. Crea un Cloud Router en la red de VPC en la que quieras configurar NAT.

      Usa el comando gcloud compute routers create.

      gcloud compute routers create ROUTER_NAME \
          --network=NETWORK --region=REGION
      

      Haz los cambios siguientes:

      • ROUTER_NAME: nombre de Cloud Router.
      • NETWORK: la red de VPC en la que se va a crear el Cloud Router.
      • REGION: la región en la que se va a crear el router de Cloud.
    2. Crea una pasarela Private NAT y especifica una o varias subredes de la red de VPC de origen para las que quieras configurar NAT.

      Usa el comando gcloud compute routers nats create con la marca --type definida como PRIVATE.

      gcloud compute routers nats create NAT_CONFIG \
          --router=ROUTER_NAME --type=PRIVATE --region=REGION \
          --nat-custom-subnet-ip-ranges=SUBNETWORK:ALL|[SUBNETWORK_1:ALL,SUBNETWORK_2:ALL,...] | \
          [--nat-all-subnet-ip-ranges]
      

      Haz los cambios siguientes:

      • NAT_CONFIG: nombre de la configuración de Private NAT que vas a crear.
      • ROUTER_NAME: el nombre del Cloud Router que se va a usar con esta pasarela. Se trata del router de Cloud que has creado en el paso anterior y no debe estar en uso por ningún otro recurso.
      • SUBNETWORK: el nombre de la subred o la lista de subredes para las que quieras usar NAT.

        También puedes especificar una lista de subredes en formato separado por comas, como SUBNETWORK_1, SUBNETWORK_2. Private NAT siempre realiza NAT en todos los intervalos de IP de subred de la subred o la lista de subredes proporcionadas.

      De forma predeterminada, la NAT privada usa la asignación dinámica de puertos. Si quieres crear una pasarela NAT privada con asignación de puertos estática, ejecuta el comando anterior con la marca --no-enable-dynamic-port-allocation:

      gcloud compute routers nats create NAT_CONFIG \
          --router=ROUTER_NAME --type=PRIVATE --region=REGION \
          --nat-custom-subnet-ip-ranges=SUBNETWORK:ALL|[SUBNETWORK_1:ALL,SUBNETWORK_2:ALL,...] | \
          [--nat-all-subnet-ip-ranges]
          --no-enable-dynamic-port-allocation \
          [--min-ports-per-vm=VALUE]
      

      Sustituye VALUE por el número mínimo de puertos que quieras asignar por VM. Si no se especifica ningún valor,Google Cloud asigna el valor predeterminado 64.

    3. Crea una regla NAT para que coincida con el tráfico en función del tipo de NAT que estés configurando.

      Usa el comando gcloud compute routers nats rules create con la marca --match definida en una de las siguientes opciones:

      • nexthop.is_hybrid: traduce el tráfico de salida de la red de VPC de origen a una red on‐premise u otra red de un proveedor de servicios en la nube que esté conectada a Google Cloud a través de Cloud Interconnect o Cloud VPN.
      • nexthop.hub: traduce el tráfico saliente de la radio de VPC de origen a cualquiera de las radios de VPC o híbridas que estén conectadas al mismo hub de Network Connectivity Center que la radio de VPC de origen.
      • nexthop.is_hybrid || nexthop.hub: configura ambos tipos de Private NAT.

      Para crear una regla NAT para Hybrid NAT, ejecuta el siguiente comando:

      gcloud compute routers nats rules create NAT_RULE_NUMBER \
          --router=ROUTER_NAME --region=REGION \
          --nat=NAT_CONFIG \
          --match='nexthop.is_hybrid' \
          --source-nat-active-ranges=NAT_SUBNET
      

      Para crear una regla de NAT para Private NAT para radios de Network Connectivity Center, ejecuta el siguiente comando:

      gcloud compute routers nats rules create NAT_RULE_NUMBER \
          --router=ROUTER_NAME --region=REGION \
          --nat=NAT_CONFIG \
          --match='nexthop.hub == "//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/hubs/HUB"' \
          --source-nat-active-ranges=NAT_SUBNET
      

      Para crear una regla de NAT tanto para Hybrid NAT como para Private NAT para radios de Network Connectivity Center, ejecuta el siguiente comando:

      gcloud compute routers nats rules create NAT_RULE_NUMBER \
          --router=ROUTER_NAME --region=REGION \
          --nat=NAT_CONFIG \
          --match='nexthop.is_hybrid || nexthop.hub == "//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/hubs/HUB"' \
          --source-nat-active-ranges=NAT_SUBNET
      

      Haz los cambios siguientes:

      • NAT_RULE_NUMBER: número de regla que identifica de forma exclusiva la regla NAT, del 0 al 65000.
      • ROUTER_NAME: nombre del Cloud Router que has creado anteriormente.
      • REGION: la región de Cloud Router.
      • NAT_CONFIG: nombre de la configuración de Private NAT que has creado anteriormente.
      • PROJECT_ID: el Google Cloud proyecto del centro de conectividad de red.
      • HUB: nombre del centro de conectividad de red.
      • NAT_SUBNET: el nombre de la subred de NAT privada que has creado anteriormente. También puedes especificar una lista de subredes en formato separado por comas.

    Ver la configuración de NAT privada

    Consola

    1. En la Google Cloud consola, ve a la página Cloud NAT.

      Ir a Cloud NAT

    2. Para ver los detalles, la información de asignación o los detalles de configuración de una pasarela de NAT, haga clic en su nombre.

    3. Para ver el estado de NAT, consulta la columna Estado de tu pasarela de NAT.

    gcloud

    Para ver los detalles de la configuración de NAT, ejecuta los siguientes comandos:

    • Consulta la configuración de la pasarela de NAT privada.

      gcloud compute routers nats describe NAT_CONFIG \
          --router=ROUTER_NAME \
          --region=REGION
      

      Haz los cambios siguientes:

      • NAT_CONFIG: el nombre de tu configuración de NAT
      • ROUTER_NAME: el nombre de tu Cloud Router
      • REGION: la región del NAT que se va a describir. Si no se especifica, es posible que se te pida que selecciones una región (solo en el modo interactivo).
    • Consulta la asignación de los intervalos de puertos e IPs asignados a la interfaz de cada máquina virtual.

      gcloud compute routers get-nat-mapping-info ROUTER_NAME \
          --region=REGION
      
    • Consulta el estado de la pasarela NAT privada.

      gcloud compute routers get-status ROUTER_NAME \
          --region=REGION
      

    Actualizar la configuración de NAT privada

    Una vez que hayas configurado tu pasarela NAT privada, podrás actualizar su configuración según tus necesidades. En las siguientes secciones se enumeran las tareas que puedes realizar para actualizar tu gateway NAT privado.

    Cambiar las subredes asociadas a Private NAT

    Consola

    1. En la Google Cloud consola, ve a la página Cloud NAT.

      Ir a Cloud NAT

    2. Haz clic en tu pasarela NAT.

    3. Haz clic en Editar.

    4. En Asignación de Cloud NAT, en la lista Origen, selecciona Personalizado.

    5. Selecciona una subred de la lista de subredes disponibles.

    6. Si quieres especificar más intervalos, haz clic en Añadir subred e intervalo de IPs y, a continuación, selecciona otra subred.

    7. Haz clic en Guardar.

    gcloud

    gcloud compute routers nats update NAT_CONFIG \
        --router=ROUTER_NAME \
        --region=REGION \
        --nat-custom-subnet-ip-ranges=SUBNETWORK:ALL|[SUBNETWORK_1:ALL,SUBNETWORK_2:ALL,..]
    

    Haz los cambios siguientes:

    • NAT_CONFIG: el nombre de la configuración de Private NAT que quieres actualizar.
    • ROUTER_NAME: el nombre del router que se va a usar con esta pasarela.
    • SUBNETWORK: el nombre de la subred que se va a usar.

    Eliminar subredes asociadas a NAT privado

    Puedes quitar de la pasarela de NAT las subredes específicas que ya no se usen.

    Consola

    1. En la Google Cloud consola, ve a la página Cloud NAT.

      Ir a Cloud NAT

    2. Haz clic en tu pasarela NAT.

    3. Haz clic en Editar.

    4. Elimina la subred que quieras quitar de la asignación de NAT.

    5. Haz clic en Guardar.

    Añadir subredes NAT a tu configuración de Private NAT

    Para realizar NAT en el tráfico, una configuración de NAT privada usa direcciones IP de NAT de una subred que tiene el propósito PRIVATE_NAT. Si tu configuración de NAT privada requiere más direcciones IP de NAT de las que hay disponibles, puedes añadir más subredes con el propósito PRIVATE_NAT a la configuración.

    Consola

    1. En la Google Cloud consola, ve a la página Cloud NAT.

      Ir a Cloud NAT

    2. Haz clic en tu pasarela NAT.

    3. Haz clic en Editar.

    4. Despliega la regla.

    5. Haga clic en Añadir intervalos de subredes.

    6. Selecciona o crea un intervalo de subred NAT y haz clic en Hecho.

    7. Haz clic en Guardar.

    gcloud

    gcloud compute routers nats rules update NAT_RULE_NUMBER \
        --nat=NAT_CONFIG \
        --router=ROUTER_NAME \
        --region=REGION \
        --source-nat-active-ranges=NAT_SUBNET_1, NAT_SUBNET_2 ...
    

    Haz los cambios siguientes:

    • NAT_RULE_NUMBER: número que identifica de forma única la regla que se va a actualizar.
    • NAT_CONFIG: el nombre de la configuración de Private NAT de la regla que se va a actualizar.
    • ROUTER_NAME: el nombre del router que se va a usar con esta pasarela.
    • NAT_SUBNET: los nombres de las subredes de Private NAT que se añadirán a tu configuración de NAT.

    Eliminar configuración de NAT

    Si eliminas una configuración de pasarela, se eliminará la configuración de NAT de un Cloud Router. Si eliminas una configuración de pasarela, no se elimina el router.

    Consola

    1. En la Google Cloud consola, ve a la página Cloud NAT.

      Ir a Cloud NAT

    2. Seleccione la casilla situada junto a la configuración de la pasarela que quiera eliminar.

    3. En el menú, haz clic en Eliminar.

    gcloud

    gcloud compute routers nats delete NAT_CONFIG \
        --router=ROUTER_NAME \
        --region=REGION
    

    Haz los cambios siguientes:

    • NAT_CONFIG: el nombre de tu configuración de NAT
    • ROUTER_NAME: el nombre de tu Cloud Router
    • REGION: la región de la NAT que se va a eliminar. Si no se especifica, es posible que se te pida que selecciones una región (solo en modo interactivo).

    Siguientes pasos