Endereços IP e portas
Esta página descreve como os gateways do Cloud NAT usam endereços IP e como eles alocam portas de origem para instâncias de máquina virtual (VM) do Compute Engine e nós do Google Kubernetes Engine (GKE) que usam gateways.
Antes de analisar essas informações, familiarize-se com a visão geral do Cloud NAT.
Endereços IP do Public NAT
Um endereço IP do Public NAT é um endereço IP externo regional que pode ser roteado na Internet. Uma VM sem um endereço IP externo, que está em uma sub-rede atendida por um gateway do Public NAT, usa um endereço IP do Public NAT quando envia pacotes para um destino na Internet.
Para atribuir endereços IP de conversão de endereços de rede (NAT, na sigla em inglês) a um gateway do Public NAT, use um dos seguintes métodos:
Alocação automática de endereço IP NAT. Quando você seleciona esse método ou escolhe os padrões do Google Cloud, o Public NAT adiciona automaticamente endereços IP externos regionais ao gateway com base no seguinte:
- O nível de rede selecionado
- O número de VMs que usam o gateway
- O número de portas reservadas para cada VM
O Public NAT também remove automaticamente um endereço IP NAT quando ele não precisar mais de nenhuma porta de origem nesse endereço IP NAT.
Veja a seguir as características da alocação automática de endereços IP NAT:
Quando um gateway do Public NAT adiciona um endereço IP NAT, ele cria um endereço IP externo regional estático (reservado) no nível da rede que você selecionou no momento da configuração do gateway. Por exemplo, se você selecionou o nível Premium, o gateway do Public NAT criará o endereço IP nesse nível. Os níveis de rede compatíveis são o nível Premium (opção padrão) e o nível Standard.
Os endereços IP NAT adicionados automaticamente podem ser visualizados na lista de endereços IP externos estáticos. Esses endereços não contam para as cotas por projeto.
- Se você alterar o nível de rede de um gateway do Public NAT, os endereços IP existentes para esse gateway serão liberados e um novo conjunto de endereços IP do nível selecionado será atribuído.
- Com a alocação automática, não é possível prever o próximo endereço IP que está alocado. Se você depende do conjunto de endereços IP possíveis do NAT (por exemplo, para criar uma lista de permissões), use a atribuição manual de endereços IP NAT.
Quando os endereços IP NAT adicionados automaticamente não estiverem mais em uso, eles serão removidos. No entanto, o Public NAT só desaloca um endereço quando a última VM atribuída ao endereço não está mais usando nenhuma porta. Dessa forma, quando o número de VMs que usa o Public NAT cai, talvez você não veja uma redução no IP . O motivo é que o Cloud NAT não realoca dinamicamente as VMs de um endereço IP para outro porque a realocação afeta as conexões estabelecidas. Desde que pelo menos uma VM esteja usando um endereço IP, o endereço IP permanecerá ativo, e novas VMs poderão ser atribuídas a ele.
Se você quiser realocar manualmente as VMs de um endereço IP para outro a fim de minimizar o uso do endereço IP, use as atribuições manuais de endereços IP NAT. A atribuição manual de endereços IP NAT permite a drenagem de endereços IP do Public NAT.
Se você mudar para a atribuição de endereço IP NAT manual mais tarde, os endereços IP externos regionais reservados automaticamente serão excluídos. Para mais informações, consulte Como alternar o método de atribuição.
Atribuição manual de endereços IP NAT. Quando você seleciona essa opção, cria e atribui manualmente endereços IP externos regionais estáticos (reservados) ao seu gateway do Public NAT. É possível atribuir endereços IP manualmente, seja do nível Premium, do nível Standard ou de ambos, sujeitos às condições.
- Aumente ou diminua o número de endereços IP NAT atribuídos manualmente editando o gateway do Cloud NAT.
- Ao usar a atribuição manual de endereços IP NAT, é necessário calcular o número de endereços IP externos regionais necessários para o gateway do Public NAT. Se o gateway ficar sem endereços IP NAT, o Public NAT descartará pacotes. Os pacotes descartados são registrados quando você usa o registro do Cloud NAT para ativar a geração de registros de erro.
- Para exemplos de cálculo, consulte o exemplo de reserva de porta.
Para ver o número máximo de endereços IP NAT alocados automaticamente ou atribuídos manualmente, consulte Limites do Cloud NAT.
Atribuir manualmente uma combinação de endereços IP de nível Premium e Standard
Ao criar um gateway do Public NAT com o método de atribuição manual de endereço IP NAT, é possível atribuir uma combinação de endereços IP de nível Premium e Standard, desde que os endereços IP de diferentes níveis de rede não pertençam à mesma regra (incluindo a regra padrão).
Dentro de uma regra (incluindo a regra padrão), todos os endereços IP atribuídos a intervalos ativos precisam estar no mesmo nível de rede. Se você tentar usar endereços IP de camadas diferentes como parte da mesma regra, o Google Cloud rejeitará a configuração.
Alternar método de atribuição
É possível alternar um gateway do Public NAT da alocação automática do endereço IP NAT para a atribuição manual de endereço IP NAT. No entanto, os endereços IP NAT não podem ser preservados. Embora os endereços IP NAT alocados automaticamente sejam estáticos, eles não podem ser movidos para uma atribuição de endereço IP NAT manual. Por exemplo, não é possível começar a usar um gateway do Public NAT com endereços IP NAT alocados automaticamente e, depois, usar os mesmos endereços ao mudar para endereços IP NAT atribuídos manualmente.
O conjunto de endereços IP externos regionais que o Public NAT usa para a alocação automática de endereços IP NAT é diferente do conjunto de endereços IP externos regionais que podem ser escolhidos manualmente.
Drenar endereços IP do Public NAT
Ao configurar um gateway do Public NAT com atribuição manual de endereço IP NAT, é possível escolher o que acontece quando é necessário reduzir o número de endereços IP NAT usados pelo gateway:
Se você remover um endereço IP NAT atribuído manualmente, as conexões NAT estabelecidas serão interrompidas imediatamente.
É possível escolher drenar um endereço IP NAT atribuído manualmente. A drenagem instrui o gateway do Public NAT a parar de usar o endereço IP NAT para novas conexões, mas continuar usando-o para conexões estabelecidas. As conexões estabelecidas podem ser fechadas normalmente em vez de serem abruptamente encerradas. Para drenar um endereço IP associado a um gateway do Public NAT que não usa regras NAT, consulte Drenar endereços IP externos associados ao NAT. Para drenar um endereço IP que está associado a um gateway NAT que usa regras NAT; consulte Atualizar regras NAT.
Endereços IP do Private NAT
Um endereço NAT particular é um endereço IPv4 interno regional que
vem do intervalo de endereços IPv4 principal de uma sub-rede NAT
particular localizada na mesma região e rede VPC que um
gateway NAT particular. Um endereço IP do Private NAT não pode ser roteado na Internet. Os endereços IP dos intervalos de endereços IPv4 principais de
sub-redes do Private NAT só podem ser usados por
gateways do Private NAT. Para criar uma sub-rede NAT
particular, adicione uma sub-rede somente IPv4 usando a
Google Cloud CLI e a flag --purpose=PRIVATE_NAT
.
Depois de configurar um gateway do Private NAT para fornecer serviços de NAT a uma sub-rede em uma rede VPC, as VMs com interfaces de rede nessa sub-rede podem enviar pacotes para recursos localizados em outras redes, como redes VPC anexadas ao mesmo hub do Network Connectivity Center que hospeda o gateway do Private NAT ou redes fora do Google Cloud que estão conectadas ao Google Cloud pelo Cloud Interconnect ou pelo Cloud VPN. Na saída, o Google Cloud muda o endereço IP de origem para um endereço IP da sub-rede NAT privada associada ao gateway.
Veja a seguir características dos endereços IP do Private NAT:
- Não é possível atribuir automaticamente endereços IP do Private NAT a um gateway do Private NAT. Em vez disso, ao criar uma regra em um gateway do Private NAT, você especifica manualmente a sub-rede ou as sub-redes do Private NAT. As sub-redes de NAT privadas precisam estar localizadas na mesma rede VPC e região que o gateway. O gateway usa endereços IP apenas dos intervalos de endereços IPv4 principais das sub-redes do Private NAT.
- Para determinar quantos endereços IP NAT cada sub-rede NAT particular
pode fornecer, use a seguinte fórmula:
2(32 - PREFIX_LENGTH) - 4
, em quePREFIX_LENGTH
é o comprimento da máscara de sub-rede do intervalo de endereços IPv4 principal da sub-rede NAT particular. Quatro endereços IP são inutilizáveis em cada intervalo de endereços IPv4 principal da sub-rede.
Portas
Cada endereço IP NAT em um gateway do Cloud NAT (Public NAT e Private NAT) oferece 64.512 portas de origem TCP e 64.512 portas de origem UDP. O TCP e o UDP suportam 65.536 portas por endereço IP cada, mas o Cloud NAT não usa as primeiras 1.024 portas conhecidas (privilegiadas).
Quando um gateway do Cloud NAT realiza a conversão de endereços de rede de origem (SNAT) em um pacote enviado por uma VM, ele altera o endereço IP de origem e a porta de origem do NAT do pacote.
Ao criar um gateway do Cloud NAT, você escolhe se quer usar a alocação de porta estática ou a alocação de porta dinâmica. É possível mudar o método de alocação de portas depois de criar o gateway. Para saber como a alteração do método de alocação de portas de um gateway do Cloud NAT afeta as conexões estabelecidas, consulte Mudar o método de alocação de portas.
Se você tiver atribuído manualmente vários endereços IP externo regionais estáticos (reservados) ao gateway do Public NAT, uma única VM que usa o gateway poderá receber as portas necessárias de qualquer um dos endereços IP NAT atribuídos, até mesmo de vários endereços IP NAT ao mesmo tempo.
Alocação de porta estática
Ao configurar a alocação de porta estática, você especifica um número mínimo de portas por instância de VM. Se você não especificar o número mínimo de portas por VM, o Google Cloud usará o valor padrão.
A alocação de porta estática é ativada por padrão para o Public NAT. Por outro lado, o Private NAT usa a alocação de porta dinâmica por padrão.
Como todas as VMs recebem o mesmo número de portas, a alocação de porta estática funciona melhor se todas as VMs tiverem uso semelhante de saída. Quando a alocação de porta estática é configurada, o número de portas alocadas para cada VM é fixo e não muda se algumas VMs usam mais portas do que outras ou se uma VM esgota todas as portas. Se o uso de saída variar, configure a alocação dinâmica de portas.
Se você quiser configurar o Mapeamento independente de endpoint no gateway do Public NAT, use a alocação de porta estática. O mapeamento independente de endpoint não está disponível para gateways do Private NAT.
Alocação de porta dinâmica
Ao configurar a alocação de porta dinâmica, você especifica um número mínimo de portas por instância de VM e um número máximo de portas por instância de VM.
A alocação dinâmica de portas está ativada por padrão no Private NAT. O Public NAT usa a alocação de porta estática por padrão.
A configuração da alocação dinâmica de portas permite que o mesmo gateway do Cloud NAT aloque diferentes números de portas por VM, com base no uso da VM. Inicialmente, uma VM recebe o número mínimo de portas por instância de VM. Se uma VM estiver próxima de esgotar todas as portas alocadas para ela, o número de portas atribuídas à VM será dobrado. A VM pode solicitar repetidamente mais portas até o número máximo de portas por instância de VM. Quando o uso da porta diminui significativamente, as portas são desalocadas e podem ser alocadas para outras VMs que usam o mesmo gateway NAT.
A alocação dinâmica de portas tem os seguintes benefícios:
O número de portas alocadas, mas que não estão sendo usadas, é reduzido.
O gateway NAT monitora o uso de portas de cada VM e modifica o número de portas alocadas para cada VM, com base na necessidade. Não é preciso monitorar o uso da porta ou ajustar a configuração do gateway NAT.
Antes de usar a alocação dinâmica de porta, considere o seguinte:
Se o mapeamento independente de endpoint estiver ativado no gateway do Cloud NAT, não será possível configurar a alocação de porta dinâmica. Se você precisar do mapeamento independente de endpoint, use a alocação de porta estática.
Enquanto portas adicionais estão sendo alocadas às VMs, é possível que você veja latências ou tempos limite de conexão. Para conferir estratégias que ajudam a evitar quedas de conexão, consulte Reduzir conexões descartadas com a alocação dinâmica de porta.
Mudar o método de alocação de portas
É possível alternar entre a alocação de portas estática e a alocação de portas dinâmica para um determinado gateway do Cloud NAT.
Mudar para o método de alocação dinâmica de portas só interrompe as conexões NAT atuais quando uma das seguintes condições é atendida:
Você define o número máximo de portas por VM como um valor menor que o número mínimo de portas por VM especificado na configuração NAT anterior (com alocação estática de portas).
Na configuração anterior, o número mínimo de portas por VM foi definido como mais de
1024
e você especificou1024
como o número máximo de portas por VM na nova configuração. Devido a isso, as conexões atuais serão interrompidas porque a primeira condição tem precedência.Você definiu o número máximo de portas por VM como um valor menor que
1024
.
A menos que uma das condições anteriores seja atendida, a mudança para a alocação dinâmica de portas não interrompe as conexões NAT atuais.
Desativar a alocação dinâmica de portas e alternar para a alocação estática de portas é um processo interruptivo que causa interrupção em todas as conexões NAT ativas.
Procedimento de reserva de porta
O Cloud NAT usa o procedimento a seguir para provisionar endereços IP de origem NAT e tuplas de portas de origem para cada VM que o gateway do Cloud NAT (Public NAT e Private NAT) veicula.
O Cloud NAT determina os endereços IP internos da VM para os quais NAT precisa ser realizado. Os endereços IP internos da VM são determinados pelos intervalos de endereços IP da sub-rede que o gateway foi configurado para veicular.
Se o gateway do Public NAT estiver configurado para executar NAT para o intervalo de endereços IP primários da sub-rede usada pela interface de rede da VM, o gateway executará NAT para ambos, o endereço IP interno primário da VM e qualquer um dos intervalos de IP do alias da VM do intervalo de endereços IP primários da sub-rede.
Se o gateway do Public NAT estiver configurado para executar NAT para um intervalo de endereços IP secundário da sub-rede usada pela interface de rede da VM, o gateway executará NAT para qualquer intervalo de IP do alias do intervalo de endereços IP secundário dessa sub-rede.
Como um gateway do Private NAT é configurado para executar NAT para todos os intervalos de endereços IP da sub-rede usada pela interface de rede da VM, o gateway executa NAT para todos os intervalos de IP dessa sub-rede.
O Cloud NAT ajusta as portas mínimas por instância de VM, se necessário. Se a alocação de porta estática estiver configurada e o gateway executar NAT para intervalos de IP de alias com mais de um endereço (máscara de rede menor que
/32
), o Cloud NAT ajustará o número mínimo de portas por VM para ser o máximo destes dois valores:O número mínimo de portas por instância de VM especificado
O número 1.024
Em todas as outras situações, incluindo quando a alocação de porta dinâmica é configurada, o gateway do Cloud NAT procede para a próxima etapa usando as portas mínimas especificadas por instância de VM como entrada. Se você não especificar o mínimo de portas por instância de VM, o valor padrão será usado:
64
para alocação de porta estática e32
para alocação de porta dinâmica.O Cloud NAT reserva o endereço IP de origem NAT e as tuplas de porta de origem de cada VM. O gateway do Cloud NAT usa o número de portas mínimas fornecidas ou ajustadas por instância de VM da etapa anterior para calcular o número de endereços IP de origem de NAT e tuplas de portas de origem para atribuir à VM.
Para o Public NAT, o Google Cloud aloca endereços IP de origem NAT e tuplas de portas de origem usando múltiplos de potências de dois. Portanto, o número de endereços IP de origem NAT e tuplas de portas de origem é maior ou igual ao valor mínimo de portas por instância de VM que você especificar.
Para a o Private NAT, o Google Cloud aloca duas vezes o número mínimo de portas necessárias por VM para confiabilidade. Verifique se a sub-rede da qual o Private NAT atribui endereços IP e portas está dimensionada adequadamente.
Se o gateway do Cloud NAT usa dois ou mais endereços IP NAT, é possível que o endereço IP de origem NAT e as tuplas de porta de origem abranjam mais de um endereço IP NAT. Um único endereço IP NAT pode não ter portas de origem disponíveis suficientes para acomodar o número de endereços IP de origem NAT e tuplas de porta de origem de que a VM precisa.
O gateway do Cloud NAT aloca o endereço IP de origem e as tuplas de porta de origem para cada VM.
Se você tiver configurado a alocação de portas estáticas, o número de endereços IP de origem e tuplas da porta de origem será fixo. Cada VM pode usar apenas o número alocado de endereços IP de origem e de tuplas de porta de origem, mesmo durante bursts de tráfego.
Se você tiver configurado a alocação de portas dinâmicas, o número de endereços IP e tuplas de origem poderá mudar com base na demanda. Se uma VM estiver perto de esgotar a alocação de portas atual, o Cloud NAT alocará outras portas, até o valor especificado de máximo de portas por instância de VM. Depois que o uso de portas da VM for reduzido abaixo de um limite, as portas serão liberadas e poderão ser alocadas para outras VMs.
Aumentar portas por VM
Se você configurou um gateway do Cloud NAT com alocação de porta estática, quando você aumentar as portas mínimas por VM no gateway, não haverá interrupção no tráfego.
Se você configurou um gateway do Cloud NAT com alocação dinâmica de portas, aumentar o número mínimo, máximo ou ambos os números de portas por VM não interrompe as conexões NAT atuais nem o tráfego que flui pelo gateway NAT.
Considere o seguinte ao aumentar o número de portas na VM:
Ao usar o Public NAT com atribuição manual de endereços IP NAT, você precisa calcular o número de endereços IP de origem NAT necessários. Antes de aumentar o número mínimo de portas por VM, atribua pelo menos esses endereços IP de NAT ao gateway do Public NAT.
Ao usar o Public NAT com alocação automática de endereços IP NAT, aumentar o número mínimo de portas por VM faz com que o gateway do Public NAT adquira e aloque automaticamente mais endereços IP externos regionais.
Ao usar o Private NAT, verifique se a sub-rede a partir da qual o gateway aloca endereços IP tem um número adequado de endereços IP.
Reduzir portas por VM
Se você configurou um gateway do Cloud NAT com alocação de porta estática e reduzir as portas mínimas por VM no gateway, não haverá diminuição da conexão. As conexões NAT estabelecidas são quebradas imediatamente e os clientes precisam estabelecer novas conexões TCP.
Se você configurou um gateway do Cloud NAT com alocação dinâmica de portas, as seguintes instruções são verdadeiras:
- A redução do número mínimo de portas por VM não interrompe as conexões NAT atuais nem o tráfego que flui pelo gateway NAT.
- A redução do número máximo de portas por VM interrompe todas as conexões NAT atuais imediatamente, e o número de portas alocadas para todas as VMs é redefinido temporariamente para o valor especificado como o número mínimo de portas por VM.
Portas e conexões
O número de endereços IP de origem NAT e tuplas de portas de origem que um gateway do Cloud NAT reserva para uma VM restringe o número de conexões que a VM pode fazer para um destino único:
Um destino único significa uma tupla 3 única, que consiste em um endereço IP de destino, uma porta de destino e um protocolo IP (como TCP ou UDP).
Uma conexão significa uma tupla 5 única composta pelo endereço IP de origem NAT e pela tupla da porta de origem combinada com um destino único de três tuplas. Como o protocolo UDP é sem conexão, o conceito de conexão é reduzido a uma tupla 5 associada a um datagrama UDP exclusivo.
Imagine que um gateway do Cloud NAT calcule 1.024 para o número fixo de portas de uma VM, seguindo o procedimento de reserva de porta. O gateway do Cloud NAT reserva 1.024 combinações únicas de endereço IP de origem NAT e tuplas da porta de origem para a VM. O gateway do Cloud NAT pode processar 1.024 conexões simultâneas para cada 3 tuplas de destino único. No entanto, o Cloud NAT considera que as conexões fechadas são inutilizáveis por 120 segundos após o encerramento da conexão, o que pode afetar o número de conexões em uso por vez.
Exemplos:
O gateway suporta 1.024 conexões simultâneas com o endereço IP de destino
203.0.113.99
na porta80
usando o protocolo TCP.O gateway suporta outras 1.024 conexões simultâneas com o mesmo endereço IP de destino na porta
443
, também usando o protocolo TCP.O gateway suporta outras 1.024 conexões simultâneas com um endereço IP de destino diferente na porta
80
, também usando o protocolo TCP.
Reutilização de porta simultânea e mapeamento independente de endpoint
Contanto que pelo menos uma parte das informações nas três tuplas de destino seja modificada (o endereço IP de destino, a porta de destino, o protocolo), o mesmo endereço de origem NAT e tupla da porta de origem podem ser reutilizados simultaneamente para outras conexões.
O Public NAT usa o Mapeamento independente de endpoint, conforme definido na Seção 2.3 da RFC 5128. Como resultado, o número de conexões simultâneas que uma VM cliente pode fazer com um destino único de três tuplas possa ser reduzido se o Public NAT atribuir o mesmo endereço IP de origem e tupla de porta de origem do NAT a mais de um endereço IP interno e uma porta de origem temporária de uma VM cliente. A chance disso acontecer aumenta se a VM cliente tiver um grande número de endereços IP de origem interna e fizer um grande número de conexões com o mesmo destino de três tuplas. Na primeira vez que uma VM cliente envia um endereço IP interno e uma porta de origem temporária, o Public NAT cria um mapeamento independente de endpoint de muitos para um entre os seguintes itens:
- Endereço IP interno e tupla da porta de origem temporária
- Um endereço IP de origem NAT único e uma tupla de porta de origem
Por exemplo, quando uma VM cliente envia um pacote do seu endereço IP interno 10.0.0.2
usando a porta de origem temporária 10001
, o Public NAT atribui 10.0.0.2:10001
. Este endereço IP de origem NAT e uma tupla de porta de origem são usados para todas as conexões subsequentes de 10.0.0.2:10001
para qualquer destino com três tuplas.
Se a mesma VM usar uma porta de origem temporária diferente para enviar um pacote, por exemplo, 10.0.0.2:20002
, o Public NAT também atribui um endereço IP de origem NAT e uma tupla de porta de origem para todas as conexões subsequentes a partir de 10.0.0.2:20002
para qualquer destino de três tuplas. É possível que o Public NAT atribua o mesmo endereço IP de origem NAT e tupla da porta de origem a ambos: endereço IP interno e tuplas temporárias de porta de origem, causando um conflito independente de endpoint
em determinadas situações.
Para um exemplo mais detalhado, consulte Exemplo de conflito no mapeamento independente de endpoint.
Reduzir conflitos independentes de endpoint
É possível fazer alterações de configuração para reduzir os conflitos independentes de endpoint. Para mais informações, consulte Pacotes descartados com conflito independente de endpoint de motivo.
Atraso para a reutilização da porta de origem TCP
Depois que um gateway do Cloud NAT fecha uma conexão TCP, o Google Cloud impõe um atraso antes que o gateway possa reutilizar o mesmo endereço IP de origem NAT e tupla de porta de origem com o mesmo destino (endereço IP de destino, porta de destino e protocolo). A duração do atraso é controlada pela configuração Tempo limite TCP_WAIT.
Se necessário, reduza esse atraso modificando o valor padrão do Tempo limite TCP TIME_WAIT. Para saber como modificar os tempos limite de NAT, consulte Mudar os tempos limite de NAT. Como alternativa, faça uma das seguintes mudanças:
Aumente o número mínimo de portas por instância de VM para que o procedimento de reserva de porta atribua à VM mais endereços IP de origem NAT e tuplas de porta de origem.
Se uma VM precisar abrir e fechar conexões TCP rapidamente para o mesmo endereço IP e a mesma porta de destino usando o mesmo protocolo, em vez de usar o Cloud NAT, atribua um endereço IP externo à VM e use regras de firewall para limitar conexões de entrada não solicitadas.
Portas de origem e segurança
Se você depender da ordem aleatória da porta de origem como medida de segurança, considere o seguinte:
Aumente o número mínimo de portas por instância de VM para que o procedimento de reserva de porta atribua à VM mais endereços IP de origem NAT e tuplas de porta de origem. Aumentar o número mínimo de portas por instância de VM atribui aleatoriamente um intervalo de portas a cada VM. No entanto, a porta de origem escolhida nesse intervalo é sequencial.
Atribua um endereço IP externo à VM em vez de usar o Public NAT.
Examplos
Os exemplos a seguir demonstram como o Cloud NAT reserva endereços IP de origem NAT e portas de origem para uma VM e como ela realiza NAT para pacotes enviados à Internet.
Reserva de porta
Os exemplos a seguir demonstram os aplicativos do procedimento de reserva de porta.
Suponha que você esteja configurando um gateway do Public NAT para fornecer NAT para o intervalo de endereços IP primários de uma sub-rede e as VMs que usam essa sub-rede não tenham intervalos de IP de alias do intervalo de endereços IP primários da sub-rede. Arredonde para baixo o resultado de qualquer operação de divisão para o número inteiro mais próximo. ⌊⌋ é a função floor (maior inteiro), ou seja, descarta qualquer resultado fracionário da divisão.
Se você configurar o gateway do Public NAT com um único endereço IP NAT usando atribuição manual e definir o número mínimo de portas por instância de VM para 64, o gateway pode fornecer serviços NAT para até 1.008 VMs:
⌊(1 endereço IP NAT) × (64.512 portas por endereço) / (64 portas por VM) ⌋ = 1.008 VMs
Se precisar aceitar mais de 1.008 VMs, atribua um segundo endereço IP NAT ao gateway do Cloud NAT. Com dois endereços IP NAT, mantendo o número mínimo de portas por VM em 64, é possível suportar 2.016 VMs:
⌊(2 endereços IP NAT) × (64.512 portas por endereço) / (64 portas por VM) ⌋ = 2.016 VMs
Se você definir o número mínimo de portas por VM como 4.096, cada endereço IP NAT será compatível com 15 VMs. Esse cálculo é arredondado para o número inteiro mais próximo:
⌊(1 endereço IP NAT) × (64.512 portas por endereço) / (4.096 portas por VM) ⌋ = 15 VMs
Suponha que você esteja configurando um gateway de Private NAT para fornecer NAT para todos os endereços IP de uma sub-rede:
O tamanho mínimo de sub-rede que pode ser criado é oito endereços IPv4, que é uma máscara de sub-rede de
/29
. Se você configurar um gateway do Private NAT com uma sub-rede NAT de tamanho mínimo e definir o número mínimo de portas por instância de VM como 64, o gateway poderá fornecer serviços NAT para até 2.016 VMs:⌊(2(32-29) - 4) endereços IP NAT × (64.512 portas por endereço) / (64 portas por VM × 2)⌋ = 2.016 VMs
No exemplo anterior, se você definir o número mínimo de portas por instância de VM como 1.024, o gateway poderá fornecer serviços NAT para até 126 VMs:
⌊(2(32-29) - 4) endereços IP NAT × (64.512 portas por endereço) / (1024 portas por VM × 2)⌋ = 126 VMs
Se você configurar um gateway do Private NAT com uma máscara de sub-rede NAT de
/28
e definir o número mínimo de portas por instância de VM como 64, o gateway poderá fornecer serviços NAT para até 6.048 VMs:⌊(2(32-28) - 4) endereços IP NAT × (64.512 portas por endereço) / (64 portas por VM × 2)⌋ = 6.048 VMs
Conflito de mapeamento independente de endpoint
O exemplo a seguir ilustra como o mapeamento independente de endpoint pode reduzir o número de conexões simultâneas de uma VM cliente para o mesmo destino de três tuplas, mesmo quando há um número suficiente de endereços IP de origem NAT gratuitos e tuplas da porta de origem para a VM cliente.
Suponha que você tenha configurado um gateway do Public NAT para fornecer NAT ao intervalo de endereços IP primários de uma sub-rede. Você criou uma VM cliente com uma interface de rede com um endereço IP interno primário que é 10.0.0.2
nessa sub-rede. A VM de exemplo não tem um endereço IP externo atribuído à interface de rede dele.
A VM abre uma conexão com estas características:
- Endereço IP interno e porta de origem:
10.0.0.2:10001
- Três tuplas de destino:
203.0.113.1:80
usando TCP - O Public NAT usa o seguinte endereço IP de origem NAT e a tupla da porta de origem:
192.0.2.10:30009
- Endereço IP interno e porta de origem:
A VM abre uma conexão com estas características:
- Endereço IP interno e porta de origem:
10.0.0.2:10002
- Três tuplas de destino:
203.0.113.2:80
usando TCP - O Public NAT também pode optar por usar o mesmo endereço IP de origem NAT e tupla de porta de origem
192.0.2.10:30009
para essa conexão. É possível usar o mesmo endereço IP de origem NAT e a tupla de porta de origem para um endereço IP de cliente diferente e uma porta de origem temporária.
- Endereço IP interno e porta de origem:
Enquanto a primeira e a segunda conexões estão ativas, o Public NAT não pode abrir uma terceira conexão TCP com estas características:
- Mesmo endereço IP interno de porta de origem que a primeira conexão:
10.0.0.2:10001
- Mesmas três tuplas de destino da segunda conexão:
203.0.113.2:80
usando TCP
Essa terceira tentativa de conexão é descartada com um erro de conflito independente de endpoint. Isso porque o mapeamento independente de endpoint estabelecido pela primeira conexão exige que todas as conexões de
10.0.0.2:10001
usem o mesmo endereço IP de origem NAT e tupla de porta de origem,192.0.2.10:30009
, mas192.0.2.10:30009
já está sendo usado pela segunda conexão TCP com203.0.113.2:80
.- Mesmo endereço IP interno de porta de origem que a primeira conexão:
Para descartar a ambiguidade, uma tentativa de conexão subsequente neste exemplo é bem-sucedida, desde que uma das seguintes condições seja verdadeira:
- A primeira conexão TCP foi encerrada. Fechar a conexão remove o mapeamento independente de endpoint entre
10.0.0.2:10001
e192.0.2.10:30009
, para que a terceira conexão possa ser mapeada para um endereço IP de origem NAT e tupla de porta de origem para se comunicar com203.0.113.2:80
usando TCP. - A segunda conexão TCP foi encerrada. Fechar a conexão libera
10.0.0.2:10001
para usar o endereço IP de origem NAT e a porta de origem192.0.2.10:30009
para se comunicar com203.0.113.2:80
usando TCP. - A terceira tentativa de conexão seleciona uma porta de origem temporária (interna) diferente. Neste exemplo, um mapeamento independente de endpoint estabeleceu um
mapeamento de muitos para um para endereços IP de origem de NAT internos e portas de origem
10.0.0.2:10001
e10.0.0.2:10002
para usar192.0.2.10:30009
ao se comunicar com203.0.113.2:80
usando TCP. Se a terceira tentativa de conexão usar uma porta de origem temporária diferente de10001
e10002
, há uma chance de que um endereço IP de origem NAT e uma porta de origem diferentes possam ser usados para se comunicar com203.0.113.2:80
usando TCP. - Como desativar a independência do endpoint. A alternância permite que a nova
conexão de
10.0.0.2:10001
não precise usar192.0.2.10:30009
, permitindo que ele use um endereço IP e uma porta de origem NAT diferentes.
- A primeira conexão TCP foi encerrada. Fechar a conexão remove o mapeamento independente de endpoint entre
Para técnicas que podem ser usadas para evitar conflitos, consulte Como reduzir conflitos independentes de endpoint.
A seguir
- Configurar um gateway do Public NAT.
- Configurar um gateway do Private NAT.
- Criar um Exemplo de configuração do Compute Engine.
- Crie um Exemplo de configuração do GKE.
- Resolver problemas comuns.