Configurar e gerenciar a conversão de endereços de rede com o Public NAT

Esta página descreve como configurar e gerenciar a conversão de endereços de rede (NAT) usando o Public NAT. Antes de configurar o Public NAT, consulte a Visão geral do Public NAT.

Limitações

  • Se você alterar o nível de rede dos endereços IP alocados automaticamente para um gateway do Cloud NAT, todas as conexões nos endereços IP antigos serão encerradas imediatamente.

  • Se você usar a alocação de endereços IP NAT manual e alterar os endereços IP usados para o Cloud NAT, todas as conexões nos endereços IP antigos serão encerradas imediatamente. Para evitar isso, consulte Drenar endereços IP externos associados ao NAT.

  • Se você configurar um gateway do Cloud NAT com alocação de porta estática e reduzir o número mínimo de portas por instância de máquina virtual (VM), as conexões NAT estabelecidas poderão ser interrompidas. Para mais informações, consulte Como reduzir portas por VM.

  • Se você configurar um gateway do Cloud NAT com alocação de porta dinâmica e fizer outras alterações de configuração, as conexões NAT estabelecidas poderão ser interrompidas. Quando a configuração é alterada, o número de portas atualmente alocadas para cada VM pode ser temporariamente redefinido para o número mínimo configurado. Para mais informações, consulte Como reduzir portas por VM.

  • Se você configurar um gateway do Cloud NAT com alocação de porta dinâmica e desativar a alocação de porta dinâmica, todas as conexões de VM que usam o gateway de NAT serão fechadas. Para mais informações, consulte Mudar o método de alocação de portas.

  • Se o mapeamento independente de endpoint estiver ativado, não será possível configurar a alocação de portas dinâmicas ou as regras NAT.

  • O Cloud NAT não é compatível com fragmentos de IP.

  • Uma configuração do Cloud NAT está vinculada a uma rede de nuvem privada virtual (VPC). Portanto, a configuração se aplica a todos os recursos que pertencem às subredes dessa rede. Não é possível escolher VMs específicas para serem atendidas por um gateway do Cloud NAT.

  • O Cloud NAT oferece suporte à tradução de IPv6 para IPv4 (Pré-lançamento) para instâncias de VM do Compute Engine. Se você quiser configurar ou gerenciar essa opção usando a CLI do Google Cloud, use a versão Beta dos comandos gcloud compute routers nats: gcloud beta compute routers nats para os seguintes casos:

    • Para criar e gerenciar um gateway do Cloud NAT que converte IPv6 em IPv4
    • Para criar e gerenciar um gateway do Cloud NAT que usa o mesmo Cloud Router do gateway que converte IPv6 em IPv4

    Para atualizar o Cloud Router, use o comando gcloud beta compute routers update.

  • Se você quiser configurar a tradução de IPv4 para IPv4 e de IPv6 para IPv4 para uma sub-rede de pilha dupla no Cloud NAT, use o mesmo Cloud Router para os dois tipos de tradução.

  • O Cloud NAT oferece suporte à tradução de IPv6 para IPv4 (Pré-lançamento) apenas para as seguintes instâncias de VM:

    • Todas as instâncias de VM de segunda geração ou anteriores
    • Instâncias de VM M3

    Para mais informações, consulte a terminologia do Compute Engine.

Antes de começar

Conclua as seguintes tarefas antes de configurar o Public NAT.

Acessar permissões do IAM

O papel de administrador de rede do Compute (roles/compute.networkAdmin) inclui as permissões necessárias para configurar o NAT público.

Preparar o ambiente

Dependendo se você quer usar o console do Google Cloud ou a CLI gcloud para configurar o NAT público, configure os recursos a seguir em Google Cloud.

Console

  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.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Compute Engine API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Compute Engine API.

    Enable the API

gcloud

  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. Install the Google Cloud CLI.
  3. To initialize the gcloud CLI, run the following command:

    gcloud init
  4. Create or select a Google Cloud project.

    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  5. Make sure that billing is enabled for your Google Cloud project.

  6. Enable the Compute Engine API:

    gcloud services enable compute.googleapis.com
  7. Install the Google Cloud CLI.
  8. To initialize the gcloud CLI, run the following command:

    gcloud init
  9. Create or select a Google Cloud project.

    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  10. Make sure that billing is enabled for your Google Cloud project.

  11. Enable the Compute Engine API:

    gcloud services enable compute.googleapis.com

Configurar o DNS64

Para instâncias de VM do Compute Engine, o NAT público oferece suporte à tradução de IPv6 para IPv4 ou NAT64. É necessário configurar o DNS64 se você quiser usar o NAT64. Para configurar o DNS64 no Cloud DNS, siga as instruções em Configurar o DNS64.

Configurar o Public NAT

Para configurar o NAT público, crie um gateway do Cloud NAT na rede VPC de origem. Cada gateway está associado a uma única rede VPC, região e Cloud Router. Ao criar um gateway do Cloud NAT, é possível definir as seguintes configurações.

Configuração Opções compatíveis Descrição
Tipo de endpoint de origem
  • Instâncias de VM, nós do GKE, sem servidor
  • Balanceadores de carga de proxy gerenciados

