Configura e gestisci Network Address Translation con NAT privato

Questa pagina mostra come configurare Network Address Translation (NAT) utilizzando il NAT Inter-VPC, una funzionalità NAT privato. Prima di configurare NAT Inter-VPC, leggi la panoramica su Private NAT.

Limitazioni

  • Il NAT tra VPC non supporta la mappatura indipendente dagli endpoint.
  • La NAT tra VPC con supporto tra progetti non è disponibile in Anteprima.
  • Il supporto del logging per la NAT tra VPC non è disponibile in anteprima.
  • In Anteprima, i gateway NAT privati vengono visualizzati nell'elenco dei gateway NAT nella console Google Cloud. Tuttavia, devi utilizzare solo gcloud CLI per aggiornare qualsiasi gateway NAT privato esistente. L'utilizzo della console Google Cloud per aggiornare un gateway NAT privato esistente potrebbe comportare una configurazione errata.
  • Lo svuotamento degli intervalli di indirizzi IP non è supportato in Anteprima.
  • Non puoi utilizzare il NAT tra VPC per tradurre uno specifico intervallo di indirizzi IP principali o secondari per una determinata subnet. Un gateway NAT privato esegue NAT su tutti gli intervalli di indirizzi IP per una determinata subnet o un elenco di subnet.
  • Una volta creata, non puoi aumentare o diminuire le dimensioni della subnet del NAT privato. Tuttavia, puoi specificare più intervalli di subnet NAT privato per un determinato gateway.
  • Il NAT tra VPC supporta un massimo di 64.000 connessioni simultanee per endpoint.
  • Il NAT tra VPC supporta solo connessioni TCP e UDP.
  • Il NAT tra VPC supporta il Network Address Translation (NAT) solo tra spoke Virtual Private Cloud (VPC) di Network Connectivity Center e non con reti Virtual Private Cloud connesse tramite peering di rete VPC.
  • Un'istanza di macchina virtuale (VM) in una rete VPC può accedere solo alle destinazioni in una subnet non sovrapposta in una rete in peering e non in una subnet sovrapposta.

Prima di iniziare

Completa le attività seguenti prima di configurare il NAT privato.

Ottieni autorizzazioni IAM

Il ruolo Amministratore rete Compute (roles/compute.networkAdmin) ti concede le autorizzazioni per creare un gateway NAT sul router Cloud, prenotare e assegnare indirizzi IP NAT e specificare le subnet (subnet) il cui traffico deve utilizzare Network Address Translation da parte del gateway NAT.

Configurare Google Cloud

Prima di iniziare, configura i seguenti elementi in Google Cloud.

  1. Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
  2. Nella console di Google Cloud Console, nella pagina del selettore dei progetti, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  3. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  4. Installa Google Cloud CLI.
  5. Per inizializzare l'interfaccia a riga di comando gcloud, esegui il comando seguente:

    gcloud init
  6. Nella console di Google Cloud Console, nella pagina del selettore dei progetti, seleziona o crea un progetto Google Cloud.

    Vai al selettore progetti

  7. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  8. Installa Google Cloud CLI.
  9. Per inizializzare l'interfaccia a riga di comando gcloud, esegui il comando seguente:

    gcloud init

Le istruzioni di Google Cloud CLI in questa pagina presuppongono che tu abbia impostato l'ID progetto prima di inviare comandi.

  1. Puoi impostare un ID progetto con il seguente comando:

    gcloud config set project PROJECT_ID
    
  2. Puoi anche visualizzare un ID progetto già impostato:

    gcloud config list --format='text(core.project)'
    

Crea una subnet NAT di scopo PRIVATE_NAT

Prima di configurare NAT inter-VPC, crea una subnet NAT di scopo PRIVATE_NAT. Per eseguire la NAT, il gateway NAT privato utilizza intervalli di indirizzi IP di questa subnet. Assicurati che questa subnet non si sovrapponga a una subnet esistente in nessuno degli spoke VPC collegati allo stesso hub di Network Connectivity Center. Non puoi creare alcuna risorsa in questa subnet. Questa subnet viene utilizzata solo per NAT privato.

