Configure e faça a gestão das regras do Cloud NAT

Esta página descreve como configurar regras do Cloud NAT para o NAT público. Antes de configurar regras do Cloud NAT, consulte a vista geral das regras do Cloud NAT.

Crie regras de NAT

Para criar regras de NAT, o Cloud NAT usa o Idioma de expressão comum (IEC), conforme descrito em Linguagem de expressão de regras. Para ver exemplos de expressões que pode usar nas regras de NAT, consulte Exemplos de expressões.

Se quiser criar regras de NAT, certifique-se de que o mapeamento independente do ponto final está desativado para o gateway NAT.

Crie regras baseadas na origem

Os passos nesta secção descrevem como criar regras de NAT baseadas na origem para as seguintes condições:

  1. Os pacotes do intervalo de IPs de origem 10.10.1.0/24 têm de usar IP_ADDRESS_1.
  2. Os pacotes do intervalo de IPs de origem 10.10.2.0/24 têm de usar IP_ADDRESS_2.
  3. Todos os outros pacotes têm de usar IP_ADDRESS_3.

Para as condições 1 e 2, cria duas regras de NAT. A condição 3 é cumprida pela regra NAT predefinida para a correspondência de endereços de origem. IP_ADDRESS_1, IP_ADDRESS_2 e IP_ADDRESS_3 são os endereços IP externos que quer usar para NAT.

Consola

Adicione regras de NAT a um gateway NAT existente

  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. Na Google Cloud consola, aceda à página Cloud NAT.

      Aceda ao Cloud NAT

    2. Clique no gateway de NAT.

    3. Clique em Edit.

    4. Para endereços IP do Cloud NAT, selecione Manual.

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

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

    7. Para Corresponder a intervalos de IP, selecione Origem.

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

    9. Na secção Endereços IP, selecione o endereço IP que quer usar para o 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 secção Regras do Cloud NAT, clique em Adicionar uma regra.
    2. No campo Prioridade da regra, introduza um número de 0 (prioridade mais elevada) a 65000 (prioridade mais baixa). Por exemplo, 200.
    3. Para Corresponder a intervalos de IP, selecione Origem.
    4. No campo Intervalos IP de origem, introduza 10.10.2.0/24.
    5. Na secção Endereços IP, selecione o endereço IP que quer usar para o IP_ADDRESS_2.
    6. Clique em Concluído.
    7. Clique em Guardar para guardar ambas as regras.

gcloud

Pode usar os passos nas secções seguintes para criar um ficheiro de regras, criar um gateway NAT da Cloud que use as regras no ficheiro de regras ou adicionar regras a um gateway NAT existente.

Adicione regras de NAT a um gateway NAT existente

Pode adicionar uma nova regra de NAT através do comando gcloud beta compute routers nats rules create.

  1. Adicione uma regra NAT que use IP_ADDRESS_1 para 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 o seguinte:

    • NAT_RULE_PRIORITY: um número de regra que identifica exclusivamente a regra NAT, de 0 (prioridade mais elevada) a 65000 (prioridade mais baixa), por exemplo, 100
    • NAT_ROUTER: o nome do Cloud Router que usa para a gateway NAT
    • REGION: a região do gateway NAT
    • NAT_CONFIG: o nome da configuração de NAT
    • IP_ADDRESS_1: o endereço IP externo atribuído manualmente que quer usar para pacotes que correspondam à regra
  2. Adicione uma regra NAT que use IP_ADDRESS_2 para 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 o seguinte:

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

Crie um gateway de NAT com um ficheiro de regras de NAT

O seguinte exemplo de código é um ficheiro de regras de exemplo. Pode modificar este ficheiro de regras para se adequar ao seu exemplo de utilização ou ignorar este passo se já tiver um ficheiro de regras.

Crie um ficheiro 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 externos atribuídos manualmente que quer usar para pacotes que correspondam às regras. Para cada endereço IP, substitua o seguinte:

  • PROJECT_ID: o projeto do endereço IP
  • REGION: a região onde o endereço IP está reservado
Crie um gateway de NAT com um ficheiro de regras de NAT