Por padrão, o NAT público fornece serviços NAT para instâncias de VM, nós do GKE e tráfego sem servidor. Para criar um gateway NAT do Cloud para esses recursos, siga as etapas na seção a seguir.

Para criar um gateway do Cloud NAT para um grupo de endpoints de rede de Internet regional (NEG, na sigla em inglês), consulte "Configurar um gateway do Cloud NAT" para:

Para conferir uma lista completa de Google Cloud recursos compatíveis com o Cloud NAT, consulte Visão geral do Cloud NAT.

Versão do IP de origem
  • Intervalos de sub-rede IPv4
  • Intervalos de sub-rede IPv6
  • Intervalos de sub-rede IPv4 e IPv6
O NAT público oferece suporte à tradução de IPv4 para IPv4 (padrão) e de IPv6 para IPv4 (Pré-lançamento). Se você quiser configurar o NAT64, também precisará configurar o DNS64.
  • Se você configurar intervalos de sub-rede IPv4, as instâncias de VM somente IPv4 e de pilha dupla (usando os endereços IPv4) em sub-redes somente IPv4 e de pilha dupla poderão se comunicar com destinos IPv4 na Internet.
  • Se você configurar intervalos de sub-rede IPv6 (Visualização), as instâncias de VM somente IPv6 em sub-redes somente IPv6 e de pilha dupla poderão se comunicar com destinos IPv4 na Internet.
  • Se você configurar intervalos de sub-rede IPv4 e IPv6 (Pré-lançamento), o seguinte será válido:
    • As instâncias de VM somente IPv4 e as de pilha dupla (que usam endereços IPv4) podem se comunicar com destinos IPv4 na Internet.
    • As instâncias de VM de pilha dupla não podem usar os endereços IPv6 para se comunicar com destinos IPv4 na Internet.
    • As instâncias de VM somente IPv6 podem se comunicar com destinos IPv4 na Internet.
Sub-redes de origem

Para o tráfego IPv4:

  • Intervalos principais e secundários de todas as sub-redes
  • Intervalos principais de todas as sub-redes
  • Personalizado

Para o tráfego IPv6:

  • Todas as sub-redes
  • Personalizado

A NAT pública oferece suporte aos seguintes intervalos de sub-redes na região para a rede VPC especificada:

  • Para o tráfego IPv4: intervalos principais e secundários. É possível restringir quais sub-redes e intervalos de sub-rede podem usar NAT.
  • Para o tráfego IPv6: intervalos internos e externos. É possível restringir quais sub-redes podem usar NAT.
Alocação de endereço IP
  • Automático (recomendado)
  • Manual

Por padrão, o Public NAT usa a alocação automática de endereços IP NAT. Essa configuração aloca automaticamente os endereços IP externos necessários para fornecer serviços NAT a uma região. As instâncias de VM sem endereços IP externos em qualquer sub-rede da região recebem acesso à Internet por NAT. Quando você usa a alocação automática de endereços IP de NAT, Google Cloud reserva endereços IP no seu projeto. Esses endereços são contabilizados em suas cotas de endereços IP estáticos no projeto.

É possível alocar endereços IP NAT manualmente para um gateway do Cloud NAT. Se você escolher a alocação manual, aloque endereços IP suficientes para evitar pacotes descartados.

Para mais informações, consulte Endereços IP NAT públicos.

Nível da rede
  • Premium
  • Padrão
O NAT público permite especificar os Níveis de serviço de rede em que o gateway do Cloud NAT aloca endereços IP externos. Por padrão, o nível da rede é definido como o nível atual do projeto.
  • Ao criar um gateway do Cloud NAT com alocação automática de endereços IP NAT, é possível atribuir endereços IP NAT do nível Premium ou Standard.
  • Ao criar um gateway do Cloud NAT com a alocação manual de endereços IP NAT, é possível atribuir manualmente endereços IP NAT do nível Premium, Padrão ou ambos, sujeitos a determinadas condições.
Configurações avançadas
  • Alocação de porta dinâmica
  • Mapeamento independente de endpoint
  • Logging
  • Tempo limite de NAT

Por padrão, o Public NAT usa a alocação de porta estática, o que significa que cada VM recebe o mesmo número de portas. É possível configurar a alocação dinâmica de portas com a alocação de endereços IP NAT automática ou manual. O uso da alocação de portas dinâmicas permite que o gateway do Cloud NAT aloque diferentes números de portas para cada VM com base no uso. Não é possível ativar o Mapeamento independente de endpoint se o gateway do Cloud NAT usar regras NAT ou a alocação de porta dinâmica.

A geração de registros fica desativada por padrão. Para informações sobre os tempos limite de NAT e os valores padrão, consulte Tempos limite de NAT.

Criar um gateway NAT do Cloud

