NAT pubblico

Il NAT pubblico consente alle istanze di macchine virtuali (VM) Google Cloud che non dispongono gli indirizzi IP pubblici comunicano con internet tramite un insieme di IP pubblici condivisi indirizzi IP esterni. Cloud NAT utilizza un gateway Public NAT che alloca un set di indirizzi Indirizzi IP e porte di origine per ogni VM che utilizza il gateway per creare di connessione a internet.

Flusso di lavoro e configurazione di base di Public NAT

Il seguente diagramma mostra una configurazione di NAT pubblico di base:

Esempio di traduzione di NAT pubblico.
Esempio di traduzione NAT pubblico (fai clic per ingrandire).

In questo esempio:

  • Il gateway nat-gw-us-east è configurato per essere applicato all'intervallo di indirizzi IP principale di subnet-1 nella regione us-east1. Una VM con interfaccia di rete non dispone di un indirizzo IP esterno può inviare il traffico a internet utilizzando il suo indirizzo IP interno principale o un intervallo IP alias dell'istanza principale Intervallo di indirizzi IP di subnet-1, 10.240.0.0/16.

  • Una VM la cui interfaccia di rete non ha un indirizzo IP esterno e la cui l'indirizzo IP interno principale si trova in subnet-2 non può accedere a internet perché nessun gateway Public NAT è valido per qualsiasi indirizzo IP di quella subnet.

  • Il gateway nat-gw-eu è configurato per essere applicato all'intervallo di indirizzi IP principale di subnet-3 nella regione europe-west1. Una VM con interfaccia di rete non dispone di un indirizzo IP esterno può inviare il traffico a internet utilizzando il suo indirizzo IP interno principale o un intervallo IP alias dell'istanza principale Intervallo di indirizzi IP di subnet-3, 192.168.1.0/24.

Esempio di flusso di lavoro Public NAT

Nel diagramma precedente, una VM con indirizzo IP interno principale 10.240.0.4, senza un 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:

  • N. minimo di porte per istanza: 64
  • Sono stati assegnati manualmente due indirizzi IP Network Address Translation (NAT): 192.0.2.50 e 192.0.2.60
  • NAT fornito per l'intervallo di indirizzi IP principali di subnet-1

Public NAT segue la procedura di prenotazione delle porte per prenotare le seguenti tuple di indirizzo IP di origine e porta di origine NAT per ciascuna delle VM nella rete. Ad esempio, Il gateway Public NAT prenota 64 porte di origine per la VM con IP interno indirizzo 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 indirizzo IP di origine NAT e porta di origine per la VM:

  • 192.0.2.50:34000 fino a 192.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 richieste 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 al server di aggiornamento
    • Protocollo: TCP
  • Il gateway nat-gw-us-east esegue la Network Address Translation (SNAT) di origine sul traffico in uscita, riscrivendo la richiesta l'indirizzo IP e la porta di origine NAT del pacchetto. Il pacchetto modificato viene inviato internet se la rete Virtual Private Cloud (VPC) ha una route per 203.0.113.1 il cui hop successivo è il gateway internet predefinito. Un predefinito percorso generalmente soddisfa questo requisito.

    • Indirizzo IP di origine NAT: 192.0.2.50, da uno dei percorsi NAT riservati della VM tuple di indirizzi IP di origine e di porte di origine
    • Porta di origine: 34022, una porta di origine non utilizzata di 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
  • Quando il server di aggiornamento invia un pacchetto di risposta, nat-gw-us-east gateway con i seguenti 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'IP di origine NAT originale indirizzo del pacchetto della richiesta
    • Porta di destinazione: 34022, corrispondente alla porta di origine del pacchetto di richiesta
    • Protocollo: TCP, invariato
  • Il gateway nat-gw-us-east esegue la traduzione dell'indirizzo di rete di destinazione (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 consegnato 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 di il pacchetto di richiesta
    • Protocollo: TCP, invariato

Specifiche

Specifiche generali

Puoi configurare un gateway Public NAT per fornire NAT a internet per e i pacchetti inviati dai seguenti:

  • L'indirizzo IP interno primario dell'interfaccia di rete della VM Compute Engine, a condizione che all'interfaccia di rete non sia stato assegnato un indirizzo IP esterno. Se all'interfaccia di rete è stato assegnato un indirizzo IP esterno, Google Cloud esegue automaticamente il NAT uno a uno per i pacchetti le cui sorgenti corrispondono all'indirizzo IP interno principale dell'interfaccia perché l'interfaccia di rete soddisfa i requisiti di accesso a internet di Google Cloud. L'esistenza di un un indirizzo IP esterno su un'interfaccia ha sempre la precedenza e esegue la modalità NAT one-to-one senza utilizzare il NAT pubblico.

  • Un intervallo IP alias assegnato alla rete della VM a riga di comando. Anche se all'interfaccia di rete è stato assegnato un indirizzo IP esterno, puoi configurare un gateway NAT pubblico per fornire 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 NAT uno a uno per gli indirizzi IP alias.

  • Per i cluster Google Kubernetes Engine (GKE), Public NAT può fornire il servizio anche se il cluster ha indirizzi IP esterni in determinate circostanze. Per maggiori dettagli, consulta Interazione di GKE.

