Configurar subredes e instancias solo IPv6 con DNS64 y NAT64

En esta página se describe cómo crear subredes e instancias solo IPv6 y, a continuación, configurar DNS64 y NAT64 para que puedas acceder a destinos IPv4 desde tus instancias solo IPv6.

Para obtener una descripción general de la conectividad de IPv6 a IPv4 en Google Cloud, consulta DNS64 y NAT64 para la conectividad de 6to4.

Antes de empezar

Para seguir las instrucciones de esta página, debes tener una red de nube privada virtual (VPC) en modo personalizado para poder crear subredes con intervalos de direcciones IPv6. Para obtener más información, consulta Crear una red de VPC en modo personalizado con subredes solo IPv6.

Si quieres crear una red de VPC que admita subredes con direcciones IPv6 internas, debes configurar un intervalo IPv6 interno ULA al crear la red. Si ya tienes una red, puedes asignar un intervalo IPv6 interno a la red.

Crear subredes e instancias solo IPv6

En esta sección se describe cómo crear subredes e instancias solo IPv6. Si ya tiene subredes e instancias solo con IPv6, puede ir a Configurar DNS64 y NAT64.

Crear una subred solo IPv6

Puedes crear una subred solo IPv6 con direcciones IPv6 externas o internas habilitadas.

Para crear una subred solo IPv6, sigue estos pasos.

Consola

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

    Ir a redes de VPC

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

  3. En la pestaña Subredes, haz clic en Añadir subred. En el panel que aparece, haz lo siguiente:

    1. Proporciona un nombre.
    2. Selecciona una región.
    3. En Tipo de pila de IP, selecciona IPv6 (pila única).
    4. Selecciona un tipo de acceso IPv6: Interno o Externo.

      Si quieres definir el tipo de acceso como Interno, pero la opción Interno no está disponible, comprueba que se haya asignado un intervalo IPv6 interno en la red.

    5. Haz clic en Añadir.

gcloud

Usa el comando gcloud compute networks subnets create.

gcloud compute networks subnets create SUBNET \
    --network=NETWORK \
    --stack-type=IPV6_ONLY \
    --ipv6-access-type=IPv6_ACCESS_TYPE \
    --region=REGION

Haz los cambios siguientes:

  • SUBNET: un nombre para la nueva subred.
  • NETWORK: nombre de la red de VPC que contendrá la nueva subred.
  • IPv6_ACCESS_TYPE: el tipo de acceso IPv6. El tipo de acceso puede ser EXTERNAL o INTERNAL.
  • REGION: la Google Cloud región en la que se va a crear la nueva subred.

API

Realiza una solicitud POST al método subnetworks.insert.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks
{
  "network": "NETWORK_URL",
  "name": "SUBNET"
  "stackType": IPV6_ONLY,
  "ipv6AccessType": IPv6_ACCESS_TYPE
}

Haz los cambios siguientes:

  • PROJECT_ID: el ID del proyecto que contiene la red VPC que se va a modificar.
  • REGION: el nombre de la Google Cloud región en la que se añade la subred.
  • NETWORK_URL: URL de la red de VPC en la que vas a añadir la subred.
  • SUBNET: nombre de la subred.
  • IPv6_ACCESS_TYPE: el tipo de acceso IPv6. El tipo de acceso puede ser EXTERNAL o INTERNAL.

Crear una instancia solo con IPv6