Console

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

    Acesse o Cloud NAT

  2. Clique em Primeiros passos ou Criar gateway 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. Configure as Sub-redes de origem selecionando uma das seguintes opções:

    • Para usar o Cloud NAT em todos os intervalos de IP primário e secundário de todas as sub-redes na região, selecione Intervalos de IP primário e secundário para todas as sub-redes.
    • Para usar o Cloud NAT apenas para intervalos IP principais, selecione Intervalos IP principais para todas as sub-redes.
    • Para restringir quais intervalos de IP de sub-rede podem usar o Cloud NAT, selecione Personalizado e faça o seguinte:
      1. Na seção Sub-redes, selecione uma sub-rede.
      2. Na lista Intervalos de IP, selecione os intervalos de IP da sub-rede a serem incluídos e clique em OK.
      3. Se você quiser especificar mais intervalos, clique em Adicionar sub-rede e intervalo de IP e adicione outra sub-rede.
  8. Configure o tipo de alocação de endereço IP NAT e o nível de rede selecionando uma das seguintes opções:

    • Para usar a alocação automática de endereços IP NAT, faça o seguinte:
      1. Na lista Endereços IP do Cloud NAT, selecione Automático (recomendado).
      2. Em Nível de serviço de rede, escolha Premium ou Padrão.
    • Para usar a alocação manual de endereços IP NAT, faça o seguinte:

      1. Na lista Endereços IP do Cloud NAT, selecione Manual.
      2. Em Nível de serviço de rede, escolha Premium ou Padrão.
      3. Selecione ou crie um endereço IP externo estático reservado para usar para NAT.

      4. Opcional: se você quiser especificar endereços IP adicionais, clique em Adicionar endereço IP e selecione ou crie um endereço IP externo estático reservado adicional.

      5. Opcional: se você quiser criar regras NAT personalizadas, configure a seção Regras do Cloud NAT. Para ver instruções, consulte Criar regras NAT.

  9. Opcional: ajuste qualquer uma das seguintes configurações na seção Configurações avançadas:

    • Se a geração de registros será configurada. Por padrão, a opção Nenhum registro é selecionada.
    • Se você quer mudar a forma como o Cloud NAT aloca portas. Por padrão, a opção Ativar alocação de porta dinâmica está desmarcada. Para a alocação de porta estática, o campo Portas mínimas por instância de VM é definido como 64.
      • Para atualizar o número mínimo de portas por instância de VM para alocação de porta estática, especifique um valor no campo Portas mínimas por instância de VM. Esse valor pode ser definido de 2 a 57344.
      • Para configurar a alocação de porta dinâmica, selecione Ativar a alocação de porta dinâmica e selecione um valor para o campo Mínimo de portas por instância de VM (padrão é 32) e Máximo de portas por instância de VM (padrão é 65536).
    • Define se os tempos limite de NAT serão atualizados para conexões de protocolo. Para informações sobre esses tempos limite e os valores padrão deles, consulte Tempos limite de NAT.
  10. Clique em Criar.

gcloud

Para criar um gateway do Cloud NAT, use o comando gcloud compute routers nats create. É possível criar um gateway do Cloud NAT com todas as opções de configuração definidas como valores padrão ou personalizar a configuração do gateway.

Criar um gateway do Cloud NAT com configurações padrão

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

  2. Crie o gateway do Cloud NAT executando um dos comandos abaixo, dependendo da versão IP dos intervalos de sub-rede de origem para os quais você está configurando o NAT.

    • Configure o Cloud NAT para intervalos de sub-redes de origem IPv4 em sub-redes somente IPv4 e de pilha dupla:

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

      Essa configuração ativa o NAT para todos os intervalos de sub-redes IPv4 na região.

    • Configure o Cloud NAT para intervalos de sub-redes de origem IPv6 em sub-redes somente IPv6 e de pilha dupla (Pré-lançamento):

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

      Essa configuração ativa o NAT para todos os intervalos de sub-redes IPv6 na região.

    • Configure o NAT do Cloud para intervalos de sub-redes de origem IPv4 e IPv6 em sub-redes somente IPv4, de pilha dupla e somente IPv6 (Pré-lançamento):

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

      Essa configuração ativa o NAT para todos os intervalos de sub-rede IPv4 e IPv6 na região.

    Substitua:

    • NAT_CONFIG: um nome para a 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.

Personalizar as configurações de um gateway do Cloud NAT

Ao criar um gateway do Cloud NAT, é possível personalizar a configuração padrão. Para conferir uma lista completa de flags que podem ser usadas, consulte o comando gcloud compute routers nats create se você estiver criando o gateway para intervalos de sub-redes IPv4 e o comando gcloud beta compute routers nats create se você estiver criando o gateway para intervalos de sub-redes IPv6 ou para ambos os intervalos de sub-redes IPv4 e IPv6 (pré-lançamento).

Crie um gateway do Cloud NAT para intervalos de sub-redes IPv6 somente se você estiver configurando o NAT64 para instâncias de VM do Compute Engine. Para nós do GKE, tráfego sem servidor e NEGs de Internet regionais, o NAT público traduz apenas o tráfego IPv4.