O comando seguinte cria um gateway NAT e configura-o com regras de um ficheiro de regras NAT. Se já tiver um gateway NAT configurado, consulte o artigo Adicione regras NAT a um gateway NAT existente.

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 o seguinte:

  • NAT_CONFIG: um nome para a configuração de NAT
  • NAT_ROUTER: o nome do Cloud Router que quer usar para a gateway NAT
  • REGION: a região onde quer criar o gateway do Cloud NAT
  • IP_ADDRESS_3 e IP_ADDRESS_4: os endereços IP externos que quer usar para a regra NAT predefinida
  • PATH_TO_NAT_RULE_FILE: o caminho para o ficheiro de regras NAT

Crie regras baseadas no destino

Os passos de configuração do exemplo seguinte cumprem as seguintes condições:

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

Pode criar uma regra de NAT para cumprir cada uma destas condições.

Consola

Adicione regras de NAT a um gateway NAT existente

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

    1. Na Google Cloud consola, aceda à página Cloud NAT.

      Aceda ao Cloud NAT

    2. Clique em Edit.

    3. Para endereços IP do Cloud NAT, selecione Manual.

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

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

    6. Para Fazer corresponder intervalos de IP, selecione Destino.

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

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

    9. Clique em Concluído.

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

    1. Na secção Regras do Cloud NAT, clique em Adicionar uma regra.
    2. No campo Prioridade da regra, introduza um número de 0 (prioridade mais elevada) a 65000 (prioridade mais baixa). Por exemplo, 200.
    3. Para Fazer corresponder intervalos de IP, selecione Destino.
    4. No campo Intervalos de IP de destino, introduza 198.51.100.20/30.
    5. Na secção Endereços IP, selecione o endereço IP que quer usar para o IP_ADDRESS_2.
    6. Clique em Adicionar endereço IP e selecione o endereço IP que quer usar para IP_ADDRESS_3.
    7. Clique em Concluído.
    8. Clique em Guardar para guardar ambas as regras.

gcloud

Pode usar os passos nas secções seguintes para criar um ficheiro de regras, criar um gateway NAT que use as regras no ficheiro de regras ou adicionar regras a um gateway NAT existente.

Adicione regras de NAT a um gateway NAT existente

Pode adicionar uma nova regra NAT através do comando de regra NAT. Substitua NAT_RULE_PRIORITY pela prioridade da regra NAT que quer atribuir à regra, de 0 (mais alta) a 65000 (mais baixa), e substitua as outras variáveis por informações correspondentes à sua configuração.

Primeiro, adicione uma regra NAT que envie 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 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 ...]

Crie um ficheiro de regras

O seguinte exemplo de código é um ficheiro de regras de exemplo. Pode modificar este ficheiro de regras para se adequar ao seu exemplo de utilização ou ignorar este passo se já tiver um ficheiro de regras.

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

Crie um gateway de NAT com um ficheiro de regras de NAT

O comando seguinte cria um gateway NAT e configura-o com regras de um ficheiro de regras NAT. Se já tiver um gateway NAT configurado, consulte o artigo Adicione regras NAT a um gateway NAT existente. Substitua as variáveis por informações que correspondam à 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 ...]

Atualize as regras de NAT

Para atualizar as regras de NAT, siga os passos nas secções seguintes. Só pode usar ficheiros de regras com a ferramenta de linha de comandos gcloud.

Consola

  1. Na Google Cloud consola, aceda à página Cloud NAT.

    Aceda ao Cloud NAT

  2. Clique no gateway de NAT.
  3. Clique em Edit.
  4. Em Regras personalizadas, clique na regra que quer atualizar.
  5. Nos campos expandidos, pode modificar as informações que quer alterar.
  6. Clique em Concluído.
  7. Clique em Guardar.

gcloud

Atualize através de um ficheiro de regras NAT

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

Substitua as variáveis por informações que correspondam à sua configuração.

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

O seguinte exemplo de código é um ficheiro de regras de exemplo. Tenha em atenção a ação sourceNatDrainIps, que impede novas associações ao destino através de IP_ADDRESS1, mas mantém as associações existentes.

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

Atualize através de um comando de regra de NAT

Para atualizar uma única regra NAT, use o seguinte comando. Substitua NAT_RULE_PRIORITY pelo número de prioridade da regra de NAT e substitua as outras variáveis por informações que correspondam à sua configuração. Tenha em atenção a opção source-nat-drain-ips, que impede novas ligações ao destino através de IP_ADDRESS3 e IP_ADDRESS4, mas mantém as ligações existentes.

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

Elimine regras de NAT

Consola

  1. Na Google Cloud consola, aceda à página Cloud NAT.

    Aceda ao Cloud NAT

  2. Clique no gateway de NAT.
  3. Clique em