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 Private NAT.

Esamina le specifiche di Private NAT

Consulta le seguenti specifiche e requisiti:

  • Per le specifiche generali, consulta Private NAT.
  • Per il traffico tra gli spoke di un hub Network Connectivity Center, inclusi gli spoke VPC e ibridi, consulta Private NAT per gli spoke NCC.
  • Per il traffico tra le reti Virtual Private Cloud (VPC) e le reti non-Google Cloud tramite Cloud Interconnect o Cloud VPN, consulta Hybrid NAT.

Ottieni autorizzazioni IAM

Il ruolo Amministratore 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. 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 senza costi per l'esecuzione, il test e il deployment dei workload.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Compute Engine API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  5. Installa Google Cloud CLI.

  6. Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

  7. Per inizializzare gcloud CLI, esegui questo comando:

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

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  9. Verify that billing is enabled for your Google Cloud project.

  10. Enable the Compute Engine API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  11. Installa Google Cloud CLI.

  12. Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

  13. Per inizializzare gcloud CLI, esegui questo comando:

    gcloud init

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
    

    Sostituisci PROJECT_ID con l'ID del tuo progetto.

  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 Private NAT, 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 Private NAT 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 Private NAT.

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 Private NAT.
    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, consulta 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 Private NAT 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 NCC. Abilita NAT per il traffico tra:

    • Una rete VPC di origine e una rete VPC di destinazione nello stesso hub NCC. Entrambe le reti devono essere configurate come spoke VPC.
    • Una rete VPC di origine configurata come uno spoke VPC in un hub NCC e una rete on-premise di destinazione o un altro provider cloud connesso 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 di destinazione o un altro provider cloud. Le reti devono essere connesse tramite Cloud Interconnect o Cloud VPN.

Crea un gateway Private NAT

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

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 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 Priorità regola, inserisci un valore compreso tra 0 e 65000.

  14. Per Corrispondenza, seleziona una delle seguenti opzioni:

    • Per attivare Hybrid NAT, seleziona Route di connettività ibrida.
    • Per abilitare Private NAT per gli spoke NCC, 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 logging.
    • Se modificare la modalità di allocazione delle porte di Cloud NAT. Per impostazione predefinita, è selezionata l'opzione Abilita allocazione dinamica delle porte. 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 Private NAT 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 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 dallo spoke VPC di origine a uno qualsiasi degli spoke VPC o ibridi collegati allo stesso hub NCC dello spoke VPC 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_PRIORITY \
        --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 NCC, esegui questo comando:

    gcloud compute routers nats rules create NAT_RULE_PRIORITY \
        --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 NCC, esegui il comando seguente:

    gcloud compute routers nats rules create NAT_RULE_PRIORITY \
        --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_PRIORITY: il numero della regola che identifica in modo univoco la regola NAT, da 0 (priorità più alta) a 65000 (priorità più bassa).
    • ROUTER_NAME: il nome del router Cloud creato in precedenza.
    • REGION: la regione del router cloud.
    • NAT_CONFIG: il nome della configurazione NAT privata creata in precedenza.
    • PROJECT_ID: il Google Cloud progetto dell'hub NCC.
    • HUB: il nome dell'hub NCC.
    • 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 NAT privato

Console

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

    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 router Cloud
    • REGION: la regione del NAT da descrivere. Se non specificata, potrebbe esserti chiesto di selezionare una regione (solo modalità interattiva)
  • Visualizza il mapping degli intervalli IP:porta allocati all'interfaccia di ogni 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 sezioni seguenti elencano le attività che puoi eseguire per aggiornare il gateway NAT privato.

Modificare le subnet associate a NAT privato

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 il mapping Cloud NAT, seleziona Personalizzato nell'elenco Origine.

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

  6. Se vuoi specificare altri intervalli, fai clic su Aggiungi subnet e intervallo IP, quindi 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 Private NAT 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 Private NAT

Puoi rimuovere subnet specifiche dal gateway NAT 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 dal mapping NAT.

  5. Fai clic su Salva.

Aggiungi subnet NAT alla configurazione Private NAT

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 console Google Cloud , 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_PRIORITY \
    --nat=NAT_CONFIG \
    --router=ROUTER_NAME \
    --region=REGION \
    --source-nat-active-ranges=NAT_SUBNET_1, NAT_SUBNET_2 ...

Sostituisci quanto segue:

  • NAT_RULE_PRIORITY: il numero che identifica in modo univoco la regola da aggiornare, da 0 (priorità più alta) a 65000 (priorità più bassa).
  • 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 comporta l'eliminazione del router stesso.

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 da 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 router Cloud
  • REGION: la regione del NAT da eliminare. Se non specificata, potrebbe esserti chiesto di selezionare una regione (solo modalità interattiva).

Passaggi successivi