Crie um gateway do Cloud NAT:

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

  2. Crie o gateway do Cloud NAT, especificando cada parâmetro que você quer personalizar.

    Os exemplos a seguir mostram como personalizar as sub-redes de origem, o tipo de alocação de endereço IP NAT, a camada de rede e o tipo de alocação de porta ao criar um gateway do Cloud NAT. O comando executado em cada um desses exemplos depende da versão IP dos intervalos de sub-rede de origem para os quais você está criando o gateway.

    • Restringir quais sub-redes de origem podem usar NAT. Para criar um gateway do Cloud NAT que restrinja quais sub-redes e intervalos de sub-redes podem usar NAT, execute um dos seguintes comandos:

      • Restrinja quais intervalos de sub-rede de origem IPv4 podem usar NAT:

        gcloud compute routers nats create NAT_CONFIG \
            --router=NAT_ROUTER \
            --region=REGION \
            --auto-allocate-nat-external-ips \
            --nat-custom-subnet-ip-ranges=IPV4_SUBNET_RANGES
        
      • Restringir quais intervalos de sub-rede de origem IPv6 podem usar NAT (pré-lançamento):

        gcloud beta compute routers nats create NAT_CONFIG \
            --router=NAT_ROUTER \
            --region=REGION \
            --auto-allocate-nat-external-ips \
            --nat64-custom-v6-subnet-ip-ranges=IPV6_SUBNET_RANGES
        
      • Restringir os intervalos de sub-rede de origem IPv4 e IPv6 (Pré-lançamento):

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

      Substitua:

      • NAT_CONFIG: um nome para a 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.
      • IPV4_SUBNET_RANGES: uma lista separada por vírgulas de nomes de sub-redes. Por exemplo:
        • SUBNET_NAME_1:ALL,SUBNET_NAME_2:ALL: inclui o principal e todos os intervalos de sub-rede secundários de SUBNET_NAME_1 e SUBNET_NAME_2.
        • SUBNET_NAME_1,SUBNET_NAME_2: inclui apenas o intervalo principal da sub-rede de SUBNET_NAME_1 e SUBNET_NAME_2.
        • SUBNET_NAME:SECONDARY_RANGE_NAME: inclui o intervalo secundário SECONDARY_RANGE_NAME da sub-rede SUBNET_NAME. Ele não inclui o intervalo principal de SUBNET_NAME.
        • SUBNET_NAME_1,SUBNET_NAME_2:SECONDARY_RANGE_NAME: inclui o intervalo principal de SUBNET_NAME_1 e o intervalo secundário especificado SECONDARY_RANGE_NAME da sub-rede SUBNET_NAME_2.
      • IPV6_SUBNET_RANGES: uma lista separada por vírgulas de nomes de sub-redes. Por exemplo, SUBNET_NAME_1,SUBNET_NAME_2.
    • Configure a alocação manual de endereços IP NAT. Para criar um gateway do Cloud NAT com alocação manual de endereços IP NAT, execute um dos seguintes comandos:

      • Para intervalos de sub-rede de origem IPv4:

        gcloud compute routers nats create NAT_CONFIG \
            --router=NAT_ROUTER \
            --region=REGION \
            --nat-all-subnet-ip-ranges \
            --nat-external-ip-pool=IP_ADDRESS_1,IP_ADDRESS_2
        
      • Para intervalos de sub-rede de origem IPv6 (Pré-lançamento):

        gcloud beta compute routers nats create NAT_CONFIG \
            --router=NAT_ROUTER \
            --region=REGION \
            --nat64-all-v6-subnet-ip-ranges \
            --nat-external-ip-pool=IP_ADDRESS_1,IP_ADDRESS_2
        

        Se você estiver criando o gateway para intervalos de sub-rede IPv4 e IPv6, especifique as flags --nat-all-subnet-ip-ranges e --nat64-all-v6-subnet-ip-ranges neste comando.

      Substitua:

      • NAT_CONFIG: um nome para a 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.
      • IP_ADDRESS_1 e IP_ADDRESS_2: os endereços IP externos estáticos reservados que você quer usar para NAT. É possível especificar um ou mais endereços IP externos ao usar a flag --nat-external-ip-pool.
    • Especifique o nível de rede. Para especificar o nível de rede em que o gateway do Cloud NAT aloca endereços IP externos, execute um dos seguintes comandos:

      • Para intervalos de sub-rede de origem IPv4:

        gcloud compute routers nats create NAT_CONFIG \
            --router=NAT_ROUTER \
            --region=REGION \
            --auto-allocate-nat-external-ips \
            --auto-network-tier=AUTO_NETWORK_TIER \
            --nat-all-subnet-ip-ranges
        
      • Para intervalos de sub-rede de origem IPv6 (Pré-lançamento):

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

        Se você estiver criando o gateway para intervalos de sub-rede IPv4 e IPv6, especifique as flags --nat-all-subnet-ip-ranges e --nat64-all-v6-subnet-ip-ranges neste comando.

      Substitua:

      • NAT_CONFIG: um nome para a 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.
      • AUTO_NETWORK_TIER: o nível de rede a ser usado na alocação automática de endereços IP para o gateway do Cloud NAT. Os valores permitidos são PREMIUM e STANDARD. Se não for especificado, o nível padrão para envolvidos no projeto será associado ao gateway do Cloud NAT.

        Também é possível especificar o nível de rede com a alocação manual de endereços IP NAT. Se você atribuir vários endereços IP ao gateway, todos os endereços IP atribuídos precisarão ser do mesmo nível de rede.

    • Configure a alocação de porta dinâmica. Para criar um gateway do Cloud NAT com alocação de porta dinâmica, execute um dos seguintes comandos:

      • Para intervalos de sub-rede de origem IPv4:

        gcloud compute routers nats create NAT_CONFIG \
            --router=NAT_ROUTER \
            --region=REGION \
            --auto-allocate-nat-external-ips \
            --enable-dynamic-port-allocation \
            [ --min-ports-per-vm=MIN_PORTS ] \
            [ --max-ports-per-vm=MAX_PORTS ] \
            --nat-all-subnet-ip-ranges
        
      • Para intervalos de sub-rede de origem IPv6 (Pré-lançamento):

        gcloud beta compute routers nats create NAT_CONFIG \
            --router=NAT_ROUTER \
            --region=REGION \
            --auto-allocate-nat-external-ips \
            --enable-dynamic-port-allocation \
            [ --min-ports-per-vm=MIN_PORTS ] \
            [ --max-ports-per-vm=MAX_PORTS ] \
            --nat64-all-v6-subnet-ip-ranges
        

        Se você estiver criando o gateway para intervalos de sub-rede IPv4 e IPv6, especifique as flags --nat-all-subnet-ip-ranges e --nat64-all-v6-subnet-ip-ranges neste comando.

      Substitua:

      • NAT_CONFIG: um nome para a 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.
      • Opcional: MIN_PORTS: o número mínimo de portas a serem alocadas para cada VM. Se a alocação de porta dinâmica estiver ativada, MIN_PORTS precisará ser uma potência de 2 e poderá estar entre 32 e 32768. O padrão é 32.
      • Opcional: MAX_PORTS: o número máximo de portas a serem alocadas para cada VM. MAX_PORTS precisa ser uma potência de 2 e pode estar entre 64 e 65536. MAX_PORTS precisa ser maior que MIN_PORTS. O padrão é 65536.

