Configurar sub-redes e instâncias somente IPv6 com DNS64 e NAT64

Nesta página, descrevemos como criar sub-redes e instâncias somente IPv6 e, em seguida, configurar o DNS64 e o NAT64 para que você possa acessar destinos IPv4 das suas instâncias somente IPv6.

Para ter uma visão geral da conectividade IPv6 para IPv4 em Google Cloud, consulte DNS64 e NAT64 para conectividade 6to4.

Antes de começar

As instruções nesta página exigem que você tenha uma rede de nuvem privada virtual (VPC) de modo personalizado para criar sub-redes com intervalos de endereços IPv6. Para mais informações, consulte Criar uma rede VPC de modo personalizado com sub-redes somente IPv6.

Se você quiser criar uma rede VPC que ofereça suporte a sub-redes com endereços IPv6 internos, configure um intervalo IPv6 interno de ULA ao criar a rede. Se você já tiver uma rede, atribua um intervalo IPv6 interno a ela.

Criar sub-redes e instâncias somente IPv6

Esta seção descreve como criar sub-redes e instâncias somente IPv6. Se você já tiver sub-redes e instâncias somente IPv6, siga para Configurar DNS64 e NAT64.

Criar uma sub-rede somente IPv6

É possível criar uma sub-rede somente IPv6 com endereços IPv6 externos ou internos ativados.

Para criar uma sub-rede somente IPv6, faça o seguinte.

Console

  1. No console Google Cloud , acesse a página Redes VPC.

    Acessar redes VPC

  2. Para acessar a página Detalhes da rede VPC, clique no nome de uma rede VPC.

  3. Na guia Sub-redes, clique em Adicionar sub-rede. No painel que aparecerá, faça o seguinte:

    1. Forneça um Nome.
    2. Selecione uma região.
    3. Em Tipo de pilha de IP, selecione IPv6 (pilha única).
    4. Selecione um tipo de acesso IPv6: Interno ou Externo.

      Se você quiser definir o tipo de acesso como Interno, mas a opção Interno não estiver disponível, verifique se um intervalo de IPv6 interno foi atribuído na rede.

    5. Clique em Adicionar.

gcloud

Use o 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

Substitua:

  • SUBNET: um nome para a nova sub-rede.
  • NETWORK: o nome da rede VPC que vai conter a nova sub-rede.
  • IPv6_ACCESS_TYPE: o tipo de acesso IPv6. O tipo de acesso pode ser EXTERNAL ou INTERNAL.
  • REGION: a região Google Cloud em que a nova sub-rede será criada.

API

Faça uma solicitação POST ao 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
}

Substitua:

  • PROJECT_ID: o ID do projeto que contém a rede VPC a ser modificada.
  • REGION: o nome da região Google Cloud em que a sub-rede foi adicionada.
  • NETWORK_URL: o URL da rede VPC em que você está adicionando a sub-rede.
  • SUBNET: um nome para a sub-rede.
  • IPv6_ACCESS_TYPE: o tipo de acesso IPv6. O tipo de acesso pode ser EXTERNAL ou INTERNAL.

Criar uma instância somente IPv6

Console

  1. Acesse a página Criar uma instância.

    Acesse "Criar uma instância"

  2. Digite um nome para a instância.

  3. Selecione uma região que contenha as sub-redes com os intervalos IPv6 configurados.

  4. Opcional: mude a zona desta instância. Se você selecionar Qualquer uma, o Google vai escolher automaticamente uma zona com base no tipo de máquina e na disponibilidade.

  5. Expanda a seção Opções avançadas.

  6. Expanda Rede e faça o seguinte:

    1. Na seção Interfaces de rede, clique no nome da interface de rede para editar as configurações dela.

    2. Em Rede e Sub-rede, selecione a rede e a sub-rede que você quer usar.

      Selecione uma sub-rede somente IPv6. O tipo de acesso IPv6 da sub-rede determina se a instância recebe um endereço IPv6 interno ou externo.

    3. Em Tipo de pilha de IP, selecione IPv6 (pilha única).

    4. Para o endereço IPv6 da interface, faça o seguinte, dependendo do tipo de acesso da sub-rede conectada:

      1. Em Endereço IPv6 interno principal, selecione uma das seguintes opções:
        • Temporário (automático) para atribuir um novo endereço IPv6 interno temporário
        • Temporário (personalizado) para especificar manualmente um novo endereço IPv6 interno temporário
        • Um endereço IPv6 interno estático reservado da lista
        • Reservar endereço IPv6 interno estático para reservar e atribuir um novo endereço IPv6 interno estático
      2. Em Endereço IPv6 externo, selecione uma das seguintes opções:
        • Alocação automática para atribuir um novo endereço IPv6 externo temporário
        • Um endereço IPv6 externo estático reservado da lista
        • Reservar um endereço IPv6 externo estático para reservar e atribuir um novo endereço IPv6 externo estático
    5. Para concluir a modificação da interface de rede, clique em Concluído.

  7. Continue com o processo de criação de instâncias.

  8. Clique em Criar.

