Public NAT
Public NAT consente alle istanze di macchine virtuali (VM) di Compute Engine di comunicare con internet allocando un insieme di indirizzi IPv4 esterni condivisi e porte di origine a ogni VM che utilizza Public NAT per creare connessioni in uscita verso internet.
Con Public NAT, le istanze VM che non hanno indirizzi IPv4 esterni possono comunicare con le destinazioni IPv4 su internet. Public NAT consente inoltre alle istanze VM con indirizzi IPv6 esterni o interni di connettersi a destinazioni IPv4 su internet.
Specifiche
Public NAT supporta la Network Address Translation (NAT) per quanto segue:
Da IPv4 a IPv4 o NAT44. Per saperne di più, consulta NAT44 in Public NAT.
Da IPv6 a IPv4 o NAT64. NAT64 è disponibile per le istanze VM di Compute Engine. Per i nodi Google Kubernetes Engine (GKE), gli endpoint serverless e i gruppi di endpoint di rete internet regionali, Public NAT traduce solo gli indirizzi IPv4. Per saperne di più, consulta NAT64 in Public NAT.
Specifiche generali
-
Public NAT consente le connessioni in uscita e le risposte in entrata a queste connessioni. Ogni gateway Cloud NAT per Public NAT esegue il source NAT sul traffico in uscita e il destination NAT per i pacchetti di risposta stabiliti.
-
Public NAT non consente le richieste in entrata non richieste da internet, anche se le regole firewall altrimenti le consentirebbero. Per saperne di più, consulta RFC applicabili.
-
Ogni gateway Cloud NAT per Public NAT è associato a una singola rete VPC regione e router Cloud. Il gateway Cloud NAT e il router Cloud forniscono un piano di controllo (non sono coinvolti nel piano dati), quindi i pacchetti non passano attraverso il gateway Cloud NAT o il router Cloud.
Anche se un gateway Cloud NAT per Public NAT è gestito da un router Cloud, Public NAT non utilizza né dipende dal Border Gateway Protocol.
Per NAT44, Public NAT può fornire NAT per i pacchetti in uscita inviati da:
L'indirizzo IP interno principale dell'interfaccia di rete della VM, a condizione che all'interfaccia di rete non sia assegnato un indirizzo IP esterno assegnato ad essa: se all'interfaccia di rete è assegnato un indirizzo IP esterno assegnato ad essa, Cloud de Confiance esegue automaticamente il NAT uno-a-uno per i pacchetti le cui origini corrispondono all'indirizzo IP interno principale dell'interfaccia perché l'interfaccia di rete soddisfa i Cloud de Confiance requisiti di accesso a internet. L'esistenza di un indirizzo IP esterno su un'interfaccia ha sempre la precedenza ed esegue sempre il NAT uno-a-uno, senza utilizzare Public NAT.
Un intervallo IP alias assegnato all'interfaccia di rete della VM: anche se all'interfaccia di rete è assegnato un indirizzo IP esterno, puoi configurare un gateway Cloud NAT per Public NAT in modo che fornisca NAT per i pacchetti le cui origini provengono da un intervallo IP alias dell'interfaccia. Un indirizzo IP esterno su un'interfaccia non esegue mai il NAT uno-a-uno per gli indirizzi IP alias.
Indirizzi IP utilizzati dalle VM per l'IP forwarding. Per configurare NAT per questi indirizzi, crea una regola NAT che corrisponda all'indirizzo IP di origine utilizzato dalla VM quando inoltra i pacchetti. Per saperne di più, consulta Regole basate sull'origine.
Cluster GKE: Public NAT può fornire il servizio anche se il cluster ha indirizzi IP esterni in determinate circostanze. Per maggiori dettagli, consulta Interazione con GKE.
Per NAT64, Public NAT può fornire NAT per i pacchetti in uscita inviati da:
- L'intervallo di indirizzi
/96interno dell'interfaccia di rete solo IPv6 della VM. - L'intervallo di indirizzi
/96esterno dell'interfaccia di rete solo IPv6 della VM.
- L'intervallo di indirizzi
Route e regole firewall
Public NAT si basa su route statiche locali i cui hop successivi sono il gateway internet predefinito. In genere, una route predefinita soddisfa questo requisito. Per saperne di più, consulta Interazioni con le route.
Le regole firewall Cloud NGFW vengono applicate direttamente alle interfacce di rete delle VM di Compute Engine, non ai gateway Cloud NAT per Public NAT.
Quando un gateway Cloud NAT per Public NAT fornisce NAT per l'interfaccia di rete di una VM, le regole firewall in uscita applicabili vengono valutate come pacchetti per l'interfaccia di rete prima di NAT. Le regole firewall in entrata vengono valutate dopo che i pacchetti sono stati elaborati da NAT. Non è necessario creare regole firewall specifiche per NAT.
Tuttavia, se vuoi abilitare NAT64 in una rete VPC
con una regola firewall di negazione in uscita per una destinazione IPv4, ti consigliamo
di creare un'ulteriore
regola firewall di negazione in uscita per l'indirizzo IPv6 con IPv4 incorporato
della destinazione. In questo modo, il traffico delle VM che utilizzano NAT64 non può bypassare la regola firewall IPv4. Ad esempio, se la destinazione nella regola IPv4 è 1.2.3.4/32, la destinazione nella regola IPv6 deve essere 64:ff9b:0102:0304/128. Per saperne di più sugli indirizzi IPv6 con IPv4 incorporato,
consulta NAT64.
Applicabilità dell'intervallo di indirizzi IP della subnet
Public NAT può fornire NAT per gli intervalli di subnet IPv4, gli intervalli di subnet IPv6 o entrambi:
Per gli intervalli di subnet IPv4, puoi utilizzare le seguenti opzioni per configurare NAT per gli intervalli di indirizzi IP principali, gli intervalli IP alias o entrambi:
-
Intervalli di indirizzi IPv4 principali e secondari di tutte le subnet nella regione: un singolo gateway Cloud NAT fornisce NAT per gli indirizzi IP interni principali e tutti gli intervalli IP alias delle VM idonee le cui interfacce di rete utilizzano una subnet IPv4 nella regione.
-
Intervalli di indirizzi IPv4 principali di tutte le subnet nella regione: un singolo gateway Cloud NAT fornisce NAT per gli indirizzi IP interni principali e gli intervalli IP alias degli intervalli di indirizzi IP principali della subnet delle VM idonee le cui interfacce di rete utilizzano una subnet IPv4 nella regione. Puoi creare altri gateway Cloud NAT per Public NAT nella regione per fornire NAT per gli intervalli IP alias degli intervalli di indirizzi IP secondari della subnet delle VM idonee.
-
Elenco di subnet personalizzato: un singolo gateway Cloud NAT fornisce NAT per gli indirizzi IP interni principali e tutti gli intervalli IP alias delle VM idonee le cui interfacce di rete utilizzano una subnet da un elenco di subnet specificate.
-
Intervalli di indirizzi IPv4 di subnet personalizzati: puoi creare tutti i gateway Cloud NAT per Public NAT necessari, in base alle quote e ai limiti di Public NAT. Scegli quali intervalli di indirizzi IP principali o secondari della subnet devono essere gestiti da ogni gateway.
-
Per gli intervalli di subnet IPv6, puoi utilizzare le seguenti opzioni per configurare NAT per gli intervalli di indirizzi IP interni, gli intervalli di indirizzi IP esterni o entrambi:
- Intervalli di indirizzi IPv6 interni ed esterni di tutte le subnet nella regione: un singolo gateway Cloud NAT fornisce NAT per tutti gli intervalli di indirizzi IP interni ed esterni nella regione.
- Elenco di subnet personalizzato: un singolo gateway Cloud NAT fornisce NAT per gli intervalli di indirizzi IP interni ed esterni delle VM idonee le cui interfacce di rete utilizzano una subnet da un elenco di subnet specificate.
Più gateway Cloud NAT
Puoi avere più gateway Cloud NAT per Public NAT nella stessa regione di una rete VPC se è vera una delle seguenti condizioni:
Ogni gateway è configurato per una subnet diversa.
All'interno di una singola subnet, ogni gateway è configurato per un intervallo di indirizzi IP diverso. Puoi mappare un gateway Cloud NAT per Public NAT a una subnet o a un intervallo di indirizzi IP specifico utilizzando un mapping Cloud NAT personalizzato.
A condizione che i gateway NAT mappati non si sovrappongano, puoi creare tutti i gateway Cloud NAT per Public NAT necessari, in base alle quote e ai limiti di Public NAT. Per saperne di più, consulta Limitazioni dei gateway Cloud NAT.
Larghezza di banda
L'utilizzo di un gateway Cloud NAT per Public NAT non modifica la quantità di larghezza di banda in uscita o in entrata che una VM può utilizzare. Per le specifiche della larghezza di banda, che variano in base al tipo di macchina, consulta Larghezza di banda di rete nella documentazione di Compute Engine.
VM con più interfacce di rete
Se configuri una VM in modo che abbia più interfacce di rete, le interfacce possono trovarsi nella stessa rete VPC o in reti VPC diverse.
Considera quanto segue:
- Per una VM con più interfacce di rete nella stessa rete VPC, un singolo gateway Cloud NAT per Public NAT si applica a tutte le interfacce della rete VPC.
- Per una VM con più interfacce di rete, ognuna in una rete VPC diversa, un singolo gateway Cloud NAT per Public NAT può essere applicato solo a una singola interfaccia di rete della VM. I gateway Cloud NAT separati per Public NAT possono fornire NAT alla stessa VM, dove ogni gateway si applica a un'interfaccia separata.
- Un'interfaccia di una VM con più interfacce di rete può avere un indirizzo IPv4 esterno, il che la rende non idonea per Public NAT, mentre un'altra delle sue interfacce può essere idonea per NAT se non ha un indirizzo IPv4 esterno e hai configurato un gateway Cloud NAT per Public NAT in modo che si applichi all' intervallo di indirizzi IP della subnet appropriato. Per IPv6, sono supportati sia gli indirizzi IPv6 interni sia quelli esterni.
Indirizzi IP e porte NAT
Quando crei un gateway Cloud NAT per Public NAT, puoi scegliere di fare in modo che il gateway allochi automaticamente gli indirizzi IP esterni regionali. In alternativa, puoi assegnare manualmente un numero fisso di indirizzi IP esterni regionali al gateway.
Per un gateway Cloud NAT per Public NAT con allocazione automatica dell'indirizzo IP NAT, tieni presente quanto segue:
- Puoi selezionare i Network Service Tiers (livello Premium o livello Standard) da cui il gateway Cloud NAT alloca gli indirizzi IP.
Quando modifichi il livello per un gateway Cloud NAT per Public NAT con indirizzi IP NAT allocati automaticamente, Cloud de Confiance vengono rilasciati tutti gli indirizzi IP assegnati per quel gateway e vengono ritirate tutte le allocazioni delle porte.
Viene allocato automaticamente un nuovo insieme di indirizzi IP dal livello appena selezionato e vengono fornite nuove allocazioni delle porte a tutti gli endpoint.
Per un determinato gateway Cloud NAT per Public NAT, puoi anche assegnare manualmente indirizzi IP dal livello Premium o dal livello Standard o da entrambi, in base a determinate condizioni.
Per informazioni dettagliate sull'assegnazione degli indirizzi IP NAT, consulta Indirizzi IP Public NAT addresses.
Puoi configurare il numero di porte di origine che ogni gateway Cloud NAT per Public NAT riserva su ogni VM per cui deve fornire servizi NAT. Puoi configurare l'allocazione statica delle porte, in cui lo stesso numero di porte viene riservato per ogni VM, o l'allocazione dinamica delle porte, in cui il numero di porte riservate può variare tra i limiti minimo e massimo specificati.
Le VM per cui deve essere fornito NAT sono determinate dagli intervalli di indirizzi IP della subnet che il gateway è configurato per gestire.
Per saperne di più sulle porte, consulta Porte.
RFC applicabili
Public NAT supporta il mapping indipendente dagli endpoint e il filtraggio dipendente dagli endpoint come definito in RFC 5128. Puoi attivare o disattivare il mapping indipendente dagli endpoint. Per impostazione predefinita, il mapping indipendente dagli endpoint è disattivato quando crei un gateway NAT.
Il mapping indipendente dagli endpoint significa che se una VM invia pacchetti da una determinata coppia di indirizzi IP interni e porte a più destinazioni diverse, il gateway mappa tutti questi pacchetti alla stessa coppia di indirizzi IP e porte NAT, indipendentemente dalla destinazione dei pacchetti. Per dettagli e implicazioni pertinenti al mapping indipendente dagli endpoint, consulta Riutilizzo simultaneo delle porte e mapping indipendente dagli endpoint.
Il filtraggio dipendente dagli endpoint significa che i pacchetti di risposta da internet possono entrare solo se provengono da un indirizzo IP e una porta a cui una VM aveva già inviato pacchetti. Il filtraggio è dipendente dall'endpoint indipendentemente dal tipo di mapping degli endpoint. Questa funzionalità è sempre attiva e non configurabile dall'utente.
Per saperne di più sulla relazione tra porte e connessioni, consulta Porte e connessioni e l'esempio di flusso NAT.
Public NAT è un NAT cono con restrizioni di porta come definito in RFC 3489.
NAT traversal
Se il mapping indipendente dagli endpoint è abilitato, Public NAT è compatibile con i protocolli NAT traversal comuni come STUN e TURN se esegui il deployment dei tuoi server STUN o TURN:
- STUN (Session Traversal Utilities for NAT, RFC 5389) consente la comunicazione diretta tra le VM dietro NAT quando viene stabilito un canale di comunicazione.
- TURN (Traversal Using Relays around NAT, RFC 5766) consente la comunicazione tra le VM dietro NAT tramite un terzo server con un indirizzo IP esterno. Ogni VM si connette all'indirizzo IP esterno del server e il server inoltra la comunicazione tra le due VM. TURN è più affidabile, ma consuma più larghezza di banda e risorse.
Timeout NAT
Public NAT imposta i timeout per le connessioni di protocollo. Per informazioni su questi timeout e sui relativi valori predefiniti, consulta Timeout NAT.
NAT44 in Public NAT
Il seguente diagramma mostra una configurazione Public NAT di base per il traffico IPv4:
In questo esempio:
Il gateway
nat-gw-us-eastè configurato per essere applicato all'intervallo di indirizzi IP principale disubnet-1nella regioneus-east1. Una VM la cui interfaccia di rete non ha un indirizzo IP esterno può inviare traffico a internet utilizzando l'indirizzo IP interno principale o un intervallo IP alias dall'intervallo di indirizzi IP principale disubnet-1,10.240.0.0/16.Una VM la cui interfaccia di rete non ha un indirizzo IP esterno e il cui indirizzo IP interno principale si trova in
subnet-2non può accedere a internet perché nessun gateway Cloud NAT si applica a nessun intervallo di indirizzi IP di quella subnet.Il gateway
nat-gw-euè configurato per essere applicato all'intervallo di indirizzi IP principale disubnet-3nella regioneeurope-west1. Una VM la cui interfaccia di rete non ha un indirizzo IP esterno può inviare traffico a internet utilizzando l'indirizzo IP interno principale o un intervallo IP alias dall'intervallo di indirizzi IP principale disubnet-3,192.168.1.0/24.
Flusso di lavoro di esempio
Nel diagramma precedente, una VM con indirizzo IP interno principale 10.240.0.4, senza indirizzo IP esterno, deve scaricare un aggiornamento dall'indirizzo IP esterno 203.0.113.1. Nel diagramma, il gateway nat-gw-us-east è configurato come segue:
- Porte minime per istanza: 64
- Due indirizzi IP NAT assegnati manualmente:
192.0.2.50e192.0.2.60 - NAT fornito per l'intervallo di indirizzi IP principale di
subnet-1
Public NAT segue la procedura di prenotazione delle porte
per prenotare i seguenti indirizzi IP di origine NAT
e tuple di porte di origine per ogni VM nella rete. Ad esempio, il gateway Cloud NAT per Public NAT riserva 64 porte di origine per la VM con indirizzo IP interno 10.240.0.4. L'indirizzo IP NAT 192.0.2.50 ha 64 porte non riservate, quindi il gateway riserva il seguente insieme di 64 tuple di indirizzi IP di origine NAT e porte di origine per quella VM:
- Da
192.0.2.50:34000a192.0.2.50:34063
Quando la VM invia un pacchetto al server di aggiornamento 203.0.113.1 sulla porta di destinazione 80, utilizzando il protocollo TCP, si verifica quanto segue:
La VM invia un pacchetto di richiesta con questi attributi:
- Indirizzo IP di origine:
10.240.0.4, l'indirizzo IP interno principale della VM - Porta di origine:
24000, la porta di origine temporanea scelta dal sistema operativo della VM - Indirizzo di destinazione:
203.0.113.1, l'indirizzo IP esterno del server di aggiornamento - Porta di destinazione:
80, la porta di destinazione per il traffico HTTP verso il server di aggiornamento - Protocollo: TCP
- Indirizzo IP di origine:
Il gateway
nat-gw-us-eastesegue il Network Address Translation (SNAT) di origine in uscita, riscrivendo l'indirizzo IP di origine NAT e la porta di origine del pacchetto di richiesta. Il pacchetto modificato viene inviato a internet se la rete Virtual Private Cloud (VPC) ha una route per la destinazione203.0.113.1il cui hop successivo è il gateway internet predefinito. In genere, una route predefinita soddisfa questo requisito.- Indirizzo IP di origine NAT:
192.0.2.50, da una delle tuple di indirizzi IP di origine NAT e porte di origine riservate della VM - Porta di origine:
34022, una porta di origine inutilizzata da una delle tuple di porte di origine riservate della VM - Indirizzo di destinazione:
203.0.113.1, invariato - Porta di destinazione:
80, invariata - Protocollo: TCP, invariato
- Indirizzo IP di origine NAT:
Quando il server di aggiornamento invia un pacchetto di risposta, questo arriva al gateway
nat-gw-us-eastcon questi attributi:- Indirizzo IP di origine:
203.0.113.1, l'indirizzo IP esterno del server di aggiornamento - Porta di origine:
80, la risposta HTTP del server di aggiornamento - Indirizzo di destinazione:
192.0.2.50, corrispondente all'indirizzo IP di origine NAT originale del pacchetto di richiesta - Porta di destinazione:
34022, corrispondente alla porta di origine del pacchetto di richiesta - Protocollo: TCP, invariato
- Indirizzo IP di origine:
Il gateway
nat-gw-us-eastesegue la Network Address Translation (DNAT) sul pacchetto di risposta, riscrivendo l'indirizzo di destinazione e la porta di destinazione del pacchetto di risposta in modo che il pacchetto venga recapitato alla VM:- Indirizzo IP di origine:
203.0.113.1, invariato - Porta di origine:
80, invariata - Indirizzo di destinazione:
10.240.0.4, l'indirizzo IP interno principale della VM - Porta di destinazione:
24000, corrispondente alla porta di origine temporanea originale del pacchetto di richiesta - Protocollo: TCP, invariato
- Indirizzo IP di origine:
NAT64 in Public NAT
NAT64 consente alle istanze VM con interfacce di rete solo IPv6 di comunicare con le destinazioni IPv4 su internet. Public NAT supporta NAT64 sia per gli indirizzi IPv6 esterni sia per quelli interni. Se vuoi configurare NAT64, devi configurare anche DNS64.
La configurazione di DNS64 in Cloud DNS consente il seguente comportamento:
- Quando un'istanza VM solo IPv6 avvia una richiesta per risolvere il nome di una destinazione internet che ha solo un indirizzo IPv4, il server DNS64 cerca i record
A. Se viene trovato un record
A, il server DNS64 sintetizza un indirizzo IPv6 con IPv4 incorporato anteponendo il prefisso64:ff9b::/96all'indirizzo IPv4 di destinazione ottenuto dal recordA. Ad esempio, se l' indirizzo IPv4 di destinazione è203.0.113.1, il server restituisce64:ff9b::cb00:7101, dovecb00:7101è la rappresentazione esadecimale di203.0.113.1.Per saperne di più, consulta DNS64.
Quando la richiesta raggiunge il gateway Cloud NAT con NAT64 abilitato, il gateway esegue SNAT nel seguente modo:
- Sostituisce l'indirizzo IPv6 e la porta di origine con uno degli indirizzi IPv4 esterni e delle porte allocati al gateway.
Converte l'indirizzo IPv6 di destinazione sintetizzato, ad esempio
64:ff9b::cb00:7101, all'indirizzo IPv4 originale utilizzando gli ultimi 32 bit dell'indirizzo sintetizzato.Il gateway Cloud NAT utilizza anche gli ultimi 32 bit dell'indirizzo IPv6 sintetizzato per determinare come il pacchetto di richiesta viene instradato a internet. Quando un'istanza VM solo IPv6 invia un pacchetto a una destinazione con il prefisso
64:ff9b::/96, il gateway applica la tabella di routing IPv4 della rete VPC all'indirizzo IPv4 di destinazione. Se la tabella di routing IPv4 ha una route per l'indirizzo IPv4 di destinazione il cui hop successivo è il gateway internet predefinito, il pacchetto modificato viene inviato a internet.
Quando viene ricevuta la risposta, il gateway Cloud NAT esegue DNAT nel seguente modo:
- Anteponendo il prefisso
64:ff9b::/96all'indirizzo IP di origine del pacchetto di risposta. - Riscrivendo l'indirizzo di destinazione e la porta di destinazione del pacchetto di risposta in modo che il pacchetto venga recapitato alla VM.
Prima di configurare NAT64, consulta Limitazioni e Route e regole firewall.
Passaggi successivi
- Scopri di più sulle interazioni tra i prodotti Cloud NAT
- Scopri di più su indirizzi IP e porte
- Scopri di più sulle regole di Cloud NAT
- Configura e gestisci la Network Address Translation con Public NAT