Terraform

É possível usar um módulo do Terraform para criar um Cloud Router com um gateway NAT para tráfego IPv4.

module "cloud_router" {
  source  = "terraform-google-modules/cloud-router/google"
  version = "~> 6.0"
  name    = "my-cloud-router"
  project = var.project_id
  network = module.vpc.network_name
  region  = "us-central1"

  nats = [{
    name                               = "my-nat-gateway"
    source_subnetwork_ip_ranges_to_nat = "LIST_OF_SUBNETWORKS"
    subnetworks = [
      {
        name                     = module.vpc.subnets["us-central1/test-subnet-01"].id
        source_ip_ranges_to_nat  = ["PRIMARY_IP_RANGE", "LIST_OF_SECONDARY_IP_RANGES"]
        secondary_ip_range_names = module.vpc.subnets["us-central1/test-subnet-01"].secondary_ip_range[*].range_name
      }
    ]
  }]
}

O gateway NAT resultante usa os seguintes valores padrão:

enable_endpoint_independent_mapping = true
icmp_idle_timeout_sec               = 30
min_ports_per_vm                    = 0
nat_ip_allocate_option              = "AUTO_ONLY"
source_subnetwork_ip_ranges_to_nat  = "ALL_SUBNETWORKS_ALL_IP_RANGES"
tcp_established_idle_timeout_sec    = 1200
tcp_transitory_idle_timeout_sec     = 30
udp_idle_timeout_sec                = 30
log_config {
    enable = true
    filter = "ALL"
}

Conferir a configuração do Public NAT

Console

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

    Acesse o Cloud NAT

  2. Para visualizar os detalhes do gateway NAT, informações de mapeamento ou detalhes de configuração, clique no nome do gateway NAT.

  3. Para mostrar o status do NAT, consulte a coluna Status do seu gateway NAT.

gcloud

Para ver os detalhes da configuração do NAT, execute os seguintes comandos:

  • Visualize a configuração de gateway do Public NAT.

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

    Substitua:

    • NAT_CONFIG: o nome da configuração NAT.
    • ROUTER_NAME: o nome do seu Cloud Router.
    • REGION: a região do NAT a ser descrito. Se não for especificado, talvez seja solicitado que você selecione uma região (apenas no modo interativo).
  • Veja o mapeamento de intervalos de IP:porta para cada interface de VM.

    gcloud compute routers get-nat-mapping-info ROUTER_NAME \
        --region=REGION
    
  • Visualize o status do gateway do Public NAT.

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

Conferir endereços IP externos atribuídos a um gateway do Cloud NAT

Para exibir os endereços IP NAT que foram adicionados automaticamente, consulte a lista de endereços IP externos estáticos. Esses endereços não contam para as cotas por projeto.

Console

No console do Google Cloud, acesse a página Endereços IP e clique em Endereços IP externos.

Acessar endereços IP

gcloud

  • Para listar todos os endereços IP NAT alocados, use o seguinte comando:

    gcloud compute routers get-nat-ip-info NAT_ROUTER \
      --region=REGION
    

    Para mais exemplos, consulte gcloud compute routers get-nat-ip-info.

Atualizar a configuração do Public NAT

Depois de configurar o gateway do Cloud NAT, atualize a configuração do gateway com base nos seus requisitos. As seções a seguir listam as tarefas que você pode executar para atualizar o gateway do Cloud NAT.

Atualizar sub-redes e recursos de endereço IP associados ao NAT