gcloud

Crie uma instância usando o comando gcloud compute instances create.

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

Substitua:

  • INSTANCE_NAME: um nome para a instância.
  • ZONE: a zona em que a instância é criada, como europe-west1-b. A região da instância é inferida da zona.
  • NETWORK: nome da rede em que a instância será criada.
  • SUBNET: nome da sub-rede em que a instância será criada.

API

Use o método instances.insert para criar uma instância.

  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"
       }
     ]
   }
   

Substitua:

  • PROJECT_ID: o ID do projeto que contém a instância.
  • ZONE: é a zona que contém a instância.
  • MACHINE_TYPE_ZONE: zona que contém o tipo de máquina a ser usado para a nova instância.
  • MACHINE_TYPE: tipo de máquina, predefinido ou personalizado, para a nova instância. Por exemplo, c3-standard-4.
  • NAME: o nome da instância.
  • IMAGE_PROJECT (opcional): o projeto de imagem que contém a imagem.
  • IMAGE: opcional: especifique uma destas opções:
    • Uma versão específica da imagem do SO. Por exemplo: debian-12-bookworm-v20241009
    • Uma família de imagens, que precisa ser formatada como family/IMAGE_FAMILY. Isso cria a instância com a imagem do SO mais recente e não obsoleta. Por exemplo, se você especificar family/debian-12, o Compute Engine vai criar uma instância usando a versão mais recente da imagem do SO na família de imagens Debian 12. Para mais informações sobre o uso de famílias de imagens, consulte Práticas recomendadas para famílias de imagens.
  • REGION: a região que contém a instância.
  • SUBNET: a sub-rede em que a interface de rede está localizado.

Configurar DNS64 e NAT64

Esta seção descreve como configurar o DNS64 e o NAT64, que permitem acessar destinos IPv4 de instâncias somente IPv6.

Criar uma política de servidor DNS64

Crie e configure uma política de servidor DNS64 para que o Cloud DNS forneça um endereço IPv6 sintetizado para cada destino IPv4.

Para mais informações sobre como criar e gerenciar políticas de servidor DNS64, consulte Configurar DNS64.

Para criar uma política de servidor DNS64, faça o seguinte:

Console

  1. No Google Cloud console, acesse a página Cloud DNS.

    Acessar Cloud DNS

  2. Na guia Políticas de servidor DNS, clique em Criar política.

  3. No campo Nome, insira um nome para a política.

  4. Opcional: no campo Descrição, insira uma descrição para a política.

  5. Em DNS64, selecione Ativado para ativar o DNS64.

  6. No campo Redes, selecione a rede VPC em que você quer criar a política. Selecione a rede que contém as sub-redes e instâncias somente IPv6.

gcloud

Para criar uma política de servidor DNS64, execute o comando gcloud dns policies create:

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

Substitua:

  • NAME: um nome para a política.
  • DESCRIPTION: uma descrição da política.
  • VPC_NETWORK_LIST: uma lista delimitada por vírgulas de redes VPC a que a política de servidor DNS se vincula. Especifique a rede que contém as sub-redes e instâncias somente IPv6.

API

Para criar uma política de servidor DNS64, use o método policies.create:

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

Substitua:

  • PROJECT_ID: o ID do projeto.
  • NETWORK_URL: o URL totalmente qualificado da rede VPC a que sua política de servidor DNS precisa se vincular, formatado da seguinte maneira: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/VPC_NETWORK_NAME. Especifique a rede que contém as sub-redes e instâncias somente IPv6.

Criar um gateway do Cloud NAT para ativar o NAT64

Configure o NAT público criando um gateway do Cloud NAT na rede e região VPC que contêm sub-redes e instâncias somente IPv6.

Para mais informações sobre como criar e gerenciar gateways do Cloud NAT, consulte Configurar e gerenciar a conversão de endereços de rede com o Public NAT.