Consola

  1. Ve a la página Crear una instancia.

    Ir a Crear una instancia

  2. Escribe un nombre para la instancia.

  3. Selecciona una región que contenga las subredes con los intervalos de IPv6 configurados.

  4. Opcional: Cambia la zona de esta instancia. Si seleccionas Cualquiera, Google elegirá automáticamente una zona en función del tipo de máquina y la disponibilidad.

  5. Expande la sección Opciones avanzadas.

  6. Despliega Redes y haz lo siguiente:

    1. En la sección Interfaces de red, haz clic en el nombre de la interfaz de red para editar su configuración.

    2. En Red y Subred, selecciona la red y la subred que quieras usar.

      Selecciona una subred solo IPv6. El tipo de acceso IPv6 de la subred determina si la instancia recibe una dirección IPv6 interna o una externa.

    3. En Tipo de pila de IP, selecciona IPv6 (pila única).

    4. Para la dirección IPv6 de la interfaz, haga lo siguiente en función del tipo de acceso de la subred conectada:

      1. En Dirección IPv6 interna principal, seleccione una de las siguientes opciones:
        • Efímera (automática) para asignar automáticamente una nueva dirección IPv6 interna efímera
        • Efímera (personalizada) para especificar manualmente una nueva dirección IPv6 interna efímera
        • Una dirección IPv6 interna estática reservada de la lista
        • Reservar dirección IPv6 interna estática para reservar y asignar una nueva dirección IPv6 interna estática
      2. En Dirección IPv6 externa, selecciona una de las siguientes opciones:
        • Efímera (automática) para asignar automáticamente una nueva dirección IPv6 externa efímera
        • Efímera (personalizada) para especificar manualmente una nueva dirección IPv6 externa efímera
        • Una dirección IPv6 externa estática reservada de la lista
        • Reservar dirección IPv6 externa estática para reservar y asignar una nueva dirección IPv6 externa estática
    5. Para terminar de modificar la interfaz de red, haz clic en Hecho.

  7. Continúa con el proceso de creación de la instancia.

  8. Haz clic en Crear.

gcloud

Crea una instancia con el comando gcloud compute instances create.

gcloud compute instances create INSTANCE_NAME \
    --zone ZONE \
    --network-interface=network=NETWORK,subnet=SUBNET,stack-type=IPV6_ONLY

Haz los cambios siguientes:

  • INSTANCE_NAME: un nombre para la instancia.
  • ZONE: la zona en la que se crea la instancia, como europe-west1-b. La región de la instancia se deduce de la zona.
  • NETWORK: nombre de la red en la que se va a crear la instancia.
  • SUBNET: nombre de la subred en la que se va a crear la instancia.

API

Usa el método instances.insert para crear una instancia.

  POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
  {
     "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE",
     "name": "NAME",
     "disks": [
       {
         "initializeParams": {
           "sourceImage":"projects/IMAGE_PROJECT/global/images/IMAGE"
         },
         "boot": true
       }
     ],
     "networkInterfaces": [
       {
         "subnetwork": "regions/REGION/subnetworks/SUBNET",
         "stackType": "IPV6_ONLY"
       }
     ]
   }
   

Haz los cambios siguientes:

  • PROJECT_ID: el ID del proyecto que contiene la instancia.
  • ZONE: la zona que contiene la instancia.
  • MACHINE_TYPE_ZONE: zona que contiene el tipo de máquina que se va a usar en la nueva instancia.
  • MACHINE_TYPE: tipo de máquina, predefinido o personalizado, de la nueva instancia. Por ejemplo, c3-standard-4.
  • NAME: el nombre de la instancia.
  • IMAGE_PROJECT: opcional: el proyecto de imagen que contiene la imagen.
  • IMAGE: Opcional: especifica una de las siguientes opciones:
    • Una versión específica de la imagen del SO, por ejemplo, debian-12-bookworm-v20241009.
    • Una familia de imágenes, que debe tener el formato family/IMAGE_FAMILY. De este modo, se crea la instancia a partir de la imagen de SO más reciente que no esté obsoleta. Por ejemplo, si especificas family/debian-12, Compute Engine crea una instancia con la versión más reciente de la imagen del SO de la familia de imágenes de Debian 12. Para obtener más información sobre cómo usar familias de imágenes, consulte las prácticas recomendadas para familias de imágenes.
  • REGION: la región que contiene la instancia.
  • SUBNET: la subred en la que se encuentra la interfaz de red.