Console

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

    Acesse o Cloud NAT

  2. Clique no gateway do Cloud NAT.

  3. Clique em Editar.

  4. Em Mapeamento NAT, defina Origem como Personalizado.

  5. Selecione uma sub-rede

  6. Na lista Intervalos de IP, selecione os intervalos de IP da sub-rede a serem incluídos.

  7. Se você quiser especificar intervalos adicionais, clique em Adicionar sub-rede e intervalo de IP.

  8. Clique na lista suspensa Endereços IP de NAT e selecione Automático ou Manual.

  9. Se você selecionar Manual, especifique um Endereço IP externo.

  10. Para alta disponibilidade com endereços IP manuais, clique em Adicionar endereço IP e adicione um segundo endereço.

  11. Clique em Salvar.

gcloud

Use o comando gcloud compute routers nats update. Se o gateway do Cloud NAT estiver configurado para traduzir IPv6 para IPv4 (Pré-lançamento), use o comando gcloud beta compute routers nats update em vez disso.

Para atualizar os intervalos de sub-rede de origem de um gateway do Cloud NAT existente, execute um dos comandos a seguir, dependendo da versão IP dos intervalos de sub-rede que você quer atualizar. Esses comandos também atualizam os endereços IP externos associados ao gateway.

  • Atualize os intervalos de sub-rede de origem IPv4:

    gcloud compute routers nats update NAT_CONFIG \
        --router=NAT_ROUTER \
        --region=REGION \
        --nat-external-ip-pool=IP_ADDRESS_1,IP_ADDRESS_2 \
        --nat-custom-subnet-ip-ranges=IPV4_SUBNET_RANGES
    
  • Atualização de intervalos de sub-rede de origem IPv6 (pré-lançamento):

    gcloud beta compute routers nats update NAT_CONFIG \
        --router=NAT_ROUTER \
        --region=REGION \
        --nat-external-ip-pool=IP_ADDRESS_1,IP_ADDRESS_2 \
        --nat64-custom-v6-subnet-ip-ranges=IPV6_SUBNET_RANGES
    
  • Atualize os intervalos de sub-rede de origem IPv4 e IPv6 (Pré-lançamento):

    gcloud beta compute routers nats update NAT_CONFIG \
        --router=NAT_ROUTER \
        --region=REGION \
        --nat-external-ip-pool=IP_ADDRESS_1,IP_ADDRESS_2 \
        --nat-custom-subnet-ip-ranges=IPV4_SUBNET_RANGES \
        --nat64-custom-v6-subnet-ip-ranges=IPV6_SUBNET_RANGES
    

Substitua:

  • NAT_CONFIG: o nome da configuração NAT.
  • NAT_ROUTER: o nome do seu Cloud Router.
  • REGION: a região do gateway NAT.
  • IP_ADDRESS_1 e IP_ADDRESS_2: os endereços IP externos que você quer usar para NAT. É possível especificar um ou mais endereços IP externos.
  • IPV4_SUBNET_RANGES: uma lista separada por vírgulas de nomes de sub-redes. Por exemplo:
    • SUBNET_NAME_1:ALL,SUBNET_NAME_2:ALL: inclui o principal e todos os intervalos de sub-rede secundários de SUBNET_NAME_1 e SUBNET_NAME_2.
    • SUBNET_NAME_1,SUBNET_NAME_2: inclui apenas o intervalo principal da sub-rede de SUBNET_NAME_1 e SUBNET_NAME_2.
    • SUBNET_NAME:SECONDARY_RANGE_NAME: inclui o intervalo secundário SECONDARY_RANGE_NAME da sub-rede SUBNET_NAME. Essa lista de nomes de sub-rede não inclui o intervalo principal de SUBNET_NAME.
    • SUBNET_NAME_1,SUBNET_NAME_2:SECONDARY_RANGE_NAME: inclui o intervalo principal de SUBNET_NAME_1 e o intervalo secundário especificado SECONDARY_RANGE_NAME da sub-rede SUBNET_NAME_2.
  • IPV6_SUBNET_RANGES: uma lista separada por vírgulas de nomes de sub-redes. Por exemplo, SUBNET_NAME_1,SUBNET_NAME_2.

Se um gateway do Cloud NAT atender a intervalos de sub-rede IPv4 e IPv6, também será possível usar a flag --clear-nat-subnet-ip-ranges para desativar a NAT para intervalos de sub-rede IPv4 ou a flag --clear-nat64-subnet-ip-ranges para desativar a NAT para intervalos de sub-rede IPv6. É possível desativar o NAT apenas para intervalos de sub-rede IPv4 ou IPv6, mas não para ambos.

O exemplo a seguir desativa a NAT para intervalos de sub-rede IPv6:

gcloud beta compute routers nats update NAT_CONFIG \
    --router=NAT_ROUTER \
    --region=REGION \
    --clear-nat64-subnet-ip-ranges

Substitua:

  • NAT_CONFIG: o nome da configuração NAT.
  • NAT_ROUTER: o nome do seu Cloud Router.
  • REGION: a região do gateway NAT.

Excluir sub-redes associadas ao NAT

É possível remover sub-redes específicas do gateway NAT do Cloud que não estão mais em uso.

Console

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

    Acesse o Cloud NAT

  2. Clique no gateway do Cloud NAT.

  3. Clique em Editar.

  4. Exclua a sub-rede que você quer remover do mapeamento NAT.

  5. Clique em Salvar.

Atualizar endereços IP externos associados ao NAT