Console

  1. Nella console Google Cloud, vai alla pagina Reti VPC.

    Vai a Reti VPC

  2. Per visualizzare la pagina dei dettagli della rete VPC, fai clic sul nome di una rete VPC.

  3. Fai clic su Aggiungi subnet. Nella finestra di dialogo Aggiungi una subnet, segui questi passaggi:

    1. Specifica un nome per la subnet.
    2. Seleziona una regione.
    3. Per Finalità, seleziona Private NAT.
    4. Inserisci un intervallo di indirizzi IP, che corrisponde all'intervallo IPv4 principale per la subnet.

      Se selezioni un intervallo che non è un indirizzo RFC 1918, verifica che l'intervallo non sia in conflitto con una configurazione esistente. Per ulteriori informazioni sugli intervalli di subnet IPv4 validi, consulta Intervalli di subnet IPv4.

  4. Fai clic su Aggiungi.

gcloud

Utilizza il comando compute networks subnet create per creare la subnet.

    gcloud beta compute networks subnets create NAT_SUBNET \
      --network=NETWORK \
      --region=REGION \
      --range=IP_RANGE \
      --purpose=PRIVATE_NAT

Sostituisci quanto segue:

  • NAT_SUBNET: il nome dell'intervallo di subnet NAT privato da creare.
  • NETWORK: la rete a cui appartiene la subnet.
  • REGION: la regione della subnet da creare. Se non specificata, ti potrebbe essere chiesto di selezionare un'area geografica (solo modalità interattiva).
  • IP_RANGE: lo spazio IP allocato a questa subnet in formato CIDR. Assicurati che IP_RANGE tenga conto dell'utilizzo del doppio delle dimensioni delle porte richieste per VM.

Creazione di configurazioni NAT private

La NAT tra VPC utilizza un gateway NAT privato che funziona insieme al Network Connectivity Center per eseguire la NAT tra reti VPC.

Configura NAT tra VPC

Per abilitare la comunicazione tra due reti VPC con intervalli IP di subnet sovrapposti, devi assicurarti che le reti VPC siano configurate come spoke VPC connessi allo stesso hub di Network Connectivity Center. Per ulteriori informazioni sulla creazione di spoke VPC, consulta Creare uno spoke VPC.

Dopo aver configurato le reti VPC come spoke VPC, crea un gateway NAT privato con una regola NAT personalizzata che esegue NAT sul traffico tra gli spoke VPC.

Console

  1. Nella console Google Cloud, vai alla pagina Cloud NAT.

    Vai a Cloud NAT

  2. Fai clic su Inizia o Crea gateway Cloud NAT.

  3. Inserisci un nome per il gateway.

  4. Per Tipo NAT, seleziona Privato.

  5. Seleziona una rete VPC per il gateway NAT.

  6. Seleziona la regione per il gateway NAT.

  7. Seleziona o crea un router Cloud nella regione.

  8. Per Mappatura Cloud NAT, seleziona Personalizzato nell'elenco Origine.

  9. Seleziona una subnet su cui vuoi eseguire NAT.

  10. Nell'elenco Intervalli IP, seleziona Tutti gli intervalli principali e secondari.

  11. Se vuoi specificare intervalli aggiuntivi, fai clic su Aggiungi subnet e intervallo IP.

  12. Fai clic su Aggiungi una regola.

  13. Nel campo Numero regola, inserisci un valore compreso tra 1 e 65000.

  14. Nell'elenco Corrispondenza, seleziona l'hub di Network Connectivity Center corrispondente.

  15. Seleziona o crea un intervallo di subnet NAT privato.

  16. Fai clic su Fine, quindi su Crea.

