Configurar e gerenciar regras do Cloud NAT

Nesta página, mostramos como configurar regras do Cloud NAT. Antes de configurar as regras do Cloud NAT, leia a visão geral das regras do Cloud NAT.

Criar regras NAT

As regras NAT são escritas usando a sintaxe da Common Expression Language. Para mais informações sobre a linguagem de expressão de regra, consulte Linguagem de expressão de regra.

As etapas de exemplo de configuração a seguir atendem às seguintes condições:

  • As VMs precisam usar o endereço IP NAT com o nome do recurso IP_ADDRESS1 para enviar o tráfego para o destino 198.51.100.10.
  • As VMs precisam usar o endereço IP NAT com o nome do recurso IP_ADDRESS2 ou IP_ADDRESS3 para enviar o tráfego para 198.51.100.20/30.

É possível criar uma regra NAT para atender a cada uma dessas condições.

Console

Adicionar uma regra NAT a um gateway NAT

Adicione uma regra NAT que envie o tráfego de IP_ADDRESS1 para 198.51.100.10.

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

    Acesse o Cloud NAT

  2. Selecione seu gateway NAT.
  3. Selecione Editar.
  4. Em Regras NAT, selecione Adicionar nova regra.
  5. No campo Correspondência, insira 198.51.100.10.
  6. No menu Endereço IP, selecione o endereço IP que você usou para IP_ADDRESS1.
  7. No campo Número da regra, digite 100.
  8. Selecione Concluído.

Adicione uma regra NAT que envie o tráfego de IP_ADDRESS2 ou IP_ADDRESS3 para 198.51.100.20/30.

  1. Em Regras NAT, selecione Adicionar nova regra.
  2. No campo Correspondência, insira 198.51.100.20/30.
  3. No menu Endereço IP, selecione o endereço IP que você usou para IP_ADDRESS2.
  4. Selecione Adicionar endereço IP e, em seguida, selecione o endereço IP usado para IP_ADDRESS3.
  5. No campo Número da regra, digite 200.
  6. Selecione Concluído.
  7. Selecione Salvar para salvar as duas regras.

gcloud

Use as etapas nas seções a seguir para criar um arquivo de regras, criar um gateway NAT que use as regras no arquivo de regras ou adicionar regras a um gateway NAT.

Adicionar uma regra NAT a um gateway NAT

É possível adicionar uma nova regra NAT usando o comando de regras NAT. Substitua NAT_RULE_NUMBER pelo número da regra NAT desejada, e as outras variáveis pelas informações que correspondem à sua configuração.

Primeiro, adicione uma regra NAT que envie o tráfego de IP_ADDRESS1 para 198.51.100.10.

gcloud compute routers nats rules create NAT_RULE_NUMBER \
    --router=ROUTER_NAME \
    --nat=NAT_NAME \
    --match='destination.ip == "198.51.100.10"' \
    --source-nat-active-ips=[IP_ADDRESS1] \
    [--region=REGION] [GLOBAL-FLAG ...]

Em seguida, adicione uma regra NAT que envie o tráfego de IP_ADDRESS2 ou IP_ADDRESS3 para 198.51.100.20/30.

gcloud compute routers nats rules create NAT_RULE_NUMBER \
    --router=ROUTER_NAME \
    --nat=NAT_NAME \
    --match='inIpRange(destination.ip, "198.51.100.20/30")' \
    --source-nat-active-ips=[IP_ADDRESS2],[IP_ADDRESS3] \
    [--region=REGION] [GLOBAL-FLAG ...]

Criar um arquivo de regras

O exemplo de código a seguir é um exemplo de arquivo de regra. É possível modificar o arquivo de regras de acordo com o caso de uso ou pular essa etapa caso você já tenha um arquivo de regra.

rules:
 - ruleNumber: 100
   match: destination.ip == '198.51.100.10'
   action:
     sourceNatActiveIps:
     -  /projects/PROJECT ID/regions/REGION/addresses/IP_ADDRESS1
 - ruleNumber: 200
   match: inIpRange(destination.ip, '198.51.100.20/30')
   action:
     sourceNatActiveIps:
     -  /projects/PROJECT ID/regions/REGION/addresses/IP_ADDRESS2
     -  /projects/PROJECT ID/regions/REGION/addresses/IP_ADDRESS3

Criar um gateway NAT usando um arquivo de regras NAT

O comando a seguir cria um gateway NAT e faz a configuração dele com regras a partir de um arquivo de regras NAT. Se você já tiver um gateway NAT configurado, consulte Adicionar uma regra NAT a um gateway NAT. Substitua as variáveis por informações correspondentes à sua configuração.

gcloud compute routers nats create NAT_NAME \
    --router=ROUTER_NAME \
    --nat-external-ip-pool=[IP_ADDRESS4],[IP_ADDRESS5] \
    --nat-all-subnet-ip-ranges \
    --rules=PATH_TO_NAT_RULE_FILE \
    [--region=REGION] [GLOBAL-FLAG ...]

Atualizar regras NAT

Para atualizar suas regras NAT, use as etapas nas próximas seções. Só é possível usar arquivos de regras com a ferramenta de linha de comando gcloud.