Configurar DNS64 y NAT64

En esta sección se describe cómo configurar DNS64 y NAT64, lo que le permite acceder a destinos IPv4 desde instancias solo IPv6.

Crear una política de servidor DNS64

Crea y configura una política de servidor DNS64 para que Cloud DNS proporcione una dirección IPv6 sintetizada para cada destino IPv4.

Para obtener más información sobre cómo crear y gestionar políticas de servidor DNS64, consulta Configurar DNS64.

Para crear una política de servidor DNS64, sigue estos pasos:

Consola

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

    Ir a Cloud DNS

  2. En la pestaña Políticas de servidor DNS, haz clic en Crear política.

  3. En el campo Nombre, introduce el nombre de la política.

  4. Opcional: En el campo Descripción, escribe una descripción de la política.

  5. En DNS64, selecciona Activado para habilitar DNS64.

  6. En el campo Redes, selecciona la red de VPC en la que quieras crear la política. Selecciona la red que contiene las subredes e instancias solo IPv6.

gcloud

Para crear una política de servidor DNS64, ejecuta el comando gcloud dns policies create:

gcloud dns policies create NAME \
    --description=DESCRIPTION \
    --networks=VPC_NETWORK_LIST \
    --enable-dns64-all-queries

Haz los cambios siguientes:

  • NAME: un nombre para la política.
  • DESCRIPTION: una descripción de la política.
  • VPC_NETWORK_LIST: lista delimitada por comas de redes de VPC a las que se vincula la política del servidor DNS. Especifica la red que contiene las subredes e instancias solo IPv6.

API

Para crear una política de servidor DNS64, usa el método policies.create:

POST https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/policies
{
  "kind": "dns#policy",
  "networks": [
    {
      "kind": "dns#policyNetwork",
      "networkUrl": "NETWORK_URL"
    }
  ],
  "dns64Config":
    {
        "scope":
        {
          allQueries: true,
        }
    }
  }

Haz los cambios siguientes:

  • PROJECT_ID: tu ID de proyecto.
  • NETWORK_URL: la URL completa de la red VPC a la que debe enlazarse tu política de servidor DNS, con el siguiente formato: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/VPC_NETWORK_NAME. Especifica la red que contiene las subredes e instancias solo IPv6.

Crear una pasarela de Cloud NAT para habilitar NAT64

Configura NAT público creando una pasarela de Cloud NAT en tu red y región de VPC que contenga subredes e instancias solo IPv6.

Para obtener más información sobre cómo crear y gestionar pasarelas Cloud NAT, consulta el artículo Configurar y gestionar la traducción de direcciones de red con NAT público.

Para crear una pasarela Cloud NAT para NAT64, siga estos pasos.

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. En el campo Nombre de la pasarela, introduce un nombre para la pasarela.

  4. En Tipo de NAT, selecciona Público.

  5. En la sección Select Cloud Router (Seleccionar router de Cloud), configure lo siguiente:

    1. En el campo Red, selecciona la red de VPC en la que quieras crear la pasarela.
    2. En el campo Región, define la región de la pasarela.
    3. En el campo Cloud Router, selecciona o crea un router de Cloud Router en la región.
  6. En la sección Asignación de Cloud NAT, en Tipo de endpoint de origen, comprueba que esté seleccionada la opción Instancias de VM, nodos de GKE y sin servidor.

  7. En el campo Versión de IP de origen, selecciona Intervalos de subred IPv6 y, a continuación, configura los intervalos de subred IPv6 de origen que quieras usar con Cloud NAT.

    • Para usar Cloud NAT en intervalos de IP internos y externos de todas las subredes de la región, selecciona Todas las subredes.
    • Para restringir las subredes que pueden usar Cloud NAT, selecciona Personalizado y haz lo siguiente:
      1. En la sección Subredes, selecciona una subred.
      2. Opcional: Si quieres especificar más subredes, haz clic en Añadir subred y añade otra subred.
  8. Configure las opciones adicionales de su pasarela de Cloud NAT. Para obtener más información, consulta el artículo Crear una pasarela Cloud NAT de la documentación de Cloud NAT.

  9. Haz clic en Crear.