gcloud

  1. Crea un router Cloud nello spoke VPC per il quale vuoi eseguire NAT. Utilizza il comando compute routers create.

    gcloud compute routers create ROUTER_NAME \
      --network=NETWORK --region=REGION
    

    Sostituisci quanto segue:

    • ROUTER_NAME: il nome del router da creare.
    • NETWORK: la rete VPC del router.
    • REGION: la regione del router da creare. Se non specificata, ti potrebbe essere chiesto di selezionare un'area geografica (solo modalità interattiva).
  2. Crea un gateway NAT privato specificando le subnet dello spoke VPC di origine per le quali vuoi eseguire NAT.

    Utilizza il comando compute routers nats create con il flag --type impostato su PRIVATE.

    gcloud beta compute routers nats create NAT_CONFIG \
      --router=ROUTER_NAME --type=PRIVATE --region=REGION \
      --nat-custom-subnet-ip-ranges=SUBNETWORK:ALL|[SUBNETWORK_1:ALL ...] | \
      [--nat-all-subnet-ip-ranges]
    

    Sostituisci quanto segue:

    • NAT_CONFIG: il nome della configurazione NAT privata da creare.
    • ROUTER_NAME: il nome del router da utilizzare con questo gateway. Il router è lo stesso che hai creato nel passaggio precedente. Assicurati che nessun'altra risorsa sia associata al router.
    • SUBNETWORK: il nome della subnet o dell'elenco di subnet a cui è consentito utilizzare il gateway. Puoi anche specificare un elenco di subnet in un formato separato da virgole, come SUBNETWORK_1, SUBNETWORK_2 e così via. Google Cloud esegue sempre lo standard NAT su tutti gli intervalli IP di subnet per una determinata subnet o per l'elenco di subnet.
  3. Per eseguire NAT sul traffico in uscita attraverso lo spoke VPC di origine verso uno spoke VPC peer collegato a un hub di Network Connectivity Center corrispondente, crea una regola NAT nel gateway NAT privato. In base alla regola NAT, il gateway NAT privato assegna gli indirizzi IP NAT dalla subnet Private NAT per eseguire NAT sul traffico.

    Utilizza il comando compute routers nats rules create.

    gcloud beta compute routers nats rules create NAT_RULE_NUMBER \
      --router=ROUTER_NAME --region=REGION \
      --nat=NAT_CONFIG \
      --match='nexthop.hub == "//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/hubs/HUB"' \
      --source-nat-active-ranges=NAT_SUBNET ...
    

    Sostituisci quanto segue:

    • NAT_RULE_NUMBER: il numero che identifica in modo univoco la regola da creare.
    • NAT_CONFIG: il nome della configurazione NAT privata che la regola deve creare. La configurazione è la stessa che hai creato nel passaggio precedente.
    • PROJECT_ID: l'identificatore univoco globale per il progetto in cui si trova il router.
    • HUB: il nome dell'hub di Network Connectivity Center corrispondente.
    • NAT_SUBNET: il nome della subnet NAT privata che hai creato in precedenza. Puoi anche specificare un elenco di subnet in un formato separato da virgole.

Configura NAT inter-VPC con allocazione statica delle porte

Il NAT tra VPC utilizza l'allocazione dinamica delle porte per impostazione predefinita. Tuttavia, puoi configurare il NAT tra VPC in modo che utilizzi l'allocazione statica delle porte.

Console

  1. Nella console Google Cloud, vai alla pagina Cloud NAT.

    Vai a Cloud NAT

  2. Fai clic su Inizia o Crea gateway Cloud NAT.

  3. Inserisci un nome per il gateway.

  4. Per Tipo NAT, seleziona Privato.

  5. Seleziona una rete VPC per il gateway NAT.

  6. Seleziona la regione per il gateway NAT.

  7. Seleziona o crea un router Cloud nella regione.

  8. Specifica i dettagli di mappatura di Cloud NAT e crea una regola NAT. Per ulteriori informazioni, vedi Configurare NAT tra VPC.

  9. Fai clic su Configurazione avanzata.

  10. Deseleziona Abilita allocazione dinamica delle porte.

  11. Specifica il valore in Numero minimo di porte per istanza VM. Il valore predefinito è 64.

  12. Fai clic su Fine, quindi su Crea.

gcloud

Utilizza il comando compute routers nats create con il flag --no-enable-dynamic-port-allocation.

  gcloud beta compute routers nats create NAT_CONFIG \
    --router=ROUTER_NAME --type=PRIVATE --region=REGION \
    --nat-custom-subnet-ip-ranges=SUBNETWORK:ALL|[SUBNETWORK_1:ALL,SUBNETWORK_2:ALL,...] \
    --no-enable-dynamic-port-allocation \
    [--min-ports-per-vm=VALUE]

Sostituisci quanto segue:

  • NAT_CONFIG: il nome della configurazione NAT privata da creare.
  • ROUTER_NAME: il nome del router da utilizzare con il gateway.
  • SUBNETWORK: il nome della subnet o dell'elenco di subnet a cui è consentito utilizzare il gateway.

    Puoi anche specificare un elenco di subnet in un formato separato da virgole, come SUBNETWORK_1, SUBNETWORK_2 e così via. Google Cloud esegue sempre lo standard NAT su tutti gli intervalli IP di subnet per una determinata subnet o per l'elenco di subnet.

  • VALUE: il numero minimo di porte per VM che vuoi assegnare al gateway. Se non specificato, Google Cloud assegna il valore predefinito di 64.

