Solução de problemas

Este guia pode ajudar você a resolver problemas comuns com o Cloud NAT.

Problemas comuns

As VMs podem acessar a Internet de forma inesperada, sem o Cloud NAT

Se as instâncias de máquina virtual (VM, na sigla em inglês) ou as instâncias de contêiner conseguirem acessar a Internet sem o Cloud NAT, mas você não quiser que isso aconteça, verifique se há algum dos seguintes problemas:

  • Determine se a interface de rede da VM tem um endereço IP externo. Se a interface de rede tiver um endereço IP externo atribuído a ela, o Google Cloud executará automaticamente NAT individual para pacotes cujas origens correspondem ao endereço IP interno principal da interface. Para mais informações, consulte as especificações do Cloud NAT.

    Para determinar se uma VM tem um endereço IP externo, consulte como alterar ou atribuir um endereço IP externo a uma instância existente.

  • Certifique-se de que seu cluster do Google Kubernetes Engine (GKE) seja um cluster particular. Cada VM de nó em um cluster não particular tem um endereço IP externo, de modo que cada nó pode usar rotas na sua rede de nuvem privada virtual (VPC, na sigla em inglês) cujo próximo salto é o gateway de Internet padrão sem depender de NAT do Cloud. Para mais informações, incluindo a forma como os clusters não privados interagem com os gateways do Cloud NAT, consulte Interação do GKE.

  • Liste os trajetos na sua rede VPC, procurando aqueles que poderiam fornecer conectividade com a Internet por meio de um próximo salto diferente do gateway de Internet padrão. Por exemplo:

    • Rotas estáticas personalizadas cujos próximos saltos são VMs, balanceadores de carga TCP/UDP internos ou túneis do Cloud VPN podem fornecer indiretamente conectividade com a Internet. Por exemplo, as VMs do próximo salto ou VMs de back-end para um balanceador de carga TCP/UDP interno podem ter endereços IP externos ou um túnel VPN do Cloud pode se conectar a uma rede que ofereça acesso à Internet.

    • Traçados dinâmicos personalizados aprendidos em redes locais por roteadores de nuvem na sua VPC podem se conectar a uma rede que oferece acesso à Internet.

  • Lembre-se de que outras rotas personalizadas na sua rede VPC podem ter prioridades mais altas do que as rotas com os próximos saltos como gateway de Internet padrão. Para informações sobre como o Google Cloud avalia as rotas, consulte a aplicabilidade e a ordem do roteamento.

Nenhum registro é gerado

Determinados registros são excluídos

  • Verifique se o registro de NAT está ativado e se seu filtro de registro não está excluindo os registros que você quer manter. Limpe um filtro de registros para que nada seja excluído.

  • O Cloud NAT não registra todos os eventos. Durante períodos de tráfego intenso de saída, o registro de NAT é regulado, proporcional ao tipo de máquina da VM. Os registros de tradução ou erro podem ser descartados e não é possível determinar o que foi omitido durante a limitação.

Pacotes descartados por causa do motivo out of resources [sem recursos]

Se você vir a perda de pacotes de VMs que usam o Cloud NAT, talvez seja porque não há endereços IP de origem NAT suficientes e tuplas de porta de origem para que a VM use no momento da perda do pacote. Uma tupla quíntupla (endereço IP de origem NAT, porta de origem e tupla tripla de destino) não pode ser reutilizada dentro do atraso obrigatório de 120 segundos.

Se não houver tuplas NAT suficientes, o motivo dropped_sent_packets_count será out of resources. Para mais informações sobre métricas, consulte Como usar métricas de instâncias de VM.

Para aumentar o número de portas por VM, consulte Alterar o número mínimo padrão de portas alocadas por VM associada à NAT.

É necessário alocar mais endereços IP

Caso uma instância não consiga acessar a Internet e você esteja alocando endereços IP manualmente, talvez seja necessário adicionar mais endereços IP.

No Console do Cloud, se a mensagem Você precisa alocar pelo menos "X" mais endereços IP para permitir que todas as instâncias acessem a Internet, será necessário alocar mais endereços IP. Para mais informações, consulte Endereços IP NAT.

É possível monitorar esse problema definindo políticas de alerta na mensagem nat_allocation_failed.

Perguntas frequentes

Restrição regional para o Cloud NAT

Posso usar o mesmo gateway do Cloud NAT em mais de uma região?

Não. Os gateways NAT da nuvem são recursos regionais, associados a uma única região, rede VPC e Cloud Router.

É possível criar outros gateways do Cloud NAT em outras regiões ou em outras redes VPC. Para determinar se é possível criar mais de um gateway em uma determinada região e rede VPC, consulte aplicabilidade do intervalo de endereços IP de sub-rede.

Os endereços IP NAT externos são usados por gateways do Cloud NAT globais ou regionais?

Os gateways NAT da nuvem usam endereços IP externos regionais como endereços IP NAT. Mesmo que sejam regionais, eles são roteáveis publicamente. Para informações sobre as diferentes maneiras de alocar ou atribuir endereços IP NAT, consulte Endereços IP NAT.

Quando o Cloud NAT pode e não pode ser usado

