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:
- Os pacotes do intervalo de IPs de origem
10.10.1.0/24têm de usarIP_ADDRESS_1. - Os pacotes do intervalo de IPs de origem
10.10.2.0/24têm de usarIP_ADDRESS_2. - 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
Adicione uma regra NAT que corresponda ao tráfego de
10.10.1.0/24e traduza o IP de origem paraIP_ADDRESS_1.Na Google Cloud consola, aceda à página Cloud NAT.
Clique no gateway de NAT.
Clique em Edit.
Para endereços IP do Cloud NAT, selecione Manual.
Na secção Regras do Cloud NAT, clique em Adicionar uma regra.
No campo Prioridade da regra, introduza um número de
0(prioridade mais elevada) a65000(prioridade mais baixa). Por exemplo,100.Para Corresponder a intervalos de IP, selecione Origem.
No campo Intervalos IP de origem, introduza
10.10.1.0/24.Na secção Endereços IP, selecione o endereço IP que quer usar para o
IP_ADDRESS_1.Clique em Concluído.
Adicione uma regra NAT que corresponda ao tráfego de
10.10.2.0/24e o traduza paraIP_ADDRESS_2.- Na secção Regras do Cloud NAT, clique em Adicionar uma regra.
- No campo Prioridade da regra, introduza um número de
0(prioridade mais elevada) a65000(prioridade mais baixa). Por exemplo,200. - Para Corresponder a intervalos de IP, selecione Origem.
- No campo Intervalos IP de origem, introduza
10.10.2.0/24. - Na secção Endereços IP, selecione o endereço IP que quer usar para o
IP_ADDRESS_2. - Clique em Concluído.
- 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.
Adicione uma regra NAT que use
IP_ADDRESS_1para 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_1Substitua o seguinte:
NAT_RULE_PRIORITY: um número de regra que identifica exclusivamente a regra NAT, de0(prioridade mais elevada) a65000(prioridade mais baixa), por exemplo,100NAT_ROUTER: o nome do Cloud Router que usa para a gateway NATREGION: a região do gateway NATNAT_CONFIG: o nome da configuração de NATIP_ADDRESS_1: o endereço IP externo atribuído manualmente que quer usar para pacotes que correspondam à regra
Adicione uma regra NAT que use
IP_ADDRESS_2para 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_2Substitua o seguinte:
NAT_RULE_PRIORITY: um número de regra que identifica exclusivamente a regra NAT, de0(prioridade mais elevada) a65000(prioridade mais baixa), por exemplo,200NAT_ROUTER: o nome do Cloud Router que usa para a gateway NATREGION: a região do gateway de NATNAT_CONFIG: o nome da configuração de NATIP_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 IPREGION: 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 NATNAT_ROUTER: o nome do Cloud Router que quer usar para a gateway NATREGION: a região onde quer criar o gateway do Cloud NATIP_ADDRESS_3eIP_ADDRESS_4: os endereços IP externos que quer usar para a regra NAT predefinidaPATH_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.10têm de usar o endereço IP NATIP_ADDRESS_1. - Os pacotes com o endereço de destino
198.51.100.20/30têm de usar o endereço IP NATIP_ADDRESS_2ouIP_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
Adicione uma regra NAT que use
IP_ADDRESS_1para enviar tráfego para198.51.100.10.Na Google Cloud consola, aceda à página Cloud NAT.
Clique em Edit.
Para endereços IP do Cloud NAT, selecione Manual.
Na secção Regras do Cloud NAT, clique em Adicionar uma regra.
No campo Prioridade da regra, introduza um número de
0(prioridade mais elevada) a65000(prioridade mais baixa). Por exemplo,100.Para Fazer corresponder intervalos de IP, selecione Destino.
No campo Intervalos de IP de destino, introduza
198.51.100.10.Na secção Endereços IP, selecione o endereço IP que quer usar para o
IP_ADDRESS_1.Clique em Concluído.
Adicione uma regra NAT que use
IP_ADDRESS_2ouIP_ADDRESS_3para enviar tráfego para198.51.100.20/30.- Na secção Regras do Cloud NAT, clique em Adicionar uma regra.
- No campo Prioridade da regra, introduza um número de
0(prioridade mais elevada) a65000(prioridade mais baixa). Por exemplo,200. - Para Fazer corresponder intervalos de IP, selecione Destino.
- No campo Intervalos de IP de destino, introduza
198.51.100.20/30. - Na secção Endereços IP, selecione o endereço IP que quer usar para o
IP_ADDRESS_2. - Clique em Adicionar endereço IP e selecione o endereço IP que quer usar para
IP_ADDRESS_3. - Clique em Concluído.
- 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
- Na Google Cloud consola, aceda à página Cloud NAT.
- Clique no gateway de NAT.
- Clique em Edit.
- Em Regras personalizadas, clique na regra que quer atualizar.
- Nos campos expandidos, pode modificar as informações que quer alterar.
- Clique em Concluído.
- 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
- Na Google Cloud consola, aceda à página Cloud NAT.
- Clique no gateway de NAT.
- Clique em