Para criar um gateway do Cloud NAT para NAT64, faça o seguinte.

Console

  1. No console Google Cloud , acesse a página do Cloud NAT.

    Acesse o Cloud NAT

  2. Clique em Começar ou Criar gateway do Cloud NAT.

  3. No campo Nome do gateway, insira um nome para o gateway.

  4. Em Tipo de NAT, selecione Public.

  5. Na seção Selecionar o Cloud Router, configure o seguinte:

    1. No campo Rede, selecione a rede VPC em que você quer criar o gateway.
    2. No campo Região, defina a região para o gateway.
    3. No campo Cloud Router, selecione ou crie um Cloud Router na região.
  6. Na seção Mapeamento do Cloud NAT, em Tipo de endpoint de origem, verifique se a opção Instâncias de VM, nós do GKE, sem servidor está selecionada.

  7. No campo Versão IP de origem, selecione Intervalos de sub-rede IPv6 e configure os intervalos de sub-rede IPv6 de origem que você quer usar com o Cloud NAT.

    • Para usar o Cloud NAT em intervalos de IP internos e externos para todas as sub-redes da região, selecione Todas as sub-redes.
    • Para restringir quais sub-redes podem usar o Cloud NAT, selecione Personalizado e faça o seguinte:
      1. Na seção Sub-redes, selecione uma sub-rede.
      2. Opcional: se você quiser especificar mais sub-redes, clique em Adicionar sub-rede e adicione outra sub-rede.
  8. Configure outras opções para o gateway do Cloud NAT. Para mais informações, consulte Criar um gateway do Cloud NAT na documentação do Cloud NAT.

  9. Clique em Criar.

gcloud

Esta seção descreve como criar um gateway do Cloud NAT com todas as opções de configuração definidas como valores padrão. Para mais informações sobre como personalizar a configuração do gateway, consulte Personalizar as configurações de configuração de um gateway do Cloud NAT.

Para criar um gateway do Cloud NAT, use o comando gcloud compute routers nats create.

  1. Crie um Cloud Router na região em que você quer usar o gateway do Cloud NAT. Você precisa desse Cloud Router para criar o gateway do Cloud NAT.

  2. Configure o Cloud NAT para intervalos de sub-rede de origem IPv6 (Prévia).

    A configuração a seguir ativa o NAT para todos os intervalos de sub-rede IPv6 na região, em sub-redes somente IPv6 e de pilha dupla. Também é possível configurar o NAT para sub-redes específicas usando a flag --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
    

    Substitua:

    • NAT_CONFIG: um nome para sua configuração NAT.
    • NAT_ROUTER: o nome do Cloud Router que você criou na etapa anterior.
    • REGION: a região em que você quer usar o gateway do Cloud NAT.

API

Para criar um Cloud Router e um gateway do Cloud NAT usando a API, use o método routers.insert e defina o campo nats[].

Esta seção descreve como criar um gateway do Cloud NAT com todas as opções de configuração definidas como valores padrão. Para mais informações sobre como personalizar a configuração do gateway, consulte Criar um gateway do Cloud NAT.

Para mais informações sobre como criar um Cloud Router, consulte Criar um Cloud Router para conectar uma rede VPC a uma rede com peering.

A configuração a seguir ativa o NAT para todos os intervalos de sub-rede IPv6 na região. Como alternativa, é possível configurar o NAT para sub-redes específicas definindo sourceSubnetworkIpRangesToNat64 como LIST_OF_IPV6_SUBNETWORKS e especificando as sub-redes no 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
    }
  ]
}

Substitua:

  • PROJECT_ID é o ID do projeto que contém a rede VPC.
  • REGION: a região em que você quer localizar o Cloud Router e o gateway do Cloud NAT.
  • ROUTER_NAME: o nome do Cloud Router. Esse nome é exibido no console Google Cloud e é usado pela Google Cloud CLI para fazer referência ao Cloud Router.
  • NETWORK: a rede VPC em que criar o Cloud Router e o gateway do Cloud NAT.
  • ASN_NUMBER: o ASN privado (64512-65534, 4200000000-4294967294) do Cloud Router que você está configurando. Ele pode ser qualquer ASN particular que você ainda não esteja usando como um ASN de mesmo nível na mesma região e rede. Por exemplo, o Cloud Router 65001 exige que você use um ASN particular, mas seu ASN local pode ser público ou privado.
  • NAT_CONFIG: um nome para sua configuração NAT.

A seguir