gcloud

En esta sección se describe cómo crear una pasarela Cloud NAT con todas sus opciones de configuración definidas con sus valores predeterminados. Para obtener más información sobre cómo personalizar la configuración de tu pasarela, consulta Personalizar los ajustes de configuración de una pasarela Cloud NAT.

Para crear una pasarela Cloud NAT, usa el comando gcloud compute routers nats create.

  1. Crea un router de Cloud Router en la región en la que quieras usar la pasarela Cloud NAT. Necesitas este router de Cloud para crear tu pasarela de Cloud NAT.

  2. Configura Cloud NAT para intervalos de subred de origen IPv6.

    La siguiente configuración habilita NAT para todos los intervalos de subredes IPv6 de la región, tanto en subredes solo IPv6 como de pila dual. También puedes configurar NAT para subredes específicas mediante la marca --nat64-custom-v6-subnet-ip-ranges.

    gcloud compute routers nats create NAT_CONFIG \
        --router=NAT_ROUTER \
        --region=REGION \
        --auto-allocate-nat-external-ips \
        --nat64-all-v6-subnet-ip-ranges
    

    Haz los cambios siguientes:

    • NAT_CONFIG: un nombre para la configuración de NAT.
    • NAT_ROUTER: el nombre de Cloud Router que has creado en el paso anterior.
    • REGION: la región en la que quieres usar la pasarela de Cloud NAT.

API

Para crear un router de Cloud y una pasarela Cloud NAT mediante la API, usa el método routers.insert y define el campo nats[].

En esta sección se describe cómo crear una pasarela Cloud NAT con todas sus opciones de configuración definidas con sus valores predeterminados. Para obtener más información sobre cómo personalizar la configuración de tu pasarela, consulta Crear una pasarela Cloud NAT.

Para obtener más información sobre cómo crear un Cloud Router, consulta el artículo Crear un Cloud Router para conectar una red de VPC a una red peer.

La siguiente configuración habilita NAT para todos los intervalos de subred IPv6 de la región. También puedes configurar NAT para subredes específicas. Para ello, define sourceSubnetworkIpRangesToNat64 como LIST_OF_IPV6_SUBNETWORKS y especifica las subredes en el campo nats[].nat64Subnetworks[].

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers
{
  "name": "ROUTER_NAME",
  "network": "NETWORK",
  "bgp": {
    "asn": "ASN_NUMBER"
  },
  "nats": [
    {
      "name": NAT_CONFIG,
      "sourceSubnetworkIpRangesToNat64": ALL_IPV6_SUBNETWORKS,
      "natIpAllocateOption": AUTO_ONLY
    }
  ]
}

Haz los cambios siguientes:

  • PROJECT_ID: el ID del proyecto que contiene la red de VPC.
  • REGION: la región en la que quieres ubicar Cloud Router y la pasarela de Cloud NAT.
  • ROUTER_NAME: el nombre de Cloud Router. Este nombre se muestra en la Google Cloud consola y lo usa Google Cloud CLI para hacer referencia a Cloud Router.
  • NETWORK: la red de VPC en la que se van a crear Cloud Router y la pasarela de Cloud NAT.
  • ASN_NUMBER: el ASN privado (64512-65534, 4200000000-4294967294) del router de Cloud que estás configurando. Este ASN puede ser cualquier ASN privado que no estés usando como ASN de par en la misma región y red. Por ejemplo, el router de Cloud 65001 requiere que uses un ASN privado, pero tu ASN local puede ser público o privado.
  • NAT_CONFIG: un nombre para la configuración de NAT.

Siguientes pasos