Configurar e gerenciar regras do Cloud NAT

Esta página descreve como configurar regras do Cloud NAT para o Public NAT. Antes de configurar as regras do Cloud NAT, consulte a visão geral das regras do Cloud NAT.

Criar regras NAT

Para criar regras de NAT, o Cloud NAT usa a Common Expression Language (CEL), conforme descrito em Linguagem de expressão de regra. Para exemplos de expressões que podem ser usadas nas regras NAT, consulte Expressões de exemplo.

Se quiser criar regras NAT, verifique se o mapeamento independente de endpoint está desativado para o gateway NAT.

Criar regras com base na origem

As etapas nesta seção descrevem como criar regras de NAT baseadas na origem para as seguintes condições:

  1. Os pacotes do intervalo de IP de origem 10.10.1.0/24 precisam usar IP_ADDRESS_1.
  2. Os pacotes do intervalo de IP de origem 10.10.2.0/24 precisam usar IP_ADDRESS_2.
  3. Todos os outros pacotes precisam usar IP_ADDRESS_3.

Para as condições 1 e 2, crie duas regras NAT. A condição 3 é atendida pela regra NAT padrão para correspondência de endereço de origem. IP_ADDRESS_1, IP_ADDRESS_2 e IP_ADDRESS_3 são os endereços IP externo que você quer usar para NAT.

Console

Adicionar regras NAT a um gateway NAT

  1. Adicione uma regra NAT que corresponda ao tráfego de 10.10.1.0/24 e traduza o IP de origem para IP_ADDRESS_1.

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

      Acesse o Cloud NAT

    2. Clique no seu gateway NAT.

    3. Clique em Editar.

    4. Em Endereços IP do Cloud NAT, selecione Manual.

    5. Na seção Regras do Cloud NAT, clique em Adicionar uma regra.

    6. No campo Prioridade da regra, insira um número de 0 (prioridade mais alta) a 65000 (prioridade mais baixa). Por exemplo, 100.

    7. Em Corresponder intervalos de IP, selecione Origem.

    8. No campo Intervalos de IP de origem, insira 10.10.1.0/24.

    9. Na seção Endereços IP, selecione o endereço que você quer usar para IP_ADDRESS_1.

    10. Clique em Concluído.

  2. Adicione uma regra NAT que corresponda ao tráfego de 10.10.2.0/24 e o traduza para IP_ADDRESS_2.

    1. Na seção Regras do Cloud NAT, clique em Adicionar uma regra.
    2. No campo Prioridade da regra, insira um número de 0 (prioridade mais alta) a 65000 (prioridade mais baixa). Por exemplo, 200.
    3. Em Corresponder intervalos de IP, selecione Origem.
    4. No campo Intervalos de IP de origem, insira 10.10.2.0/24.
    5. Na seção Endereços IP, selecione o endereço que você quer usar para IP_ADDRESS_2.
    6. Clique em Concluído.
    7. Clique em Salvar para salvar as duas regras.

gcloud

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

Adicionar regras NAT a um gateway NAT

É possível adicionar uma nova regra NAT usando o comando gcloud beta compute routers nats rules create.

  1. Adicione uma regra NAT que use IP_ADDRESS_1 para o tráfego de 10.10.1.0/24:

    gcloud beta compute routers nats rules create NAT_RULE_PRIORITY \
        --router=NAT_ROUTER \
        --region=REGION \
        --nat=NAT_CONFIG \
        --match="inIpRange(source.ip, '10.10.1.0/24')" \
        --source-nat-active-ips=IP_ADDRESS_1
    

    Substitua:

    • NAT_RULE_PRIORITY: um número de regra que identifica exclusivamente a regra de NAT, de 0 (prioridade mais alta) a 65000 (prioridade mais baixa). Por exemplo, 100
    • NAT_ROUTER: o nome do Cloud Router que você usa para o gateway NAT.
    • REGION: a região do gateway NAT
    • NAT_CONFIG: o nome da configuração NAT
    • IP_ADDRESS_1: o endereço IP externo alocado manualmente que você quer usar para pacotes que correspondem à regra.
  2. Adicione uma regra NAT que use IP_ADDRESS_2 para o tráfego de 10.10.2.0/24:

    gcloud beta compute routers nats rules create NAT_RULE_PRIORITY \
        --router=NAT_ROUTER \
        --region=REGION \
        --nat=NAT_CONFIG \
        --match="inIpRange(source.ip, '10.10.2.0/24')" \
        --source-nat-active-ips=IP_ADDRESS_2
    

    Substitua:

    • NAT_RULE_PRIORITY: um número de regra que identifica exclusivamente a regra de NAT, de 0 (prioridade mais alta) a 65000 (prioridade mais baixa). Por exemplo, 200
    • NAT_ROUTER: o nome do Cloud Router que você usa para o gateway NAT.
    • REGION: a região do gateway NAT
    • NAT_CONFIG: o nome da configuração NAT
    • IP_ADDRESS_2: o endereço IP externo alocado manualmente que você quer usar para pacotes que correspondem à regra.

Criar um gateway NAT usando um arquivo de regras NAT

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.

