Configura e gestisci le regole Cloud NAT

Questa pagina descrive come configurare le regole Cloud NAT per Public NAT. Prima di configurare le regole Cloud NAT, consulta la Panoramica delle regole Cloud NAT.

Crea regole NAT

Per creare regole NAT, Cloud NAT utilizza Common Expression Language (CEL), come descritto in Linguaggio di espressione delle regole. Per esempi di espressioni che puoi utilizzare nelle regole NAT, vedi Esempi di espressioni.

Se vuoi creare regole NAT, assicurati che la mappatura indipendente dagli endpoint sia disattivata per il tuo gateway NAT.

Creare regole basate sull'origine

I passaggi descritti in questa sezione mostrano come creare regole NAT basate sull'origine per le seguenti condizioni:

  1. I pacchetti provenienti dall'intervallo IP di origine 10.10.1.0/24 devono utilizzare IP_ADDRESS_1.
  2. I pacchetti provenienti dall'intervallo IP di origine 10.10.2.0/24 devono utilizzare IP_ADDRESS_2.
  3. Tutti gli altri pacchetti devono utilizzare IP_ADDRESS_3.

Per le condizioni 1 e 2, crea due regole NAT. La condizione 3 viene soddisfatta dalla regola NAT predefinita per la corrispondenza dell'indirizzo di origine. IP_ADDRESS_1, IP_ADDRESS_2 e IP_ADDRESS_3 sono gli indirizzi IP esterni che vuoi utilizzare per NAT.

Console

Aggiungi regole NAT a un gateway NAT esistente

  1. Aggiungi una regola NAT che corrisponda al traffico proveniente da 10.10.1.0/24 e converta l'IP di origine in IP_ADDRESS_1.

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

      Vai a Cloud NAT

    2. Fai clic sul gateway NAT.

    3. Fai clic su Modifica.

    4. Per Indirizzi IP Cloud NAT, seleziona Manuale.

    5. Nella sezione Regole Cloud NAT, fai clic su Aggiungi una regola.

    6. Nel campo Priorità regola, inserisci un numero da 0 (priorità più alta) a 65000 (priorità più bassa). Ad esempio: 100.

    7. In Corrispondenza intervalli IP, seleziona Origine.

    8. Nel campo Intervalli IP di origine, inserisci 10.10.1.0/24.

    9. Nella sezione Indirizzi IP, seleziona l'indirizzo IP che vuoi utilizzare per IP_ADDRESS_1.

    10. Fai clic su Fine.

  2. Aggiungi una regola NAT che corrisponda al traffico proveniente da 10.10.2.0/24 e lo converta in IP_ADDRESS_2.

    1. Nella sezione Regole Cloud NAT, fai clic su Aggiungi una regola.
    2. Nel campo Priorità regola, inserisci un numero da 0 (priorità più alta) a 65000 (priorità più bassa). Ad esempio: 200.
    3. In Corrispondenza intervalli IP, seleziona Origine.
    4. Nel campo Intervalli IP di origine, inserisci 10.10.2.0/24.
    5. Nella sezione Indirizzi IP, seleziona l'indirizzo IP che vuoi utilizzare per IP_ADDRESS_2.
    6. Fai clic su Fine.
    7. Fai clic su Salva per salvare entrambe le regole.

gcloud

Puoi utilizzare i passaggi descritti nelle sezioni seguenti per creare un file di regole, creare un gateway Cloud NAT che utilizza le regole nel file di regole o aggiungere regole a un gateway NAT esistente.

Aggiungi regole NAT a un gateway NAT esistente

Puoi aggiungere una nuova regola NAT utilizzando il comando gcloud beta compute routers nats rules create.

  1. Aggiungi una regola NAT che utilizzi IP_ADDRESS_1 per il traffico proveniente da 10.10.1.0/24:

    gcloud beta compute routers nats rules create NAT_RULE_PRIORITY \
        --router=NAT_ROUTER \
        --region=REGION \
        --nat=NAT_CONFIG \
        --match="inIpRange(source.ip, '10.10.1.0/24')" \
        --source-nat-active-ips=IP_ADDRESS_1
    

    Sostituisci quanto segue:

    • NAT_RULE_PRIORITY: un numero di regola che identifica in modo univoco la regola NAT, da 0 (priorità più alta) a 65000 (priorità più bassa), ad esempio 100
    • NAT_ROUTER: il nome del router Cloud che utilizzi per il gateway NAT
    • REGION: la regione del gateway NAT
    • NAT_CONFIG: il nome della configurazione NAT
    • IP_ADDRESS_1: l'indirizzo IP esterno allocato manualmente che vuoi utilizzare per i pacchetti che corrispondono alla regola
  2. Aggiungi una regola NAT che utilizzi IP_ADDRESS_2 per il traffico proveniente da 10.10.2.0/24:

    gcloud beta compute routers nats rules create NAT_RULE_PRIORITY \
        --router=NAT_ROUTER \
        --region=REGION \
        --nat=NAT_CONFIG \
        --match="inIpRange(source.ip, '10.10.2.0/24')" \
        --source-nat-active-ips=IP_ADDRESS_2
    

    Sostituisci quanto segue:

    • NAT_RULE_PRIORITY: un numero di regola che identifica in modo univoco la regola NAT, da 0 (priorità più alta) a 65000 (priorità più bassa), ad esempio 200
    • NAT_ROUTER: il nome del router Cloud che utilizzi per il gateway NAT
    • REGION: la regione del gateway NAT
    • NAT_CONFIG: il nome della configurazione NAT
    • IP_ADDRESS_2: l'indirizzo IP esterno allocato manualmente che vuoi utilizzare per i pacchetti che corrispondono alla regola