Console

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

    Acesse o Cloud NAT

  2. Selecione seu gateway NAT.
  3. Selecione Editar.
  4. Em Regras personalizadas, clique na regra que você quer atualizar.
  5. Nos campos expandidos, é possível modificar as informações que você quiser alterar.
  6. Quando terminar de fazer as mudanças, selecione Concluído.
  7. Selecione Salvar.

gcloud

Fazer uma atualização usando um arquivo de regras NAT

Para usar o arquivo de regras NAT para atualizar um gateway NAT, use o seguinte comando. Substitua as variáveis pelas informações que correspondem à sua configuração.

gcloud compute routers nats update NAT_NAME \
    --router=ROUTER_NAME \
    --rules=PATH_TO_NAT_RULE_FILE \
    [--region=REGION] [GLOBAL-FLAG ...]

O exemplo de código a seguir é um exemplo de arquivo de regra. Observe a ação sourceNatDrainIps, que impede novas conexões com o destino usando IP_ADDRESS1, mas mantém as conexões atuais.

rules:
 - ruleNumber: 100
   match: destination.ip == '198.51.100.10'
   action:
     sourceNatActiveIps:
     -  /projects/PROJECT ID/regions/REGION/addresses/IP_ADDRESS2
     sourceNatDrainIps:
     -  /projects/PROJECT ID/regions/REGION/addresses/IP_ADDRESS1

Fazer uma atualização usando um comando de regras NAT

Para atualizar uma única regra NAT, use o comando a seguir. Substitua NAT_RULE_NUMBER pelo número da regra NAT desejada, e as outras variáveis pelas informações que correspondem à sua configuração. Observe a opção source-nat-drain-ips, que impede novas conexões com o destino usando IP_ADDRESS3 e IP_ADDRESS4, mas mantém as conexões atuais.

gcloud compute routers nats rules update NAT_RULE_NUMBER \
    --router=ROUTER_NAME \
    --nat=NAT_NAME \
    --match=Match conditions (expressed in CEL) \
    --source-nat-active-ips=[IP_ADDRESS1],[IP_ADDRESS2] \
    --source-nat-drain-ips=[IP_ADDRESS3],[IP_ADDRESS4] \
    [--region=REGION] [GLOBAL-FLAG ...]

Excluir regras NAT

Console

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

    Acesse o Cloud NAT

  2. Selecione seu gateway NAT.
  3. Selecione Editar.
  4. Em Regras personalizadas, mantenha o ponteiro do mouse sobre a regra que você quer excluir. Clique em .
  5. Clique em Save.

gcloud

Para remover uma regra NAT de um gateway, remova-a diretamente do gateway ou remova-a do arquivo da regra e atualize o gateway.

Excluir usando um arquivo de regras NAT

Você pode remover uma regra NAT diretamente no arquivo de regras para depois atualizar o gateway NAT. O comando para atualizar o gateway NAT é repetido aqui para sua conveniência. Substitua as variáveis pelas informações que correspondem à sua configuração.

gcloud compute routers nats update NAT_NAME \
    --router=ROUTER_NAME \
    --rules=PATH_TO_NAT_RULE_FILE \
    [--region=REGION] [GLOBAL-FLAG ...]

Excluir usando um comando de regras NAT

Como alternativa, use um comando delete de regra NAT para remover uma regra NAT do gateway. Substitua NAT_RULE_NUMBER pelo número da regra NAT desejada, e as outras variáveis pelas informações que correspondem à sua configuração.

gcloud compute routers nats rules delete NAT_RULE_NUMBER \
    --router=ROUTER_NAME \
    --nat=NAT_NAME \
    [--region=REGION] [GLOBAL-FLAG ...]

Descrever uma regra NAT

Console

Veja informações sobre suas regras NAT na página do Cloud NAT.

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

    Acesse o Cloud NAT

  2. Selecione seu gateway NAT.
  3. Veja as regras NAT.

Para mais informações sobre uma regra NAT individual, faça o seguinte:

  1. Selecione Editar.
  2. No título Regras personalizadas, selecione uma regra NAT.
  3. Veja as informações adicionais.
  4. Selecione Cancelar para não salvar alterações.

gcloud

Para descrever uma regra NAT, use o comando a seguir. Substitua NAT_RULE_NUMBER pelo número da regra NAT, e as outras variáveis pelas informações correspondentes à configuração.

gcloud compute routers nats rules describe NAT_RULE_NUMBER \
    --router=ROUTER_NAME \
    --nat=NAT_NAME \
    [--region=REGION] [GLOBAL-FLAG ...]

Listar todas as regras NAT em um gateway NAT

Console

Veja suas regras NAT na página do Cloud NAT.

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

    Acesse o Cloud NAT

  2. Selecione seu gateway NAT.
  3. Veja as regras NAT.

gcloud

Para listar todas as regras NAT em um gateway NAT, use o comando a seguir. Isso também exibe todos os endereços IP NAT presentes nas regras NAT, incluindo a regra padrão. Substitua as variáveis pelas informações que correspondem à sua configuração.

gcloud compute routers nats rules list \
    --router=ROUTER_NAME \
    --nat=NAT_NAME \
    [--region=REGION] [GLOBAL-FLAG ...]