Configura e gestisci la Network Address Translation con Private NAT

Questa pagina descrive come configurare la Network Address Translation (NAT) private-to-private in Cloud NAT.

Prima di iniziare

Completa le seguenti attività prima di configurare NAT privato.

Esamina le specifiche di NAT privato

Consulta le seguenti specifiche e requisiti:

Ottieni autorizzazioni IAM

Il ruolo Amministratore di rete Compute (roles/compute.networkAdmin) ti concede le autorizzazioni per creare un gateway NAT su router Cloud, riservare e assegnare indirizzi IP NAT e specificare le subnet il cui traffico deve utilizzare la Network Address Translation tramite il gateway NAT.

Configura Google Cloud

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

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Compute Engine API.

    Enable the API

  5. Install the Google Cloud CLI.

  6. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  7. To initialize the gcloud CLI, run the following command:

    gcloud init
  8. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  9. Make sure that billing is enabled for your Google Cloud project.

  10. Enable the Compute Engine API.

    Enable the API

  11. Install the Google Cloud CLI.

  12. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  13. To initialize the gcloud CLI, run the following command:

    gcloud init
  14. Le istruzioni di Google Cloud CLI in questa pagina presuppongono che tu abbia impostato l'ID progetto prima di eseguire i 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 con lo scopo PRIVATE_NAT

    Prima di configurare NAT privato, crea una subnet NAT con lo scopo PRIVATE_NAT. La subnet NAT deve trovarsi nella stessa regione in cui prevedi di creare il gateway NAT privato. Il gateway NAT privato utilizza gli intervalli di indirizzi IP di questa subnet per eseguire NAT. Assicurati che questa subnet non si sovrapponga a una subnet esistente in nessuna delle reti connesse. Non puoi creare risorse 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 sulla scheda Subnet.

    4. Fai clic su Aggiungi subnet. Nella finestra di dialogo Aggiungi una subnet, procedi nel seguente modo:

      1. Specifica un nome per la subnet.
      2. Seleziona una regione.
      3. Per Scopo, seleziona NAT privato.
      4. Inserisci un intervallo di indirizzi IP, ovvero l'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 saperne di più sugli intervalli di subnet IPv4 validi, vedi Intervalli di subnet IPv4.

    5. Fai clic su Aggiungi.

    gcloud

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

      gcloud 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 privata da creare.
    • NETWORK: la rete a cui appartiene la subnet.
    • REGION: la regione della subnet da creare. Se non specificata, potrebbe esserti chiesto di selezionare una regione (solo in 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 porte richieste per VM.

    Configura NAT privato

    Configura Private NAT creando un gateway Private NAT nella rete VPC di origine. Ogni gateway è associato a una singola rete VPC, regione e router Cloud.

    Quando configuri NAT privato, puoi attivare una o entrambe le seguenti opzioni:

    • Private NAT per gli spoke di Network Connectivity Center. Abilita NAT per il traffico tra:

      • Una rete VPC di origine e una rete VPC di destinazione nello stesso hub Network Connectivity Center. Entrambe le reti devono essere configurate come spoke VPC.
      • Una rete VPC di origine configurata come uno spoke VPC in un hub Network Connectivity Center e una rete di destinazione on-premise o di un altro cloud provider connessa all'hub tramite uno spoke ibrido.

      Se vuoi utilizzare le connessioni propagate di Private Service Connect nello stesso spoke VPC di Private NAT, consulta Interazioni delle connessioni propagate di Private Service Connect prima di configurare Private NAT.

    • Hybrid NAT. Consente NAT per il traffico tra una rete VPC di origine e una rete on-premise o di un altro provider cloud di destinazione. Le reti devono essere connesse tramite Cloud Interconnect o Cloud VPN.

    Crea un gateway Private NAT

    Crea un gateway Private NAT nella rete VPC di origine per cui vuoi configurare NAT.

    Console

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

      Vai a Cloud NAT

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

    3. Inserisci un nome del 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. Assicurati che Istanze VM sia selezionato come tipo di endpoint di origine.

    9. Nell'elenco Origine, seleziona Personalizzato.

    10. Seleziona una subnet su cui vuoi eseguire NAT.

    11. Se vuoi specificare altri intervalli, 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 0 e 65000.

    14. Per Corrispondenza, seleziona una delle seguenti opzioni:

      • Per attivare NAT ibrido, seleziona Route di connettività ibrida.
      • Per abilitare Private NAT per gli spoke di Network Connectivity Center, seleziona Hub Network Connectivity Center.
      • Per attivare entrambe le opzioni, seleziona Route di connettività ibrida e Hub Network Connectivity Center.
    15. Seleziona o crea un intervallo di subnet NAT privato.

    16. Fai clic su Fine.

    17. (Facoltativo) Modifica una delle seguenti impostazioni nella sezione Configurazioni avanzate:

      • Indica se configurare il logging. Per impostazione predefinita, è selezionata l'opzione Nessun log.
      • Se modificare la modalità di allocazione delle porte di Cloud NAT. Per impostazione predefinita, l'opzione Abilita allocazione dinamica delle porte è selezionata. Per configurare l'allocazione statica delle porte, deseleziona Abilita allocazione dinamica delle porte e specifica Numero minimo di porte per istanza VM. Il valore predefinito è 64.
      • Indica se aggiornare i timeout NAT per le connessioni di protocollo. Per informazioni su questi timeout e sui relativi valori predefiniti, consulta Timeout NAT.
    18. Fai clic su Crea.

    gcloud

    1. Crea un router Cloud nella rete VPC per cui vuoi configurare NAT.

      Utilizza il comando gcloud compute routers create.

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

      Sostituisci quanto segue:

      • ROUTER_NAME: un nome per il router Cloud.
      • NETWORK: la rete VPC in cui creare il router Cloud.
      • REGION: la regione in cui creare il router cloud.
    2. Crea un gateway NAT privato e specifica una o più subnet della rete VPC di origine per cui vuoi configurare NAT.

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

      gcloud 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,...] | \
          [--nat-all-subnet-ip-ranges]
      

      Sostituisci quanto segue:

      • NAT_CONFIG: un nome per la configurazione Private NAT che stai creando.
      • ROUTER_NAME: il nome del router Cloud da utilizzare con questo gateway. Questo è il router Cloud che hai creato nel passaggio precedente e non deve essere utilizzato da altre risorse.
      • SUBNETWORK: il nome della subnet o l'elenco delle subnet per cui vuoi utilizzare NAT.

        Puoi anche specificare un elenco di subnet in un formato separato da virgole, ad esempio SUBNETWORK_1, SUBNETWORK_2. Private NAT esegue sempre la NAT su tutti gli intervalli IP di subnet per la subnet o l'elenco di subnet specificati.

      Per impostazione predefinita, NAT privato utilizza l'allocazione dinamica delle porte. Se vuoi creare un gateway NAT privato con allocazione statica delle porte, esegui il comando precedente con il flag --no-enable-dynamic-port-allocation:

      gcloud 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,...] | \
          [--nat-all-subnet-ip-ranges]
          --no-enable-dynamic-port-allocation \
          [--min-ports-per-vm=VALUE]
      

      Sostituisci VALUE con il numero minimo di porte da assegnare per VM. Se non specificato, Google Cloud assegna il valore predefinito 64.

    3. Crea una regola NAT per far corrispondere il traffico in base al tipo di NAT che stai configurando.

      Utilizza il comando gcloud compute routers nats rules create con il flag --match impostato su una delle seguenti opzioni:

      • nexthop.is_hybrid: traduce il traffico in uscita dalla rete VPC di origine a una rete on-premise o di un altro cloud provider connessa a Google Cloud tramite Cloud Interconnect o Cloud VPN.
      • nexthop.hub: traduce il traffico in uscita dal VPC spoke di origine a uno qualsiasi dei VPC spoke o ibridi collegati allo stesso hub Network Connectivity Center del VPC spoke di origine.
      • nexthop.is_hybrid || nexthop.hub: configura entrambi i tipi di NAT privato.

      Per creare una regola NAT per Hybrid NAT, esegui questo comando:

      gcloud compute routers nats rules create NAT_RULE_NUMBER \
          --router=ROUTER_NAME --region=REGION \
          --nat=NAT_CONFIG \
          --match='nexthop.is_hybrid' \
          --source-nat-active-ranges=NAT_SUBNET
      

      Per creare una regola NAT per Private NAT per gli spoke di Network Connectivity Center, esegui questo comando:

      gcloud 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
      

      Per creare una regola NAT sia per Hybrid NAT sia per Private NAT per gli spoke di Network Connectivity Center, esegui il comando seguente:

      gcloud compute routers nats rules create NAT_RULE_NUMBER \
          --router=ROUTER_NAME --region=REGION \
          --nat=NAT_CONFIG \
          --match='nexthop.is_hybrid || 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 di regola che identifica in modo univoco la regola NAT, da 0 a 65000.
      • ROUTER_NAME: il nome del router Cloud che hai creato in precedenza.
      • REGION: la regione del router cloud.
      • NAT_CONFIG: il nome della configurazione Private NAT che hai creato in precedenza.
      • PROJECT_ID: il progetto Google Cloud dell'hub Network Connectivity Center.
      • HUB: il nome dell'hub Network Connectivity Center.
      • 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.

    Visualizza la configurazione di NAT privato

    Console

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

      Vai a Cloud NAT

    2. Per visualizzare i dettagli, le informazioni di mapping o i dettagli di configurazione del gateway NAT, 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 i seguenti comandi:

    • Visualizza la configurazione del gateway NAT privato.

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

      Sostituisci quanto segue:

      • NAT_CONFIG: il nome della configurazione NAT
      • ROUTER_NAME: il nome del tuo router Cloud
      • REGION: la regione del NAT da descrivere. Se non specificata, potrebbe esserti chiesto di selezionare una regione (solo in modalità interattiva)
    • Visualizza il mapping degli intervalli IP:porta allocati a ogni interfaccia della VM.

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

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

    Aggiorna la configurazione di NAT privato

    Dopo aver configurato il gateway NAT privato, puoi aggiornare la configurazione del gateway in base ai tuoi requisiti. Le seguenti sezioni elencano le attività che puoi eseguire per aggiornare il gateway NAT privato.

    Modificare le subnet associate a NAT privato

    Console

    1. Nella Google Cloud console, 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, nell'elenco Origine, seleziona Personalizzato.

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

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

    7. Fai clic su Salva.

    gcloud

    gcloud 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 privato da aggiornare.
    • ROUTER_NAME: il nome del router da utilizzare con questo gateway.
    • SUBNETWORK: il nome della subnet da utilizzare.

    Elimina le subnet associate a NAT privato

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

    Console

    1. Nella Google Cloud console, 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 dal mapping NAT.

    5. Fai clic su Salva.

    Aggiungi subnet NAT alla configurazione NAT privato

    Per eseguire NAT sul traffico, una configurazione NAT privata utilizza indirizzi IP NAT da una subnet con lo scopo di PRIVATE_NAT. Se la configurazione NAT privato richiede un numero di indirizzi IP NAT superiore a quello disponibile, puoi aggiungere altre subnet con scopo PRIVATE_NAT alla configurazione.

    Console

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

      Vai a Cloud NAT

    2. Fai clic sul gateway NAT.

    3. Fai clic su Modifica.

    4. Espandi la regola esistente.

    5. Fai clic su Aggiungi intervalli di subnet.

    6. Seleziona o crea un nuovo intervallo di subnet NAT, quindi fai clic su Fine.

    7. Fai clic su Salva.

    gcloud

    gcloud compute routers nats rules update NAT_RULE_NUMBER \
        --nat=NAT_CONFIG \
        --router=ROUTER_NAME \
        --region=REGION \
        --source-nat-active-ranges=NAT_SUBNET_1, NAT_SUBNET_2 ...
    

    Sostituisci quanto segue:

    • NAT_RULE_NUMBER: il numero che identifica in modo univoco la regola da aggiornare.
    • NAT_CONFIG: il nome della configurazione Private NAT per la regola da aggiornare.
    • ROUTER_NAME: il nome del router da utilizzare con questo gateway.
    • NAT_SUBNET: i nomi delle subnet Private NAT da aggiungere alla configurazione NAT esistente.

    Elimina configurazione NAT

    L'eliminazione di una configurazione del gateway rimuove la configurazione NAT da un router Cloud. L'eliminazione di una configurazione del gateway non elimina il router stesso.

    Console

    1. Nella Google Cloud console, 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=ROUTER_NAME \
        --region=REGION
    

    Sostituisci quanto segue:

    • NAT_CONFIG: il nome della configurazione NAT
    • ROUTER_NAME: il nome del tuo router Cloud
    • REGION: la regione del NAT da eliminare. Se non specificata, potrebbe esserti chiesto di selezionare una regione (solo in modalità interattiva).

    Passaggi successivi