Crea un gateway NAT utilizzando un file di regole NAT

Il seguente esempio di codice è un file di regole. Puoi modificare questo file di regole in base al tuo caso d'uso o saltare questo passaggio se hai già un file di regole.

Creare un file di regole
rules:
 - ruleNumber: 100
   match: inIpRange(source.ip, '10.10.1.0/24')
   action:
     sourceNatActiveIps:
     -  /projects/PROJECT_ID/regions/REGION/addresses/IP_ADDRESS_1
 - ruleNumber: 200
   match: inIpRange(source.ip, '10.10.2.0/24')
   action:
     sourceNatActiveIps:
     -  /projects/PROJECT_ID/regions/REGION/addresses/IP_ADDRESS_2

Nell'esempio precedente, IP_ADDRESS_1 e IP_ADDRESS_2 sono gli indirizzi IP esterni allocati manualmente che vuoi utilizzare per i pacchetti che corrispondono alle regole. Per ogni indirizzo IP, sostituisci quanto segue:

  • PROJECT_ID: il progetto dell'indirizzo IP
  • REGION: la regione in cui è riservato l'indirizzo IP
Crea un gateway NAT utilizzando un file di regole NAT

Il comando seguente crea un gateway NAT e lo configura con le regole di un file di regole NAT. Se hai già configurato un gateway NAT, consulta Aggiungere regole NAT a un gateway NAT esistente.

gcloud beta compute routers nats create NAT_CONFIG \
    --router=NAT_ROUTER \
    --region=REGION \
    --nat-all-subnet-ip-ranges \
    --nat-external-ip-pool=IP_ADDRESS_3,[IP_ADDRESS_4] \
    --rules=PATH_TO_NAT_RULE_FILE

Sostituisci quanto segue:

  • NAT_CONFIG: un nome per la configurazione NAT
  • NAT_ROUTER: il nome del router Cloud che vuoi utilizzare per il gateway NAT
  • REGION: la regione in cui vuoi creare il gateway Cloud NAT
  • IP_ADDRESS_3 e IP_ADDRESS_4: gli indirizzi IP esterni che vuoi utilizzare per la regola NAT predefinita
  • PATH_TO_NAT_RULE_FILE: il percorso del file della regola NAT

Crea regole basate sulla destinazione

I seguenti passaggi di configurazione di esempio soddisfano le seguenti condizioni:

  • I pacchetti con indirizzo di destinazione 198.51.100.10 devono utilizzare l'indirizzo IP NAT IP_ADDRESS_1.
  • I pacchetti con indirizzo di destinazione 198.51.100.20/30 devono utilizzare l'indirizzo IP NAT IP_ADDRESS_2 o IP_ADDRESS_3.

Puoi creare una regola NAT per soddisfare ciascuna di queste condizioni.

Console

Aggiungi regole NAT a un gateway NAT esistente

  1. Aggiungi una regola NAT che utilizza IP_ADDRESS_1 per inviare il traffico a 198.51.100.10.

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

      Vai a Cloud NAT

    2. Fai clic su Modifica.

    3. Per Indirizzi IP Cloud NAT, seleziona Manuale.

    4. Nella sezione Regole Cloud NAT, fai clic su Aggiungi una regola.

    5. Nel campo Priorità regola, inserisci un numero da 0 (priorità più alta) a 65000 (priorità più bassa). Ad esempio: 100.

    6. Per Corrispondenza intervalli IP, seleziona Destinazione.

    7. Nel campo Intervalli IP di destinazione, inserisci 198.51.100.10.

    8. Nella sezione Indirizzi IP, seleziona l'indirizzo IP che vuoi utilizzare per IP_ADDRESS_1.

    9. Fai clic su Fine.

  2. Aggiungi una regola NAT che utilizza IP_ADDRESS_2 o IP_ADDRESS_3 per inviare traffico a 198.51.100.20/30.

    1. Nella sezione Regole Cloud NAT, fai clic su Aggiungi una regola.
    2. Nel campo Priorità regola, inserisci un numero da 0 (priorità più alta) a 65000 (priorità più bassa). Ad esempio: 200.
    3. Per Corrispondenza intervalli IP, seleziona Destinazione.
    4. Nel campo Intervalli IP di destinazione, inserisci 198.51.100.20/30.
    5. Nella sezione Indirizzi IP, seleziona l'indirizzo IP che vuoi utilizzare per IP_ADDRESS_2.
    6. Fai clic su Aggiungi indirizzo IP e seleziona l'indirizzo IP che vuoi utilizzare per IP_ADDRESS_3.
    7. Fai clic su Fine.
    8. Fai clic su Salva per salvare entrambe le regole.