É possível alterar a lista de endereços IP externos de um determinado gateway ou mudar da alocação de IP manual para automática. Quando você faz isso, Google Cloud remove os endereços antigos e adiciona os novos. Todas as conexões existentes nos endereços IP antigos serão encerradas imediatamente. Para permitir que as conexões atuais continuem e impedir novas conexões nesses endereços IP, consulte Drenar endereços IP externos associados ao NAT.

Console

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

    Acesse o Cloud NAT

  2. Clique no gateway do Cloud NAT.

  3. Clique em Editar.

  4. Clique na lista suspensa Endereços IP de NAT e selecione Automático ou Manual.

  5. Se você selecionar Manual, especifique um Endereço IP externo.

  6. Para alta disponibilidade, clique em Adicionar endereço IP e adicione um segundo endereço.

  7. Clique em Salvar.

gcloud

Use o comando gcloud compute routers nats update. Se o gateway do Cloud NAT estiver configurado para traduzir IPv6 para IPv4 (Pré-lançamento), use o comando gcloud beta compute routers nats update em vez disso.

gcloud compute routers nats update NAT_CONFIG \
    --router=NAT_ROUTER \
    --region=REGION \
    --nat-external-ip-pool=IP_ADDRESS_1,IP_ADDRESS_2

Substitua:

  • NAT_CONFIG: o nome da configuração NAT.
  • NAT_ROUTER: o nome do seu Cloud Router.
  • REGION: a região do NAT a ser atualizada. Se não for especificado, talvez seja solicitado que você selecione uma região (apenas no modo interativo).
  • IP_ADDRESS_1: um endereço IP externo manual.
  • IP_ADDRESS_2: outro endereço IP externo manual.

Atualizar NAT usando endereços IP externos baseados em um nível de rede diferente

É possível atualizar um gateway do Cloud NAT que já existe alterando o nível de rede dos endereços IP externos associados ao gateway.

Atualizar NAT alterando o nível de rede de endereços IP externos alocados automaticamente

Quando você muda o nível de rede de endereços IP externos alocados automaticamente associados a um gateway do Cloud NAT, oGoogle Cloud remove os endereços IP alocados anteriormente e os substitui por endereços IP do nível de rede especificado. Todas as conexões nos endereços IP alocados anteriormente são encerradas imediatamente.

Console

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

    Acesse o Cloud NAT

  2. Clique no nome do gateway do Cloud NAT que alocou endereços IP automaticamente.

  3. Clique em Editar.

  4. Em Nível de serviço de rede, escolha Premium ou Standard.

  5. Clique em Salvar.

gcloud

Use o comando gcloud compute routers nats update. Se o gateway do Cloud NAT estiver configurado para traduzir IPv6 para IPv4 (Pré-lançamento), use o comando gcloud beta compute routers nats update.

gcloud compute routers nats update NAT_CONFIG \
    --router=NAT_ROUTER \
    --region=REGION \
    --auto-allocate-nat-external-ips
    --auto-network-tier=AUTO_NETWORK_TIER

Substitua:

  • NAT_CONFIG: o nome da configuração NAT.

  • NAT_ROUTER: o nome do seu Cloud Router.

  • REGION: a região do NAT a ser excluída. Se não for especificado, talvez seja solicitado que você selecione uma região (apenas no modo interativo).

  • AUTO_NETWORK_TIER: o nível de rede a ser usado na alocação automática de endereços IP para o gateway do Cloud NAT. Os valores permitidos são PREMIUM e STANDARD. Se não for especificado, o nível atual padrão para envolvidos no projeto será associado ao gateway do Cloud NAT.

Atualizar NAT alterando o nível de rede de endereços IP atribuídos manualmente

É possível atualizar um NAT que já existe especificando manualmente endereços IP externos baseados em um nível diferente. É possível atribuir endereços IP externos baseados no nível Standard, nível Premium ou em ambos, sujeitos a determinadas condições. Antes de especificar endereços IP externos baseados em um nível diferente, primeiro drene os endereços IP existentes para que continuem com as conexões atuais e impeça novas conexões nesses endereços IP.

Console

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

    Acesse o Cloud NAT

  2. Clique no nome do gateway do Cloud NAT que atribuiu endereços IP manualmente.

  3. Clique em Editar.

  4. Para especificar endereços IP baseados em um nível diferente do nível selecionado atualmente, exclua todos os endereços IP existentes ou ative a drenagem para todos os endereços IP existentes.

    Não será possível alterar o nível de rede se a drenagem estiver desativada para um endereço IP existente.

  5. Em Nível de serviço de rede, escolha Premium ou Standard.

  6. Selecione um endereço IP externo na lista de endereços IP ativos disponíveis.

  7. Opcional: para adicionar mais endereços IP, clique em Adicionar endereços IP.

  8. Clique em Salvar.

gcloud

Para atualizar um gateway que já existe alterando manualmente os endereços IP externos com novos de um nível de rede diferente, use a flag --nat-external-ip-pool do comando gcloud compute routers nats update. Se o gateway estiver configurado para traduzir IPv6 para IPv4 (Pré-lançamento), use o comando gcloud beta compute routers nats update.

