Public NAT
O Public NAT permite que as instâncias de máquina virtual (VM) se comuniquem com a Internet alocando um conjunto de endereços IPv4 externos compartilhados e portas de origem para cada VM que usa o Public NAT para criar conexões de saída com a Internet. Google Cloud
Com o NAT público, as instâncias de VM que não têm endereços IPv4 externos podem se comunicar com destinos IPv4 na Internet. O NAT público também permite que as instâncias de VM com endereços IPv6 externos ou internos se conectem a destinos IPv4 na Internet (pré-lançamento).
Especificações
O NAT público oferece suporte à conversão de endereços de rede (NAT) para o seguinte:
De IPv4 para IPv4 ou NAT44. Para mais informações, consulte NAT44 no Public NAT.
De IPv6 para IPv4 ou NAT64 (Pré-lançamento). O Public NAT oferece suporte a NAT64 para instâncias de VM do Compute Engine. Para nós do GKE, tráfego sem servidor e NEGs regionais da Internet, o NAT público traduz apenas o tráfego IPv4. Para mais informações, consulte NAT64 no NAT público.
Especificações gerais
Para pacotes de origem IPv4, é possível configurar o Public NAT para fornecer NAT para pacotes enviados do seguinte:
O endereço IP interno principal da interface de rede da VM do Compute Engine, desde que a interface de rede não tenha um endereço IP externo atribuído a ela. Se a interface de rede tiver um endereço IP externo atribuído a ela, Google Cloud executará automaticamente NAT individual para pacotes cujas origens correspondem ao endereço IP interno principal da interface, porque a interface de rede atende aos Google Cloud requisitos de acesso à Internet. A existência de um endereço IP externo em uma interface sempre tem precedência e sempre realiza NAT um para um, sem usar o Public NAT.
Um intervalo de IP de alias atribuído à interface de rede da VM. Mesmo que a interface de rede tenha um endereço IP externo atribuído a ela, é possível configurar um gateway do Cloud NAT para que o Public NAT forneça NAT para pacotes cujas origens sejam provenientes de um intervalo de IP de alias da interface. Um endereço IP externo em uma interface nunca realiza NAT um para um para endereços IP de alias.
Para clusters do Google Kubernetes Engine (GKE), o Public NAT pode fornecer serviços, mesmo se o cluster tiver endereços IP externos em determinadas circunstâncias. Para mais detalhes, consulte Interação do GKE.
Para pacotes de origem IPv6, é possível configurar o Public NAT para fornecer
NAT para pacotes enviados do
intervalo de endereço /96
externo ou interno da interface de rede
somente IPv6 da VM (Visualização).
O Public NAT permite conexões de saída e as respostas de entrada para essas conexões. Cada gateway do Cloud NAT para NAT público realiza NAT de origem na saída e NAT de destino para pacotes de resposta estabelecidos.
O Public NAT não permite solicitações de entrada não solicitadas da Internet, mesmo se as regras de firewall permitirem essas solicitações. Para mais informações, consulte RFCs aplicáveis.
Cada gateway do Cloud NAT para NAT público está associado a uma única rede VPC, região e Cloud Router. O gateway do Cloud NAT e o Cloud Router fornecem um plano de controle. Eles não estão envolvidos no plano de dados, portanto, os pacotes não passam pelo gateway do Cloud NAT ou pelo Cloud Router.
Rotas e regras de firewall
O Public NAT depende de rotas em que os próximos saltos são o gateway de Internet padrão. Uma rota padrão geralmente atende a esse requisito. Para mais informações, consulte interações de rotas.
O NAT público não tem requisitos de regra do Cloud NGFW. As regras de firewall são aplicadas diretamente às interfaces de rede das VMs do Compute Engine, não aos gateways do Cloud NAT para o NAT público.
Você não precisa criar regras de firewall especiais que permitam conexões de ou para endereços IP NAT. Quando um gateway do Cloud NAT para Public NAT fornece NAT para a interface de rede de uma VM, as regras de firewall de saída aplicáveis são avaliadas como pacotes para essa interface de rede antes de NAT. As regras de firewall de entrada são avaliadas depois que os pacotes são processados pelo NAT.
Aplicabilidade da faixa de endereços IP de sub-rede
É possível configurar um gateway do Cloud NAT para o Public NAT
e fornecer NAT para intervalos de endereços de sub-rede IPv4, sub-rede IPv6
ou ambos. Para intervalos de endereços de sub-rede IPv4, o gateway traduz o tráfego do
endereço IP interno principal da interface de rede da VM, intervalos de IP de alias ou
ambos. Para intervalos de endereços de sub-rede IPv6, o gateway traduz o tráfego do
intervalo de endereços IPv6 /96
externo ou interno da interface de rede
(pré-lançamento).
Para intervalos de endereços de sub-rede IPv4, você pode configurar o gateway do Cloud NAT para fornecer NAT para os seguintes itens:
-
Intervalos de endereços IPv4 primários e secundários de todas as sub-redes na região. Um único gateway do Cloud NAT fornece NAT para os endereços IP internos principais e todos os intervalos de IP do alias das VMs qualificadas cujas interfaces de rede usam uma sub-rede IPv4 na região.
-
Intervalos de endereços IPv4 principais de todas as sub-redes na região. Um único gateway do Cloud NAT fornece NAT para os endereços IP internos principais e intervalos de IP do alias dos intervalos de endereços IP principais das VMs qualificadas com interfaces de rede que usam uma sub-rede IPv4 na região. É possível criar outros gateways do Cloud NAT para o Public NAT na região para fornecer NAT para intervalos de IP de alias a partir de intervalos de endereços IP de sub-redes secundários de VMs qualificadas.
-
Lista de sub-redes personalizadas. Um único gateway do Cloud NAT fornece NAT para os endereços IP internos principais e todos os intervalos de IP do alias das VMs qualificadas com interfaces de rede que usam uma sub-rede IPv4 de uma lista de sub-redes especificadas.
-
Intervalos de endereços IPv4 de sub-rede personalizados. É possível criar quantos gateways do Cloud NAT para o Public NAT forem necessários, sujeitos a cotas e limites do Public NAT. Você escolhe quais intervalos de endereços IP primários ou secundários da sub-rede serão disponibilizados por cada gateway.
Para intervalos de endereços de sub-rede IPv6, é possível configurar o gateway do Cloud NAT para fornecer NAT para os seguintes itens (Pré-lançamento):
- Intervalos de endereços IPv6 externos e internos de todas as sub-redes na região. Um único gateway do Cloud NAT fornece NAT para todos os intervalos de endereços IPv6 externos e internos na região.
- Lista de sub-redes personalizadas. Um único gateway do Cloud NAT oferece NAT para os intervalos de endereços IPv6 externos e internos das sub-redes especificadas.
Vários gateways NAT do Cloud
É possível ter vários gateways do Cloud NAT para o NAT público na mesma região de uma rede VPC se uma das seguintes condições for verdadeira:
Cada gateway está configurado para uma sub-rede diferente.
Em uma única sub-rede, cada gateway é configurado para um intervalo de endereços IP diferente. É possível mapear um gateway NAT do Cloud para NAT pública para uma sub-rede ou um intervalo de endereços IP específico usando um mapeamento NAT do Cloud personalizado.
Desde que os gateways NAT mapeados não se sobreponham, é possível criar quantos gateways do Cloud NAT para o Public NAT forem necessários, sujeitos às cotas e limites do Public NAT. Para mais informações, consulte Limitações dos gateways do Cloud NAT.
Largura de banda
Usar um gateway do Cloud NAT para o Public NAT não altera a quantidade de largura de banda de entrada ou de saída que uma VM pode usar. Para especificações de largura de banda, que variam por tipo de máquina, consulte Largura de banda de rede na documentação do Compute Engine.
VMs com várias interfaces de rede
Se você configurar uma VM para ter várias interfaces de rede, cada interface precisará estar em uma rede VPC separada. Consequentemente, os seguintes itens são verdadeiros:
- Um gateway do Cloud NAT para NAT público só pode ser aplicado a uma única interface de rede de uma VM. Gateways NAT separados do Cloud para o Public NAT podem fornecer NAT para a mesma VM, onde cada gateway se aplica a uma interface separada.
- Uma interface de uma VM com várias interfaces de rede pode ter um endereço IPv4 externo, o que torna essa interface inelegível para NAT pública, enquanto outra interface pode ser qualificada para NAT se ela não tiver um endereço IPv4 externo e você tiver configurado um gateway do Cloud NAT para NAT pública se aplicar ao intervalo de endereços IP da sub-rede apropriado. Para IPv6, os endereços IPv6 externos e internos são compatíveis (pré-lançamento).
Portas e endereços IP NAT
Ao criar um gateway do Cloud NAT para o Public NAT, você pode optar por fazer com que o gateway aloque endereços IP externos regionais automaticamente. Como alternativa, você pode atribuir manualmente um número fixo de endereços IP externos regionais ao gateway.
Para um gateway do Cloud NAT para o Public NAT com alocação automática de endereços IP NAT, considere o seguinte:
- Selecione os níveis de serviço de rede (nível Premium ou Standard) em que o gateway do Cloud NAT aloca os endereços IP.
Quando você muda o nível de um gateway do Cloud NAT para o Public NAT que alocou automaticamente endereços IP NAT, Google Cloud libera todos os endereços IP atribuídos para esse gateway e desativa todas as alocações de porta.
Um novo conjunto de endereços IP do nível recém-selecionado é alocado automaticamente, e novas alocações de porta são fornecidas para todos os endpoints.
Para um determinado gateway do Cloud NAT para o Public NAT, também é possível atribuir manualmente endereços IP do nível Premium, Padrão ou ambos, sujeitos a determinadas condições.
Para detalhes sobre a atribuição de endereços IP NAT, consulte Endereços IP do Public NAT.
É possível configurar o número de portas de origem que cada gateway do Cloud NAT para Public NAT reserva em cada VM para a qual ele fornece serviços NAT. É possível configurar a alocação de porta estática, em que o mesmo número de portas é reservado para cada VM, ou alocação dinâmica de portas em que o número de portas reservadas pode variar entre os limites mínimo e máximo especificados.
As VMs para as quais NAT deve ser fornecida são determinadas pelos intervalos de endereços IP de sub-rede que o gateway está configurado para veicular.
Para mais informações sobre portas, consulte Portas.
RFCs aplicáveis
O Public NAT é compatível com Mapeamento independente de endpoint e Filtragem dependente de endpoint, conforme definido no RFC 5128 (link em inglês). É possível ativar ou desativar o mapeamento independente de endpoint. Por padrão, o mapeamento independente de endpoint fica desativado quando você cria um gateway NAT.
Mapeamento independente de endpoint significa que, se uma VM envia pacotes de um determinado endereço IP interno e par de portas para vários destinos diferentes, o gateway mapeia todos esses pacotes para o mesmo NAT. Endereço IP e par de portas, independentemente do destino dos pacotes. Para mais detalhes e implicações para o mapeamento independente de endpoint, consulte Reutilização simultânea de portas e mapeamento independente de endpoint.
Filtragem dependente de endpoint significa que os pacotes de resposta da Internet poderão entrar apenas se forem de um endereço IP e de uma porta para onde uma VM já enviou pacotes. A filtragem depende do endpoint, independentemente do tipo de mapeamento de endpoints. Este recurso está sempre ativado e não pode ser configurado pelo usuário.
Para mais informações sobre a relação entre portas e conexões, consulte Portas e conexões e o Exemplo de fluxo NAT.
O Public NAT é uma NAT cone restrito de porta, conforme definido no RFC 3489.
Travessia de NAT
Se o mapeamento independente de endpoint estiver ativado, o Public NAT será compatível com protocolos NAT tradicionais, como STUN e TURN, se você implantar seus próprios servidores STUN ou TURN:
- STUN (Session Traversal Utilities para NAT, RFC 5389) permite a comunicação direta entre VMs por trás de NAT quando um canal de comunicação é estabelecido.
- O TURN (Transversal usando relés em torno do NAT, RFC 5766) permite a comunicação entre VMs por meio de um terceiro servidor no qual esse servidor tem um endereço IP externo. Cada VM se conecta ao endereço IP externo do servidor e esse servidor retransmite a comunicação entre as duas VMs. A TURN é mais robusta, mas consome mais largura de banda e recursos.
Tempo limite de NAT
O NAT público define tempos limite para conexões de protocolo. Para informações sobre esses tempos limite e os valores padrão deles, consulte Tempos limite de NAT.
NAT44 no NAT público
O diagrama a seguir mostra uma configuração básica do NAT público para tráfego IPv4:
Neste exemplo:
O gateway
nat-gw-us-east
está configurado para ser aplicado ao intervalo de endereços IP principal desubnet-1
na regiãous-east1
. Uma VM cuja interface de rede não tem um endereço IP externo pode enviar tráfego à Internet usando o endereço IP interno principal ou um intervalo de IP do alias do intervalo de endereços IP principal desubnet-1
,10.240.0.0/16
.Uma VM cuja interface de rede não tem um endereço IP externo e cujo endereço IP interno principal está localizado em
subnet-2
não pode acessar a Internet porque nenhum gateway do Cloud NAT se aplica a qualquer intervalo de endereços IP dessa sub-rede.O gateway
nat-gw-eu
está configurado para ser aplicado ao intervalo de endereços IP principal desubnet-3
na regiãoeurope-west1
. Uma VM cuja interface de rede não tem um endereço IP externo pode enviar tráfego à Internet usando o endereço IP interno principal ou um intervalo de IP do alias do intervalo de endereços IP principal desubnet-3
,192.168.1.0/24
.
Exemplo de fluxo de trabalho
No diagrama anterior, uma VM com endereço IP interno principal 10.240.0.4
, sem um endereço IP externo, precisa fazer o download de uma atualização do endereço IP externo 203.0.113.1
. No diagrama, o gateway nat-gw-us-east
é configurado da seguinte maneira:
- Mínimo de portas por instância:
64
- Dois endereços IP NAT atribuídos manualmente:
192.0.2.50
e192.0.2.60
- NAT fornecido para o intervalo de endereços IP primários de
subnet-1
O Public NAT segue o procedimento de reserva de porta para reservar o seguinte endereço IP de origem e as tuplas de porta de origem do NAT para cada uma das VMs na rede. Por exemplo, o
gateway do Cloud NAT para Public NAT reserva 64 portas
de origem para a VM com endereço IP
interno 10.240.0.4
. O endereço IP NAT 192.0.2.50
tem 64 portas não reservadas. Portanto, o gateway reserva o seguinte conjunto de 64 endereços IP de origem NAT e tuplas de porta de origem para essa VM:
192.0.2.50
:34000
até192.0.2.50
:34063
Quando a VM envia um pacote para o servidor de atualização 203.0.113.1
na porta de destino 80
, usando o protocolo TCP, ocorre o seguinte:
A VM envia um pacote de solicitação com estes atributos:
- Endereço IP de origem:
10.240.0.4
, o endereço IP interno primário da VM - Porta de origem:
24000
, a porta de origem temporária escolhida pelo sistema operacional da VM - Endereço de destino:
203.0.113.1
, o endereço IP externo do servidor de atualização - Porta de destino:
80
, a porta de destino do tráfego HTTP para o servidor de atualizações - Protocolo:
TCP
- Endereço IP de origem:
O gateway
nat-gw-us-east
executa a conversão de endereços de rede de origem (SNAT, na sigla em inglês) na saída, reescrevendo o endereço IP de origem e a porta de origem do pacote de solicitação. O pacote modificado será enviado para a Internet se a rede de nuvem privada virtual (VPC) tiver uma rota para o destino203.0.113.1
em que o próximo salto seja o gateway de Internet padrão. Uma rota padrão geralmente atende a esse requisito.- Endereço IP de origem NAT:
192.0.2.50
, de um dos endereços IP de origem NAT reservados da VM e das tuplas da porta de origem - Porta de origem:
34022
, uma porta de origem não utilizada de uma das tuplas de porta de origem reservadas da VM - Endereço de destino:
203.0.113.1
, inalterado - Porta de destino:
80
, inalterada - Protocolo:
TCP
, inalterado
- Endereço IP de origem NAT:
Quando o servidor de atualização envia um pacote de resposta, esse pacote chega ao gateway
nat-gw-us-east
com estes atributos:- Endereço IP de origem:
203.0.113.1
, o endereço IP externo do servidor de atualização - Porta de origem:
80
, a resposta HTTP do servidor de atualização - Endereço de destino:
192.0.2.50
, que corresponde ao endereço IP de origem da NAT original do pacote de solicitação - Porta de destino:
34022
, que corresponde à porta de origem do pacote de solicitação - Protocolo:
TCP
, inalterado
- Endereço IP de origem:
O gateway
nat-gw-us-east
executa a conversão de endereços de rede de destino (DNAT, na sigla em inglês) no pacote de resposta, reescrevendo o endereço de destino e a porta de destino do pacote de resposta para que o pacote seja entregue à VM:- Endereço IP de origem:
203.0.113.1
, inalterado - Porta de origem:
80
, inalterada - Endereço de destino:
10.240.0.4
, o endereço IP interno primário da VM - Porta de destino:
24000
, que corresponde à porta de origem temporária original do pacote de solicitação - Protocolo:
TCP
, inalterado
- Endereço IP de origem:
NAT64 no Public NAT
O NAT64 permite que instâncias de VM somente IPv6 se comuniquem com destinos IPv4 na Internet. O NAT público oferece suporte a NAT64 para endereços IPv6 externos e internos. Se você quiser configurar o NAT64, também terá que configurar o DNS64.
A configuração do DNS64 no Cloud DNS ativa o seguinte comportamento:
- Quando uma instância de VM somente IPv6 faz uma solicitação para a Internet,
o Cloud DNS verifica se um registro
AAAA
existe para o destino da solicitação. Se o registro existir, um endereço IPv6 será retornado e a instância de VM somente IPv6 poderá se conectar ao destino IPv6. Se o DNS64 estiver ativado e o registro
AAAA
não for encontrado, o servidor DNS64 procurará registrosA
. Depois que um registroA
é encontrado, o servidor DNS64 sinaliza um endereço IPv6 predefinindo o prefixo64:ff9b::/96
ao endereço IPv4 recebido do registroA
.Por exemplo, se o endereço IPv4 de destino for
203.0.113.1
, o servidor vai retornar64:ff9b::cb00:7101
, em quecb00:7101
é a representação hexadecimal de203.0.113.1
.
Quando a solicitação chega ao gateway do Cloud NAT com o NAT64 ativado, ele realiza a SNAT da seguinte maneira:
- Substitui o endereço e a porta IPv6 de origem por um dos endereços e portas IPv4 externos alocados ao gateway.
Traduz o endereço IPv6 de destino sintetizado, por exemplo,
64:ff9b::cb00:7101
, para o endereço IPv4 original usando os últimos 32 bits do endereço sintetizado.O gateway do Cloud NAT também usa os últimos 32 bits do endereço IPv6 sintetizado para determinar como o pacote de solicitação é roteado para a Internet. Quando uma instância de VM somente IPv6 envia um pacote para um destino que começa com o prefixo
64:ff9b::/96
, o gateway aplica a tabela de roteamento IPv4 da rede VPC ao endereço IPv4 de destino. Se a tabela de roteamento IPv4 tiver uma rota para o endereço IPv4 de destino em que o próximo salto é o gateway de Internet padrão, o pacote modificado será enviado para a Internet.
Quando a resposta é recebida, o gateway do Cloud NAT realiza a DNAT fazendo o seguinte:
- Adicionar o prefixo
64:ff9b::/96
ao endereço IP de origem do pacote de resposta. - Reescrever o endereço de destino e a porta de destino do pacote de resposta para que o pacote seja entregue à VM.
A seguir
- Saiba mais sobre interações com produtos do Cloud NAT.
- Saiba mais sobre endereços e portas do Cloud NAT.
- Configurar o Public NAT.
- Saiba mais sobre as regras do Cloud NAT.
- Criar um Exemplo de configuração do Compute Engine.
- Criar um exemplo de configuração do Google Kubernetes Engine.
- Resolver problemas comuns.