gcloud

Puoi utilizzare i passaggi descritti nelle sezioni seguenti per creare un file di regole, creare un gateway NAT che utilizza le regole nel file di regole o aggiungere regole a un gateway NAT esistente.

Aggiungi regole NAT a un gateway NAT esistente

Puoi aggiungere una nuova regola NAT utilizzando il comando per le regole NAT. Sostituisci NAT_RULE_PRIORITY con la priorità della regola NAT che vuoi assegnare alla regola, da 0 (massima) a 65000 (minima), e sostituisci le altre variabili con informazioni corrispondenti alla tua configurazione.

Innanzitutto, aggiungi una regola NAT che invii il traffico da IP_ADDRESS1 a 198.51.100.10.

gcloud compute routers nats rules create NAT_RULE_PRIORITY \
    --router=ROUTER_NAME \
    --nat=NAT_NAME \
    --match='destination.ip == "198.51.100.10"' \
    --source-nat-active-ips=IP_ADDRESS1 \
    [--region=REGION] [GLOBAL-FLAG ...]

Successivamente, aggiungi una regola NAT che invia il traffico da IP_ADDRESS2 o IP_ADDRESS3 a 198.51.100.20/30.

gcloud compute routers nats rules create NAT_RULE_PRIORITY \
    --router=ROUTER_NAME \
    --nat=NAT_NAME \
    --match='inIpRange(destination.ip, "198.51.100.20/30")' \
    --source-nat-active-ips=IP_ADDRESS2,IP_ADDRESS3 \
    [--region=REGION] [GLOBAL-FLAG ...]

Creare un file di regole

Il seguente esempio di codice è un file di regole. Puoi modificare questo file di regole in base al tuo caso d'uso oppure saltare questo passaggio se hai già un file di regole.

rules:
 - ruleNumber: 100
   match: destination.ip == '198.51.100.10'
   action:
     sourceNatActiveIps:
     -  /projects/PROJECT ID/regions/REGION/addresses/IP_ADDRESS1
 - ruleNumber: 200
   match: inIpRange(destination.ip, '198.51.100.20/30')
   action:
     sourceNatActiveIps:
     -  /projects/PROJECT ID/regions/REGION/addresses/IP_ADDRESS2
     -  /projects/PROJECT ID/regions/REGION/addresses/IP_ADDRESS3

Crea un gateway NAT utilizzando un file di regole NAT

Il comando seguente crea un gateway NAT e lo configura con le regole di un file di regole NAT. Se hai già configurato un gateway NAT, consulta Aggiungere regole NAT a un gateway NAT esistente. Sostituisci le variabili con informazioni corrispondenti alla tua configurazione.

gcloud compute routers nats create NAT_NAME \
    --router=ROUTER_NAME \
    --nat-external-ip-pool=IP_ADDRESS4,[IP_ADDRESS5] \
    --nat-all-subnet-ip-ranges \
    --rules=PATH_TO_NAT_RULE_FILE \
    [--region=REGION] [GLOBAL-FLAG ...]

Aggiorna le regole NAT

Per aggiornare le regole NAT, segui i passaggi descritti nelle sezioni seguenti. Puoi utilizzare i file di regole solo con lo strumento a riga di comando gcloud.

Console

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

    Vai a Cloud NAT

  2. Fai clic sul gateway NAT.
  3. Fai clic su Modifica.
  4. In Regole personalizzate, fai clic sulla regola che vuoi aggiornare.
  5. Nei campi espansi, puoi modificare le informazioni che vuoi cambiare.
  6. Fai clic su Fine.
  7. Fai clic su Salva.

gcloud

Aggiornamento utilizzando un file di regole NAT

Per aggiornare un gateway NAT con il file delle regole NAT, utilizza il comando gcloud compute routers nats update.

Sostituisci le variabili con le informazioni corrispondenti alla tua configurazione.

gcloud compute routers nats update NAT_NAME \
    --router=ROUTER_NAME \
    --rules=PATH_TO_NAT_RULE_FILE \
    [--region=REGION] [GLOBAL-FLAG ...]