Il NAT pubblico consente le connessioni in uscita e le risposte in entrata a queste connessioni. Ogni gateway NAT pubblico esegue il source NAT in uscita e il destination NAT per i pacchetti di risposta stabiliti.

Public NAT non consente richieste in entrata non richieste da internet, anche se le regole del firewall lo consentissero. Per ulteriori informazioni, consulta le RFC applicabili.

Ogni gateway Public NAT è associato a un singolo VPC rete, regione e router Cloud. Il gateway NAT pubblico e il router Cloud forniscono un piano di controllo, non sono coinvolti nel piano dati, pertanto i pacchetti non passano attraverso il gateway NAT pubblico o il router Cloud.

Route e regole firewall

Il NAT pubblico si basa su route statiche personalizzate i cui hop successivi sono gateway internet predefinito. Per utilizzare completamente un gateway NAT pubblico, la rete Virtual Private Cloud deve avere una route predefinita il cui hop successivo sia il gateway internet predefinito. Per ulteriori informazioni, vedi instrada le interazioni.

Public NAT non ha requisiti per le regole Cloud NGFW. Le regole firewall sono applicata direttamente alle interfacce di rete delle VM di Compute Engine, non ai gateway di Public NAT.

Non devi creare regole firewall speciali che consentano connessioni a o da indirizzi IP NAT. Quando un gateway Public NAT fornisce il servizio NAT per l'interfaccia di rete di una VM, il traffico Le regole firewall vengono valutate come pacchetti per quell'interfaccia di rete prima del NAT. Firewall in entrata vengono valutate dopo che i pacchetti sono stati elaborati da NAT.

Applicabilità dell'intervallo di indirizzi IP della subnet

Puoi configurare il gateway Public NAT in modo che fornisca NAT per la VM l'indirizzo IP interno principale dell'interfaccia di rete, gli intervalli IP alias o entrambi. Tu esegui questa configurazione scegliendo intervalli di indirizzi IP di subnet che deve essere applicato dal gateway.

Puoi configurare un gateway Public NAT per fornire NAT per quanto segue:

  • Intervalli di indirizzi IP principali e secondari di tutte le subnet nella regione. Un singolo gateway NAT pubblico fornisce la traduzione NAT per gli indirizzi IP interni principali e per tutti gli intervalli IP alias delle VM idonee le cui interfacce di rete utilizzano una subnet nella regione. Questa opzione utilizza esattamente un gateway NAT per regione.

  • Intervalli di indirizzi IP principali di tutte le subnet nella regione. Un singolo gateway NAT pubblico fornisce la NAT per gli indirizzi IP interni principali e gli intervalli IP alias dagli intervalli di indirizzi IP principali delle subnet delle VM idonee le cui interfacce di rete utilizzano una subnet nella regione. Puoi creare altri gateway NAT pubblici nella regione per fornire NAT per gli intervalli IP alias dagli intervalli di indirizzi IP secondari della subnet delle VM idonee.

  • Elenco di subnet personalizzate. Un singolo gateway Public NAT fornisce il NAT per l'IP interno principale 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 IP della subnet personalizzati. Puoi creare tutti i servizi NAT pubblici i gateway in base alle esigenze, in base alle quote di Public NAT limiti. Scegli quale subnet principale o IP secondario devono essere gestiti da ogni gateway.

Più gateway NAT pubblici

Puoi avere più gateway NAT pubblici nella stessa regione di una rete VPC se una delle seguenti condizioni è vera:

  • Ogni gateway è configurato per una subnet diversa.

  • All'interno di un'unica subnet, ogni gateway è configurato per un intervallo di indirizzi IP diverso. Puoi mappare un gateway Public NAT a una subnet o a un intervallo di indirizzi IP specifico utilizzando una mappatura Cloud NAT personalizzata.

Finché i gateway NAT mappati non si sovrappongono, puoi creare Gateway NAT pubblici se necessario, soggetti a NAT pubblico quote e limiti. Per ulteriori informazioni, consulta Limiti dei gateway Cloud NAT.

Larghezza di banda