Criar um arquivo de regras
rules:
 - ruleNumber: 100
   match: inIpRange(source.ip, '10.10.1.0/24')
   action:
     sourceNatActiveIps:
     -  /projects/PROJECT_ID/regions/REGION/addresses/IP_ADDRESS_1
 - ruleNumber: 200
   match: inIpRange(source.ip, '10.10.2.0/24')
   action:
     sourceNatActiveIps:
     -  /projects/PROJECT_ID/regions/REGION/addresses/IP_ADDRESS_2

No exemplo anterior, IP_ADDRESS_1 e IP_ADDRESS_2 são os endereços IP externo alocados manualmente que você quer usar para pacotes que correspondem às regras. Para cada endereço IP, substitua o seguinte:

  • PROJECT_ID: o projeto do endereço IP
  • REGION: a região em que o endereço IP é reservado.
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 regras NAT a um gateway NAT.

gcloud beta compute routers nats create NAT_CONFIG \
    --router=NAT_ROUTER \
    --region=REGION \
    --nat-all-subnet-ip-ranges \
    --nat-external-ip-pool=IP_ADDRESS_3,[IP_ADDRESS_4] \
    --rules=PATH_TO_NAT_RULE_FILE

Substitua:

  • NAT_CONFIG: um nome para a configuração de NAT
  • NAT_ROUTER: o nome do Cloud Router que você quer usar para o gateway NAT.
  • REGION: a região em que você quer criar o gateway do Cloud NAT
  • IP_ADDRESS_3 e IP_ADDRESS_4: os endereços IP externo que você quer usar para a regra NAT padrão
  • PATH_TO_NAT_RULE_FILE: o caminho para o arquivo de regra de NAT

Criar regras baseadas no destino

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

  • Os pacotes com o endereço de destino 198.51.100.10 precisam usar o endereço IP NAT IP_ADDRESS_1.
  • Os pacotes com o endereço de destino 198.51.100.20/30 precisam usar o endereço IP NAT IP_ADDRESS_2 ou IP_ADDRESS_3.

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

Console

Adicionar regras NAT a um gateway NAT

  1. Adicione uma regra NAT que use IP_ADDRESS_1 para enviar tráfego para 198.51.100.10.

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

      Acesse o Cloud NAT

    2. Clique em Editar.

    3. Em Endereços IP do Cloud NAT, selecione Manual.

    4. Na seção Regras do Cloud NAT, clique em Adicionar uma regra.

    5. No campo Prioridade da regra, insira um número de 0 (prioridade mais alta) a 65000 (prioridade mais baixa). Por exemplo, 100.

    6. Em Corresponder intervalos de IP, selecione Destino.

    7. No campo Intervalos de IP de destino, insira 198.51.100.10.

    8. Na seção Endereços IP, selecione o endereço que você quer usar para IP_ADDRESS_1.

    9. Clique em Concluído.

  2. Adicione uma regra NAT que use IP_ADDRESS_2 ou IP_ADDRESS_3 para enviar o tráfego para 198.51.100.20/30.

    1. Na seção Regras do Cloud NAT, clique em Adicionar uma regra.
    2. No campo Prioridade da regra, insira um número de 0 (prioridade mais alta) a 65000 (prioridade mais baixa). Por exemplo, 200.
    3. Em Corresponder intervalos de IP, selecione Destino.
    4. No campo Intervalos de IP de destino, insira 198.51.100.20/30.
    5. Na seção Endereços IP, selecione o endereço que você quer usar para IP_ADDRESS_2.
    6. Clique em Adicionar endereço IP e selecione o endereço que você quer usar para IP_ADDRESS_3.
    7. Clique em Concluído.
    8. Clique em 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 regras NAT a um gateway NAT

É possível adicionar uma nova regra NAT usando o comando de regras NAT. Substitua NAT_RULE_PRIORITY pela prioridade da regra NAT que você quer atribuir a ela, de 0 (mais alta) a 65000 (mais baixa), 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_PRIORITY \
    --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_PRIORITY \
    --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 regras 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 Trusted Cloud , acesse a página do Cloud NAT.

    Acesse o Cloud NAT

  2. Clique no seu gateway NAT.
  3. Clique em 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. Clique em Concluído.
  7. Clique em Salvar.

gcloud

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

Para atualizar um gateway NAT com o arquivo de regras NAT, use o comando gcloud compute routers nats update.

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_PRIORITY pelo número de prioridade da regra NAT 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_PRIORITY \
    --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 Trusted Cloud , acesse a página do Cloud NAT.

    Acesse o Cloud NAT

  2. Clique no seu gateway NAT.
  3. Clique em 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_PRIORITY pelo número de prioridade da regra NAT e as outras variáveis por informações que correspondem à sua configuração.

gcloud compute routers nats rules delete NAT_RULE_PRIORITY \
    --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 Trusted Cloud , acesse a página do Cloud NAT.

    Acesse o Cloud NAT

  2. Clique no seu gateway NAT.
  3. Veja as regras NAT.

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

  1. Clique em Editar.
  2. No título Regras personalizadas, selecione uma regra NAT.
  3. Veja as informações adicionais.
  4. Clique em Cancelar.

gcloud

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

gcloud compute routers nats rules describe NAT_RULE_PRIORITY \
    --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 Trusted Cloud , acesse a página do Cloud NAT.

    Acesse o Cloud NAT

  2. Clique no 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 ...]