Il seguente esempio di codice è un file di regole. Tieni presente l'azione sourceNatDrainIps, che impedisce nuove connessioni alla destinazione utilizzando IP_ADDRESS1, ma mantiene le connessioni esistenti.

rules:
 - ruleNumber: 100
   match: destination.ip == '198.51.100.10'
   action:
     sourceNatActiveIps:
     -  /projects/PROJECT ID/regions/REGION/addresses/IP_ADDRESS2
     sourceNatDrainIps:
     -  /projects/PROJECT ID/regions/REGION/addresses/IP_ADDRESS1

Aggiornamento utilizzando un comando di regola NAT

Per aggiornare una singola regola NAT, utilizza il seguente comando. Sostituisci NAT_RULE_PRIORITY con il numero di priorità della regola NAT e sostituisci le altre variabili con informazioni che corrispondono alla tua configurazione. Prendi nota dell'opzione source-nat-drain-ips, che impedisce nuove connessioni alla destinazione utilizzando IP_ADDRESS3 e IP_ADDRESS4, ma mantiene le connessioni esistenti.

gcloud compute routers nats rules update NAT_RULE_PRIORITY \
    --router=ROUTER_NAME \
    --nat=NAT_NAME \
    --match=Match conditions (expressed in CEL) \
    --source-nat-active-ips=[IP_ADDRESS1],[IP_ADDRESS2] \
    --source-nat-drain-ips=[IP_ADDRESS3],[IP_ADDRESS4] \
    [--region=REGION] [GLOBAL-FLAG ...]

Elimina regole NAT

Console

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

    Vai a Cloud NAT

  2. Fai clic sul gateway NAT.
  3. Fai clic su Modifica.
  4. Nella sezione Regole personalizzate, tieni il puntatore del mouse sulla regola che vuoi eliminare. Fai clic su .
  5. Fai clic su Salva.

gcloud

Per rimuovere una regola NAT da un gateway, puoi rimuoverla direttamente dal gateway oppure dal file di regole e aggiornare il gateway.

Eliminare utilizzando un file di regole NAT

Puoi rimuovere una regola NAT direttamente dal file di regole e poi aggiornare il gateway NAT. Il comando per aggiornare il gateway NAT viene ripetuto qui per comodità.

Sostituisci le variabili con le informazioni corrispondenti alla tua configurazione.

gcloud compute routers nats update NAT_NAME \
    --router=ROUTER_NAME \
    --rules=PATH_TO_NAT_RULE_FILE \
    [--region=REGION] [GLOBAL-FLAG ...]

Elimina utilizzando un comando di regola NAT

In alternativa, puoi utilizzare un comando delete per rimuovere una regola NAT dal gateway. Sostituisci NAT_RULE_PRIORITY con il numero di priorità della regola NAT e sostituisci le altre variabili con informazioni che corrispondono alla tua configurazione.

gcloud compute routers nats rules delete NAT_RULE_PRIORITY \
    --router=ROUTER_NAME \
    --nat=NAT_NAME \
    [--region=REGION] [GLOBAL-FLAG ...]

Descrivi una regola NAT

Console

Puoi visualizzare le informazioni sulle regole NAT nella pagina Cloud NAT.

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

    Vai a Cloud NAT

  2. Fai clic sul gateway NAT.
  3. Visualizza le regole NAT.

Per ulteriori informazioni su una singola regola NAT, puoi effettuare le seguenti operazioni:

  1. Fai clic su Modifica.
  2. Nella sezione Regole personalizzate, seleziona una regola NAT.
  3. Visualizza le informazioni aggiuntive.
  4. Fai clic su Annulla.

gcloud

Per descrivere una regola NAT, utilizza il seguente comando. Sostituisci NAT_RULE_PRIORITY con il numero di priorità della regola NAT e sostituisci le altre variabili con informazioni che corrispondono alla tua configurazione.

gcloud compute routers nats rules describe NAT_RULE_PRIORITY \
    --router=ROUTER_NAME \
    --nat=NAT_NAME \
    [--region=REGION] [GLOBAL-FLAG ...]

Elenca tutte le regole NAT in un gateway NAT

Console

Puoi visualizzare le regole NAT nella pagina Cloud NAT.

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

    Vai a Cloud NAT

  2. Fai clic sul gateway NAT.
  3. Visualizza le regole NAT.

gcloud

Per elencare tutte le regole NAT in un gateway NAT, utilizza il seguente comando. Vengono visualizzati anche tutti gli indirizzi IP NAT presenti nelle regole NAT, inclusa la regola predefinita. Sostituisci le variabili con le informazioni corrispondenti alla tua configurazione.

gcloud compute routers nats rules list \
    --router=ROUTER_NAME \
    --nat=NAT_NAME \
    [--region=REGION] [GLOBAL-FLAG ...]