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

Esta página descreve como configurar a conversão de endereços de rede privada para privada (NAT) no Cloud NAT.

Antes de começar

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

Analisar as especificações do Private NAT

Consulte as especificações e os requisitos a seguir:

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 no 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. To initialize the gcloud CLI, run the following command:

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

    Go to project selector

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

  9. Enable the Compute Engine API.

    Enable the API

  10. Install the Google Cloud CLI.
  11. To initialize the gcloud CLI, run the following command:

    gcloud init

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 do 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 ambas das seguintes opções:

  • Private NAT para spokes do Network Connectivity Center. Ativa a NAT para tráfego entre os seguintes:
    • 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 uma rede de destino local ou de outro provedor de nuvem conectada ao hub por um spoke híbrido.
  • NAT híbrida: ativa a NAT para o tráfego entre uma rede VPC de origem e uma rede local de destino ou outra rede de provedor de nuvem. As redes precisam estar conectadas pelo Cloud Interconnect ou pelo Cloud VPN.

Criar um gateway NAT particular

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

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. 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 1 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 você quer mudar a forma como o Cloud NAT aloca portas. Por padrão, a opção Ativar alocação de porta dinâmica é selecionada. Para configurar a alocação de porta estática, desmarque Ativar a alocação de porta dinâmica e especifique Portas mínimas por instância de VM. O valor padrão é 64.
    • 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.
  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 o Cloud Router será criado.
  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 a 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 outros recursos.
    • SUBNETWORK: o nome da sub-rede ou da lista de sub-redes em que você quer usar a 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 para a 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, o 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: converte o tráfego de saída da rede VPC de origem em uma rede local ou de outro provedor de nuvem que esteja conectada ao Google Cloud pelo Cloud Interconnect ou Cloud VPN.
    • nexthop.hub: converte o tráfego de saída do spoke VPC de origem para qualquer um dos sofes 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 NAT privada.

    Para criar uma regra de NAT para NAT híbrida, 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' \
        --source-nat-active-ranges=NAT_SUBNET
    

    Para criar uma regra NAT para Private NAT nos 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 NAT híbrida e NAT privada para os 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 da regra que identifica exclusivamente a regra NAT, de 1 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 do 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 criada anteriormente. Você também pode especificar uma lista de sub-redes em um formato separado por vírgulas.

Conferir a configuração do Private 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:

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

Mudar as sub-redes associadas ao NAT particular

Console

  1. No Console do 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 NAT particular

É possível remover sub-redes específicas do gateway NAT 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 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 a finalidade PRIVATE_NAT. Se a configuração de NAT particular exigir mais do que o número disponível de endereços IP NAT, adicione mais sub-redes de finalidade PRIVATE_NAT à configuração.

Console

  1. No Console do 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 novo 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 adicionados à 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. 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).

A seguir