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:
- Os pacotes do intervalo de IP de origem
10.10.1.0/24
precisam usarIP_ADDRESS_1
. - Os pacotes do intervalo de IP de origem
10.10.2.0/24
precisam usarIP_ADDRESS_2
. - 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
Adicione uma regra NAT que corresponda ao tráfego de
10.10.1.0/24
e traduza o IP de origem paraIP_ADDRESS_1
.No console do Trusted Cloud , acesse a página Cloud NAT.
Clique no seu gateway NAT.
Clique em Editar.
Em Endereços IP do Cloud NAT, selecione Manual.
Na seção Regras do Cloud NAT, clique em Adicionar uma regra.
No campo Prioridade da regra, insira um número de
0
(prioridade mais alta) a65000
(prioridade mais baixa). Por exemplo,100
.Em Corresponder intervalos de IP, selecione Origem.
No campo Intervalos de IP de origem, insira
10.10.1.0/24
.Na seção Endereços IP, selecione o endereço que você quer usar para
IP_ADDRESS_1
.Clique em Concluído.
Adicione uma regra NAT que corresponda ao tráfego de
10.10.2.0/24
e o traduza paraIP_ADDRESS_2
.- Na seção Regras do Cloud NAT, clique em Adicionar uma regra.
- No campo Prioridade da regra, insira um número de
0
(prioridade mais alta) a65000
(prioridade mais baixa). Por exemplo,200
. - Em Corresponder intervalos de IP, selecione Origem.
- No campo Intervalos de IP de origem, insira
10.10.2.0/24
. - Na seção Endereços IP, selecione o endereço que você quer
usar para
IP_ADDRESS_2
. - Clique em Concluído.
- 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
.
Adicione uma regra NAT que use
IP_ADDRESS_1
para o tráfego de10.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, de0
(prioridade mais alta) a65000
(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 NATNAT_CONFIG
: o nome da configuração NATIP_ADDRESS_1
: o endereço IP externo alocado manualmente que você quer usar para pacotes que correspondem à regra.
Adicione uma regra NAT que use
IP_ADDRESS_2
para o tráfego de10.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, de0
(prioridade mais alta) a65000
(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 NATNAT_CONFIG
: o nome da configuração NATIP_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 IPREGION
: 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 NATNAT_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 NATIP_ADDRESS_3
eIP_ADDRESS_4
: os endereços IP externo que você quer usar para a regra NAT padrãoPATH_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 NATIP_ADDRESS_1
. - Os pacotes com o endereço de destino
198.51.100.20/30
precisam usar o endereço IP NATIP_ADDRESS_2
ouIP_ADDRESS_3
.
É possível criar uma regra NAT para atender a cada uma dessas condições.
Console
Adicionar regras NAT a um gateway NAT
Adicione uma regra NAT que use
IP_ADDRESS_1
para enviar tráfego para198.51.100.10
.No console do Trusted Cloud , acesse a página Cloud NAT.
Clique em Editar.
Em Endereços IP do Cloud NAT, selecione Manual.
Na seção Regras do Cloud NAT, clique em Adicionar uma regra.
No campo Prioridade da regra, insira um número de
0
(prioridade mais alta) a65000
(prioridade mais baixa). Por exemplo,100
.Em Corresponder intervalos de IP, selecione Destino.
No campo Intervalos de IP de destino, insira
198.51.100.10
.Na seção Endereços IP, selecione o endereço que você quer usar para
IP_ADDRESS_1
.Clique em Concluído.
Adicione uma regra NAT que use
IP_ADDRESS_2
ouIP_ADDRESS_3
para enviar o tráfego para198.51.100.20/30
.- Na seção Regras do Cloud NAT, clique em Adicionar uma regra.
- No campo Prioridade da regra, insira um número de
0
(prioridade mais alta) a65000
(prioridade mais baixa). Por exemplo,200
. - Em Corresponder intervalos de IP, selecione Destino.
- No campo Intervalos de IP de destino, insira
198.51.100.20/30
. - Na seção Endereços IP, selecione o endereço que você quer
usar para
IP_ADDRESS_2
. - Clique em Adicionar endereço IP e selecione o endereço que você quer
usar para
IP_ADDRESS_3
. - Clique em Concluído.
- 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
- No console do Trusted Cloud , acesse a página do Cloud NAT.
- Clique no seu gateway NAT.
- Clique em Editar.
- Em Regras personalizadas, clique na regra que você quer atualizar.
- Nos campos expandidos, é possível modificar as informações que você quiser alterar.
- Clique em Concluído.
- 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
- No console do Trusted Cloud , acesse a página do Cloud NAT.
- Clique no seu gateway NAT.
- Clique em Editar.
- Em Regras personalizadas, mantenha o ponteiro do mouse sobre a regra que você quer excluir. Clique em .
- 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.
- No console do Trusted Cloud , acesse a página do Cloud NAT.
- Clique no seu gateway NAT.
- Veja as regras NAT.
Para mais informações sobre uma regra NAT individual, faça o seguinte:
- Clique em Editar.
- No título Regras personalizadas, selecione uma regra NAT.
- Veja as informações adicionais.
- 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.
- No console do Trusted Cloud , acesse a página do Cloud NAT.
- Clique no seu gateway NAT.
- 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 ...]