O Cloud NAT é aplicável a instâncias, incluindo VMs de nó do GKE, que têm endereços IP externos?

Geralmente não. Se a interface de rede de uma VM tiver um endereço IP externo, o Google Cloud sempre realizará NAT um para um para pacotes enviados do endereço IP interno principal da interface de rede sem usar o Cloud NAT. No entanto, um Cloud NAT ainda pode fornecer serviços NAT para pacotes enviados de intervalos de endereços IP do alias da mesma interface de rede. Para mais detalhes, consulte as especificações do Cloud NAT e a interação do GKE.

Posso usar o Cloud NAT para comunicação entre VMs em uma rede VPC?

Não, o Cloud NAT foi projetado para fornecer conectividade apenas com a Internet.

Posso usar o Cloud NAT para conectar uma rede VPC a outra rede para resolver endereços IP sobrepostos?

Não, o NAT de nuvem não pode ser aplicado a qualquer rota personalizada cujo próximo salto não seja o gateway de Internet padrão. Por exemplo, o Cloud NAT não pode ser aplicado ao tráfego enviado para um túnel de VPN na nuvem do próximo salto, mesmo se o destino for um endereço IP roteável publicamente.

O Cloud NAT permite que uma VM de origem com interface de rede sem um endereço IP externo envie tráfego para uma VM de destino ou balanceador de carga que tenha um endereço IP externo, mesmo quando a origem e o destino estiverem na mesma rede VPC?

Sim. O caminho da rede envolve o envio de tráfego para fora da rede VPC por meio de um gateway de Internet padrão e, em seguida, no recebimento da mesma rede.

Quando a VM de origem envia um pacote para o destino, o Cloud NAT realiza NAT de origem (SNAT) antes de entregar o pacote à segunda instância. O NAT da nuvem realiza o NAT de destino (DNAT) das respostas da segunda instância para a primeira. Para ver um exemplo passo a passo, consulte Fluxo NAT.

Conexões recebidas não solicitadas não são aceitas

O Cloud NAT permite conexões de entrada (por exemplo, SSH) para instâncias sem endereços IP externos?

Não, o Cloud NAT não aceita conexões de entrada não solicitadas. Para mais informações, consulte as especificações do Cloud NAT.

Se você precisar se conectar a uma VM que não tenha um endereço IP externo, consulte se conectar a instâncias que não têm endereços IP externos. Por exemplo, como parte da configuração do Compute Engine de exemplo do Cloud NAT, você se conecta a uma VM sem um endereço IP externo usando o Identity-Aware Proxy.

NAT e portas do Cloud

Por que uma VM tem um número fixo de portas (64 por padrão)?

Quando um gateway do Cloud NAT fornece NAT para uma VM, ele reserva o endereço de origem e as tuplas de origem de acordo com o procedimento de reserva de porta.

Para mais informações, consulte exemplos de reserva de portas.

Posso alterar o número mínimo de portas reservadas para uma VM?

Sim. Você pode aumentar ou diminuir o número mínimo de portas por VM ao criar um novo gateway do Cloud NAT ou editá-lo posteriormente. Cada gateway do Cloud NAT reserva as tuplas de endereço de origem e de origem de acordo com o procedimento de reserva de porta.

Para mais informações sobre como diminuir o número mínimo de portas, consulte a próxima pergunta.

Posso diminuir o número mínimo de portas por VM depois de criar o gateway do Cloud NAT?

Sim No entanto, diminuir o número mínimo de portas pode resultar no procedimento de reserva de portas reservar um número menor de portas por VM. Quando isso acontece, as conexões TCP existentes podem ser redefinidas e, em caso afirmativo, precisam ser restabelecidas.

Ao alternar o mapeamento NAT de intervalos primários e secundários para apenas o intervalo primário, as outras portas alocadas a cada instância são liberadas imediatamente?

Não. Todas as portas adicionais usadas por intervalos secundários são mantidas pelas instâncias até que a configuração de portas mínimas por VM seja reduzida. Quando o Cloud NAT é configurado para mapear intervalos secundários (alias) para sub-redes, o Cloud NAT atribui um mínimo de 1.024 portas por instância, com base no procedimento de reserva de porta.

Ao alternar para intervalos primários, o Cloud NAT preserva as portas alocadas adicionais para instâncias que já tiveram essas portas atribuídas. Depois de mudar os intervalos em que o Cloud NAT é aplicado apenas ao primário, o número real de portas atribuídas a essas instâncias não é alterado até que a configuração de portas mínimas por VM também seja reduzida.

Para reduzir a quantidade de portas alocadas a essas instâncias, após alternar para os intervalos primários, a configuração de portas mínimas por VM precisa ser reduzida. Depois que esse valor for reduzido, o Cloud NAT ajustará automaticamente o número de portas alocadas por instância, o que reduz o consumo de portas.

Cloud NAT e outros serviços do Google

O Cloud NAT permite o acesso a APIs e serviços do Google?

Quando você ativa o Cloud NAT no intervalo de IP principal de uma sub-rede, o Google Cloud ativa automaticamente o Acesso privado do Google. Para mais informações, consulte Interação com o Acesso privado do Google.

A seguir