L'utilizzo di un gateway NAT pubblico non modifica la quantità di larghezza di banda in entrata o in uscita che una VM può utilizzare. Per le specifiche della larghezza di banda, che variano in base al tipo di macchina, consulta Larghezza di banda della rete nella documentazione di Compute Engine.

VM con più interfacce di rete

Se configuri una VM in modo che abbia più reti interfacce, ogni interfaccia deve essere in rete VPC separata. Di conseguenza, è vero quanto segue:

  • Un gateway NAT pubblico può essere applicato solo a una singola interfaccia di rete di una VM. Gateway NAT pubblici separati 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 IP esterno, il che rende l'interfaccia non idonea per il NAT pubblico, mentre un'altra delle sue interfacce può essere idonea per il NAT se non ha un indirizzo IP esterno e hai configurato un gateway NAT pubblico da applicare all'intervallo di indirizzi IP della subnet appropriato.

Indirizzi IP e porte NAT

Quando crei un gateway NAT pubblico, puoi scegliere di lasciare che il gateway assegni automaticamente indirizzi IP esterni regionali. In alternativa, puoi assegnare manualmente un numero fisso di indirizzi IP esterni regionali gateway VPN ad alta disponibilità.

Per un gateway Public NAT con indirizzo IP NAT automatico allocazione, considera quanto segue:

  • Puoi selezionare Network Service Tiers (livello Premium o Standard) da in cui il gateway Public NAT alloca gli indirizzi IP.
  • Quando modifichi il livello di un gateway NAT pubblico che ha indirizzi IP NAT allocati automaticamente, Google Cloud rilascia tutti gli indirizzi IP assegnati per quel gateway e ritira tutte le allocazioni delle porte.

    Viene allocato automaticamente un nuovo set di indirizzi IP dal livello appena selezionato, e la nuova allocazione di porte a tutti gli endpoint.

Per un determinato gateway Public NAT, puoi anche eseguire manualmente assegnare indirizzi IP dal livello Premium o Standard o entrambi, a determinate condizioni.

Per informazioni dettagliate sull'assegnazione degli indirizzi IP NAT, vedi Indirizzi IP NAT pubblici.

Puoi configurare il numero di porte di origine che ogni gateway NAT pubblico riserva su ogni VM per cui deve fornire servizi NAT. Puoi configurare l'allocazione statica delle porte in cui viene riservato lo stesso numero di porte per ogni VM, oppure porta dinamica allocazione, dove il numero di richieste di annunci le porte possono variare tra il limite minimo e massimo specificato.

Le VM per le quali deve essere fornito il NAT sono determinate dagli intervalli di indirizzi IP della subnet per i quali il gateway è configurato per il servizio.

Per ulteriori informazioni sulle porte, consulta la sezione Porte.

RFC applicabili

La NAT pubblica supporta la mappatura indipendente dall'endpoint e il filtro dipendente dall'endpoint come definito nel documento RFC 5128. Puoi attivare o disattivare la mappatura indipendente dagli endpoint. Per impostazione predefinita, la mappatura indipendente dagli endpoint viene disattivata quando crei un gateway NAT.

Mappatura indipendente dagli endpoint indica che se una VM invia pacchetti da un indirizzo IP interno e porta vengono accoppiati a più destinazioni diverse, quindi il gateway mappa tutti i pacchetti allo stesso indirizzo IP NAT e alla stessa coppia di porte, a prescindere dalla destinazione dei pacchetti. Per dettagli e implicazioni pertinente alla mappatura indipendente degli endpoint, consulta Riutilizzo simultaneo delle porte. e indipendente dagli endpoint Mappatura.

Il filtro basato sugli endpoint indica che i pacchetti di risposta da internet vengono possono accedere solo se provengono da un indirizzo IP e da una porta che una VM aveva a cui sono già stati inviati pacchetti. Il filtro dipende dall'endpoint, indipendentemente dal tipo di mappatura degli endpoint. Questa funzionalità è sempre attiva e non è configurabile dall'utente.

Per ulteriori informazioni sulla relazione tra porte e connessioni, consulta Porte e connessioni e l'esempio di flusso NAT.

Public NAT è un Port Restricted Cone NAT, come definito in RFC 3489.

Traversal NAT

Se la mappatura indipendente degli endpoint è abilitata, Public NAT è compatibile con i comuni protocolli NAT Traversal come STUN e TURN se implementa i 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 indirizzo IP esterno e il server inoltra la comunicazione tra i due delle VM in esecuzione. TURN è più robusto, ma consuma più larghezza di banda e risorse.

Timeout NAT

La NAT pubblica imposta i timeout per le connessioni di protocollo. Per informazioni su questi timeout e sui relativi valori predefiniti, consulta i timeout NAT.

Passaggi successivi