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

Nesta página, descrevemos como configurar a conversão de endereços de rede (NAT) particular para particular no Cloud NAT.

Antes de começar

Conclua as tarefas a seguir antes de configurar o Private NAT.

Revisar as especificações do Private NAT

Confira as seguintes especificações e requisitos:

Acessar permissões do IAM

O papel Administrador de rede do Compute (roles/compute.networkAdmin) concede permissões para criar um gateway NAT no Cloud Router, reservar e atribuir endereços IP de NAT e especificar sub-redes (sub-redes) cujo tráfego deve usar a conversão de endereços de rede pelo gateway NAT.

Configurar o Google Cloud

Antes de começar, configure os seguintes itens em 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.

    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. Install the Google Cloud CLI.

  6. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  7. To initialize the gcloud CLI, run the following command:

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

    Go to project selector

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

  10. Enable the Compute Engine API.

    Enable the API

  11. Install the Google Cloud CLI.

  12. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  13. To initialize the gcloud CLI, run the following command:

    gcloud init
  14. As instruções da CLI do Google Cloud nesta página presumem que você tenha definido o ID do projeto antes de emitir comandos.

    1. Configure um código de projeto com o seguinte comando:

      gcloud config set project PROJECT_ID
      
    2. É possível também ver um ID projeto já configurado:

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

    Criar uma sub-rede NAT de finalidade PRIVATE_NAT

    Antes de configurar o Private NAT, crie uma sub-rede NAT de finalidade PRIVATE_NAT. A sub-rede NAT precisa estar na mesma região em que você planeja criar o gateway NAT particular. O gateway do Private NAT usa intervalos de endereços IP dessa sub-rede para executar NAT. Verifique se essa sub-rede não se sobrepõe a uma sub-rede existente em nenhuma das redes conectadas. Não é possível criar recursos nesta sub-rede. Essa sub-rede é usada apenas para o Private NAT.

    Console

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

      Acessar redes VPC

    2. Para mostrar a página de detalhes da rede VPC, clique no nome dela.

    3. Clique na guia Sub-redes.

    4. Clique em Add subnet. Na caixa de diálogo Adicionar uma sub-rede, faça isto:

      1. Forneça um nome para a sub-rede.
      2. Selecione uma região.
      3. Em Finalidade, selecione Private NAT.
      4. Insira um Intervalo de endereços IP, que é o intervalo IPv4 principal da sub-rede.

        Se você selecionar um intervalo que não seja um endereço RFC 1918, confirme se não há incompatibilidade entre o intervalo e uma configuração existente. Para mais informações sobre intervalos de sub-rede IPv4 válidos, consulte Intervalos de sub-rede IPv4.

    5. Clique em Adicionar.

    gcloud

    Use o comando gcloud compute networks subnet create para criar a sub-rede.

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

    Substitua:

    • NAT_SUBNET: o nome do intervalo de sub-rede do Private NAT a ser criado.
    • NETWORK: a rede à qual a sub-rede pertence.
    • REGION: a região da sub-rede a ser criada. Se não for especificado, talvez seja solicitado que você selecione uma região (apenas no modo interativo).
    • IP_RANGE: o espaço de IP alocado para essa sub-rede no formato CIDR. Verifique se IP_RANGE leva em conta o uso de duas vezes o tamanho das portas necessárias por VM.

    Configurar o Private NAT

    Para configurar o Private NAT, crie um gateway do Private NAT na rede VPC de origem. Cada gateway está associado a uma única rede VPC, região e Cloud Router.

    Ao configurar o Private NAT, é possível ativar uma ou as duas opções a seguir:

    • Private NAT para os spokes do Network Connectivity Center. Ativa o NAT para tráfego entre:

      • Uma rede VPC de origem e uma rede VPC de destino no mesmo hub do Network Connectivity Center. As duas redes precisam ser configuradas como spokes da VPC.
      • Uma rede VPC de origem configurada como um spoke VPC em um hub do Network Connectivity Center e um destino local ou outra rede de provedor de nuvem conectada ao hub por um spoke híbrido.

      Se você quiser usar conexões propagadas do Private Service Connect no mesmo spoke da VPC que o Private NAT, consulte Interações de conexões propagadas do Private Service Connect antes de configurar o Private NAT.

    • Hybrid NAT. Ativa a NAT para tráfego entre uma rede VPC de origem e uma rede local ou de outro provedor de nuvem de destino. As redes precisam estar conectadas pelo Cloud Interconnect ou pelo Cloud VPN.

    Criar um gateway do Private NAT

    Crie um gateway do Private NAT na rede VPC de origem para a qual você quer configurar o NAT.

    Console

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

      Acesse o Cloud NAT

    2. Clique em Primeiros passos ou Criar gateway Cloud NAT.

    3. Digite um nome de gateway.

    4. Em Tipo de NAT, selecione Particular.

    5. Selecione uma rede VPC para o gateway NAT.

    6. Defina a região para o gateway NAT.

    7. Selecione ou crie um Cloud Router na região.

    8. Verifique se Instâncias de VM está selecionado como o tipo de endpoint de origem.

    9. Na lista Origem, selecione Personalizado.

    10. Selecione uma sub-rede em que você quer executar NAT.

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

    12. Clique em Adicionar uma regra.

    13. No campo Número da regra, digite qualquer valor entre 0 e 65000.

    14. Em Correspondência, selecione uma das seguintes opções:

      • Para ativar o NAT híbrido, selecione Rotas de conectividade híbrida.
      • Para ativar o Private NAT para os spokes do Network Connectivity Center, selecione Hub do Network Connectivity Center.
      • Para ativar as duas opções, selecione Rotas de conectividade híbrida e Hub do Network Connectivity Center.
    15. Selecione ou crie um intervalo de sub-rede Private NAT.

    16. Clique em Concluído.

    17. 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 a forma como o Cloud NAT aloca portas precisa ser alterada. Por padrão, a opção Ativar alocação de porta dinâmica está selecionada. Para configurar a alocação de porta estática, desmarque Ativar alocação de porta dinâmica e especifique Mínimo de portas por instância de VM. O valor padrão é 64.
      • Se os tempos limite de NAT para conexões de protocolo serão atualizados. Para informações sobre esses tempos limite e os valores padrão deles, consulte Tempos limite de NAT.
    18. Clique em Criar.

    gcloud

    1. Crie um Cloud Router na rede VPC para a qual você quer configurar o NAT.

      Use o comando gcloud compute routers create.

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

      Substitua:

      • ROUTER_NAME: um nome para o Cloud Router.
      • NETWORK: a rede VPC em que o Cloud Router será criado.
      • REGION: a região em que criar o Cloud Router.
    2. Crie um gateway do Private NAT e especifique uma ou mais sub-redes da rede VPC de origem para as quais você quer configurar o NAT.

      Use o comando gcloud compute routers nats create com a flag --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]
      

      Substitua:

      • NAT_CONFIG: um nome para a configuração do Private NAT que você está criando.
      • ROUTER_NAME: o nome do Cloud Router a ser usado com esse gateway. Esse é o Cloud Router que você criou na etapa anterior e não pode estar em uso por nenhum outro recurso.
      • SUBNETWORK: o nome da sub-rede ou da lista de sub-redes em que você quer usar o NAT.

        Também é possível especificar uma lista de sub-redes em um formato separado por vírgulas, como SUBNETWORK_1, SUBNETWORK_2. O Private NAT sempre executa NAT em todos os intervalos de IP da sub-rede ou lista de sub-redes especificada.

      Por padrão, o Private NAT usa a alocação de porta dinâmica. Se você quiser criar um gateway do Private NAT com alocação de porta estática, execute o comando anterior com a flag --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]
      

      Substitua VALUE pelo número mínimo de portas a serem atribuídas por VM. Se não for especificado, Google Cloud vai atribuir o valor padrão de 64.

    3. Crie uma regra NAT para corresponder ao tráfego com base no tipo de NAT que você está configurando.

      Use o comando gcloud compute routers nats rules create com a flag --match definida como uma das seguintes opções:

      • nexthop.is_hybrid: traduz o tráfego de saída da rede VPC de origem para uma rede local ou de outro provedor de nuvem conectada a Google Cloud pelo Cloud Interconnect ou pelo Cloud VPN.
      • nexthop.hub: traduz o tráfego de saída do spoke VPC de origem para qualquer um dos spokes VPC ou híbridos anexados ao mesmo hub do Network Connectivity Center que o spoke VPC de origem.
      • nexthop.is_hybrid || nexthop.hub: configura os dois tipos de Private NAT.

      Para criar uma regra de NAT híbrido, execute o comando a seguir:

      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 criar uma regra de NAT para Private NAT para spokes do Network Connectivity Center, execute o seguinte 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 criar uma regra NAT para o Hybrid NAT e o Private NAT para spokes do Network Connectivity Center, execute o seguinte 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
      

      Substitua:

      • NAT_RULE_NUMBER: o número que identifica exclusivamente a regra NAT, de 0 a 65000.
      • ROUTER_NAME: o nome do Cloud Router que você criou anteriormente.
      • REGION: a região do Cloud Router.
      • NAT_CONFIG: o nome da configuração do Private NAT que você criou anteriormente.
      • PROJECT_ID: o projeto Google Cloud do hub do Network Connectivity Center.
      • HUB: o nome do hub do Network Connectivity Center.
      • NAT_SUBNET: o nome da sub-rede do Private NAT que você criou anteriormente. Você também pode especificar uma lista de sub-redes em um formato separado por vírgulas.

    Ver a configuração do Private NAT

    Console

    1. No console 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:

    • Ver a configuração do gateway do Private 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
      
    • Veja o status do gateway do Private NAT.

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

    Atualizar a configuração do Private NAT

    Depois de configurar o gateway do Private NAT, atualize a configuração do gateway com base nos seus requisitos. As seções a seguir listam as tarefas que podem ser executadas para atualizar o gateway do Private NAT.

    Alterar sub-redes associadas ao Private NAT

    Console

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

      Acesse o Cloud NAT

    2. Clique no seu gateway NAT.

    3. Clique em Editar.

    4. Em Mapeamento do Cloud NAT, na lista Origem, selecione Personalizado.

    5. Selecione uma nova sub-rede na lista de sub-redes disponíveis.

    6. Se você quiser especificar mais intervalos, clique em Adicionar sub-rede e intervalo de IP e selecione outra sub-rede.

    7. Clique em Save.

    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,..]
    

    Substitua:

    • NAT_CONFIG: o nome da configuração do Private NAT a ser atualizada.
    • ROUTER_NAME: o nome do roteador a ser usado com esse gateway.
    • SUBNETWORK: o nome da sub-rede a ser usada.

    Excluir sub-redes associadas ao Private NAT

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

    Console

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

      Acesse o Cloud NAT

    2. Clique no seu gateway NAT.

    3. Clique em Editar.

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

    5. Clique em Salvar.

    Adicionar sub-redes NAT à configuração do Private NAT

    Para executar NAT no tráfego, uma configuração do Private NAT usa endereços IP NAT de uma sub-rede com finalidade PRIVATE_NAT. Se a configuração do Private NAT exigir mais do que o número disponível de endereços IP NAT, adicione mais sub-redes com a finalidade PRIVATE_NAT à configuração.

    Console

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

      Acesse o Cloud NAT

    2. Clique no seu gateway NAT.

    3. Clique em Editar.

    4. Expanda a regra atual.

    5. Clique em Adicionar intervalos de sub-rede.

    6. Selecione ou crie um intervalo de sub-rede NAT e clique em Concluído.

    7. Clique em Salvar.

    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 ...
    

    Substitua:

    • NAT_RULE_NUMBER: o número que identifica exclusivamente a regra a ser atualizada.
    • NAT_CONFIG: o nome da configuração do Private NAT da regra a ser atualizada.
    • ROUTER_NAME: o nome do roteador a ser usado com esse gateway.
    • NAT_SUBNET: os nomes das sub-redes do Private NAT a serem adicionadas à configuração NAT atual.

    Excluir configuração NAT

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

    Console

    1. No console 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).

    A seguir