Para mais informações sobre como alterar manualmente os endereços IP externos existentes, consulte Atualizar endereços IP externos associados ao NAT.

Drenar endereços IP externos associados ao NAT

Antes de remover um endereço IP configurado manualmente, esvazie ele para que as conexões existentes não sejam interrompidas. Quando um endereço IP for drenado, todas as conexões existentes poderão continuar até expirarem naturalmente. É possível visualizar os registros para verificar o status das conexões existentes.

Nenhuma nova conexão é aceita nos endereços IP drenados. No entanto, o endereço IP permanece associado à configuração NAT.

É necessário ter pelo menos um endereço ativo em uma configuração NAT, ou seja, não é possível drenar todos os endereços IP em uma configuração.

Para ver o estado dos endereços IP de NAT, Mostrar status NAT.

Console

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

    Acesse o Cloud NAT

  2. Clique no gateway do Cloud NAT.

  3. Clique em Editar.

  4. Em Endereços IP NAT, defina o valor da Drenagem de IP ao lado do endereço IP para Ativado.

  5. Clique em Salvar.

gcloud

Use o comando gcloud compute routers nats update. Se o gateway do Cloud NAT estiver configurado para traduzir IPv6 para IPv4 (Pré-lançamento), use o comando gcloud beta compute routers nats update em vez disso.

Para drenar um endereço, mova-o do pool ativo para o pool de drenagem no mesmo comando. Se você removê-lo do pool ativo sem adicioná-lo ao pool de drenagem em um único comando, o endereço IP será excluído do serviço e as conexões existentes serão encerradas imediatamente.

Se você mover um endereço IP do pool de drenagem para o pool ativo, evita o endereço IP. Se você remover um endereço IP NAT de ambos os pools, ele será desconectado da configuração NAT.

Esse comando deixa os outros campos na configuração NAT inalterados.

gcloud compute routers nats update NAT_CONFIG \
    --router=NAT_ROUTER \
    --region=REGION \
    --nat-external-ip-pool=IP_ADDRESS_2 \
    --nat-external-drain-ip-pool=IP_ADDRESS_1

Em que:

  • --nat-external-ip-pool=IP_ADDRESS_2 atualiza o pool ativo para omitir IP_ADDRESS_1
  • --nat-external-drain-ip-pool=IP_ADDRESS_1 adiciona IP_ADDRESS_1 ao pool de drenagem

Substitua:

  • NAT_CONFIG: o nome da configuração NAT.
  • NAT_ROUTER: o nome do seu Cloud Router.
  • REGION: a região do NAT a ser atualizada. Se não for especificado, talvez seja solicitado que você selecione uma região (apenas no modo interativo).
  • IP_ADDRESS_2: um endereço IP.
  • IP_ADDRESS_1: outro endereço IP.

Atualizar o mapeamento do endpoint

É possível ativar ou desativar o Mapeamento independente de endpoint no gateway. Por padrão, esta opção está desativada. Alternar o mapeamento independente de endpoint de ativado para desativado (ou de desativado para ativado) não interrompe as conexões atuais.

Não é possível ativar o mapeamento independente de endpoint se o gateway do Cloud NAT usar regras NAT ou alocação de porta dinâmica.

Console

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

    Acesse o Cloud NAT

  2. Clique no gateway do Cloud NAT.

  3. Clique em Editar.

  4. Clique em Configurações avançadas.

  5. Para ativar o mapeamento independente de endpoint, marque a caixa de seleção Ativar mapeamento independente de endpoint. Desmarque a caixa de seleção para desativar o mapeamento independente de endpoint.

  6. Clique em Salvar.

gcloud

Use o comando gcloud compute routers nats update. Se o gateway do Cloud NAT estiver configurado para traduzir IPv6 para IPv4 (Pré-lançamento), use o comando gcloud beta compute routers nats update em vez disso.

gcloud compute routers nats update NAT_CONFIG \
    --router=NAT_ROUTER \
    --region=REGION \
    [--enable-endpoint-independent-mapping | --no-enable-endpoint-independent-mapping]

Substitua:

  • NAT_CONFIG: o nome da configuração NAT.
  • NAT_ROUTER: o nome do seu Cloud Router.
  • REGION: a região do NAT a ser atualizada. Se não for especificado, talvez seja solicitado que você selecione uma região (apenas no modo interativo).

Atualizar a geração de registros

Para adicionar, modificar ou remover a geração de registros de um gateway do Cloud NAT, consulte Como configurar a geração de registros.

Excluir configuração do Public NAT

A exclusão de uma configuração de gateway remove a configuração NAT de um Cloud Router. Ela não exclui o roteador.

Console

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

    Acesse o Cloud NAT

  2. Marque a caixa de seleção ao lado da configuração de gateway que você quer excluir.

  3. No Menu, clique em Excluir.

gcloud

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

Substitua:

  • NAT_CONFIG: o nome da configuração NAT.
  • ROUTER_NAME: o nome do seu Cloud Router.
  • REGION: a região do NAT a ser excluída. Se não for especificado, talvez seja solicitado que você selecione uma região (apenas no modo interativo).

Cotas e limites

Para informações sobre cotas e limites, consulte a página cotas.

Exemplos de configuração

Estes exemplos mostram como testar o Cloud NAT com Google Cloud:

A seguir