Visualizza configurazione NAT

Console

  1. Nella console Google Cloud, vai alla pagina Cloud NAT.

    Vai a Cloud NAT

  2. Per visualizzare i dettagli del gateway NAT, le informazioni di mappatura o i dettagli di configurazione, fai clic sul nome del gateway NAT.

  3. Per visualizzare lo stato NAT, consulta la colonna Stato del gateway NAT.

gcloud

Puoi visualizzare i dettagli della configurazione NAT eseguendo questi comandi:

  • Visualizza la configurazione del gateway NAT privato.

    gcloud compute routers nats describe NAT_CONFIG \
       --router=NAT_ROUTER \
       --region=REGION
    

    Sostituisci quanto segue:

    • NAT_CONFIG: il nome della configurazione NAT.
    • NAT_ROUTER: il nome del tuo router Cloud.
    • REGION: la regione del NAT da descrivere. Se non specificata, ti potrebbe essere chiesto di selezionare un'area geografica (solo modalità interattiva).
  • Visualizza la mappatura degli intervalli IP:porta-intervalli allocati all'interfaccia di ogni VM.

    gcloud compute routers get-nat-mapping-info NAT_ROUTER \
      --region=REGION
    
  • Visualizza lo stato del gateway NAT privato.

    gcloud compute routers get-status NAT_ROUTER \
      --region=REGION
    

Aggiornamento delle configurazioni NAT tra VPC

Dopo aver configurato il gateway NAT privato, puoi aggiornarne la configurazione in base ai tuoi requisiti. Nelle sezioni seguenti sono elencate le attività che puoi eseguire per aggiornare il gateway NAT privato.

Modifica le subnet associate al NAT tra VPC

Console

  1. Nella console Google Cloud, vai alla pagina Cloud NAT.

    Vai a Cloud NAT

  2. Fai clic sul gateway NAT.

  3. Fai clic su Modifica.

  4. Per Mappatura Cloud NAT, seleziona Personalizzato nell'elenco Origine.

  5. Seleziona una nuova subnet dall'elenco delle subnet disponibili.

  6. Se vuoi specificare intervalli aggiuntivi, fai clic su Aggiungi subnet e intervallo IP, poi seleziona un'altra subnet.

  7. Fai clic su Salva.

gcloud

gcloud beta compute routers nats update NAT_CONFIG \
  --router=ROUTER_NAME \
  --region=REGION \
  --nat-custom-subnet-ip-ranges=SUBNETWORK:ALL|[SUBNETWORK_1:ALL,SUBNETWORK_2:ALL,..]

Sostituisci quanto segue:

  • NAT_CONFIG: il nome della configurazione NAT privata da aggiornare.
  • ROUTER_NAME: il nome del router da utilizzare con il gateway.
  • SUBNETWORK: il nome della subnet da utilizzare.

Elimina le subnet associate al NAT tra VPC

Puoi rimuovere dal gateway NAT subnet specifiche che non sono più in uso.

Console

  1. Nella console Google Cloud, vai alla pagina Cloud NAT.

    Vai a Cloud NAT

  2. Fai clic sul gateway NAT.

  3. Fai clic su Modifica.

  4. Elimina la subnet che vuoi rimuovere dalla mappatura NAT.

  5. Fai clic su Salva.

Elimina configurazione NAT

L'eliminazione di una configurazione di gateway rimuove la configurazione NAT da un router Cloud. Il router non viene eliminato.

Console

  1. Nella console Google Cloud, vai alla pagina Cloud NAT.

    Vai a Cloud NAT

  2. Seleziona la casella di controllo accanto alla configurazione del gateway che vuoi eliminare.

  3. Nel menu, fai clic su Elimina.

gcloud

gcloud compute routers nats delete NAT_CONFIG \
    --router=NAT_ROUTER \
    --region=REGION

Sostituisci quanto segue:

  • NAT_CONFIG: il nome della configurazione NAT.
  • NAT_ROUTER: il nome del tuo router Cloud.
  • REGION: la regione del NAT da eliminare. Se non specificata, ti potrebbe essere chiesto di selezionare un'area geografica (solo modalità interattiva).

Passaggi successivi