Configurer et gérer les règles Cloud NAT

Cette page explique comment configurer des règles Cloud NAT pour Public NAT. Avant de configurer des règles Cloud NAT, consultez la présentation des règles Cloud NAT.

Créer des règles NAT

Pour créer des règles NAT, Cloud NAT utilise le langage CEL (Common Expression Language), comme décrit dans Langage d'expression des règles. Pour obtenir des exemples d'expressions que vous pouvez utiliser dans vos règles NAT, consultez Exemples d'expressions.

Si vous souhaitez créer des règles NAT, assurez-vous que le mappage indépendant du point de terminaison est désactivé pour votre passerelle NAT.

Créer des règles basées sur les sources

La procédure décrite dans cette section explique comment créer des règles NAT basées sur la source pour les conditions suivantes :

  1. Les paquets provenant de la plage d'adresses IP sources 10.10.1.0/24 doivent utiliser IP_ADDRESS_1.
  2. Les paquets provenant de la plage d'adresses IP sources 10.10.2.0/24 doivent utiliser IP_ADDRESS_2.
  3. Tous les autres paquets doivent utiliser IP_ADDRESS_3.

Pour les conditions 1 et 2, vous créez deux règles NAT. La condition 3 est remplie par la règle NAT par défaut pour la correspondance des adresses sources. IP_ADDRESS_1, IP_ADDRESS_2 et IP_ADDRESS_3 sont les adresses IP externes que vous souhaitez utiliser pour le NAT.

Console

Ajouter des règles NAT à une passerelle NAT existante

  1. Ajoutez une règle NAT qui correspond au trafic provenant de 10.10.1.0/24 et qui traduit l'adresse IP source en IP_ADDRESS_1.

    1. Dans la console Trusted Cloud , accédez à la page Cloud NAT.

      Accédez à Cloud NAT

    2. Cliquez sur votre passerelle NAT.

    3. Cliquez sur Modifier.

    4. Pour Adresses IP Cloud NAT, sélectionnez Manuelles.

    5. Dans la section Règles Cloud NAT, cliquez sur Ajouter une règle.

    6. Dans le champ Priorité de la règle, saisissez un nombre compris entre 0 (priorité la plus élevée) et 65000 (priorité la plus faible). Par exemple, 100.

    7. Pour Correspondance des plages d'adresses IP, sélectionnez Source.

    8. Dans le champ Plages d'adresses IP sources, saisissez 10.10.1.0/24.

    9. Dans la section Adresses IP, sélectionnez l'adresse IP que vous souhaitez utiliser pour IP_ADDRESS_1.

    10. Cliquez sur OK.

  2. Ajoutez une règle NAT qui correspond au trafic provenant de 10.10.2.0/24 et le traduit en IP_ADDRESS_2.

    1. Dans la section Règles Cloud NAT, cliquez sur Ajouter une règle.
    2. Dans le champ Priorité de la règle, saisissez un nombre compris entre 0 (priorité la plus élevée) et 65000 (priorité la plus faible). Par exemple, 200.
    3. Pour Correspondance des plages d'adresses IP, sélectionnez Source.
    4. Dans le champ Plages d'adresses IP sources, saisissez 10.10.2.0/24.
    5. Dans la section Adresses IP, sélectionnez l'adresse IP que vous souhaitez utiliser pour IP_ADDRESS_2.
    6. Cliquez sur OK.
    7. Cliquez sur Enregistrer pour enregistrer les deux règles.

gcloud

Suivez les procédures des sections suivantes pour créer un fichier de règles, créer une passerelle Cloud NAT qui utilise les règles de ce fichier ou ajouter des règles à une passerelle NAT existante.

Ajouter des règles NAT à une passerelle NAT existante

Vous pouvez ajouter une règle NAT à l'aide de la commande gcloud beta compute routers nats rules create.

  1. Ajoutez une règle NAT qui utilise IP_ADDRESS_1 pour le trafic provenant de 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
    

    Remplacez les éléments suivants :

    • NAT_RULE_PRIORITY : numéro de règle qui identifie de manière unique la règle NAT, de 0 (priorité la plus élevée) à 65000 (priorité la plus basse), par exemple 100
    • NAT_ROUTER : nom du routeur Cloud Router que vous utilisez pour la passerelle NAT
    • REGION : région de la passerelle NAT
    • NAT_CONFIG : nom de la configuration NAT
    • IP_ADDRESS_1 : adresse IP externe attribuée manuellement que vous souhaitez utiliser pour les paquets correspondant à la règle
  2. Ajoutez une règle NAT qui utilise IP_ADDRESS_2 pour le trafic provenant de 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
    

    Remplacez les éléments suivants :

    • NAT_RULE_PRIORITY : numéro de règle qui identifie de manière unique la règle NAT, de 0 (priorité la plus élevée) à 65000 (priorité la plus basse), par exemple 200
    • NAT_ROUTER : nom du routeur Cloud Router que vous utilisez pour la passerelle NAT
    • REGION : région de la passerelle NAT
    • NAT_CONFIG : nom de la configuration NAT
    • IP_ADDRESS_2 : adresse IP externe attribuée manuellement que vous souhaitez utiliser pour les paquets correspondant à la règle

Créer une passerelle NAT à l'aide d'un fichier de règles NAT

L'exemple de code suivant est un exemple de fichier de règle. Vous pouvez modifier ce fichier de règles en fonction de votre cas d'utilisation ou ignorer cette étape si vous en possédez déjà un.

Créer un fichier de règles
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

Dans l'exemple précédent, IP_ADDRESS_1 et IP_ADDRESS_2 sont les adresses IP externes allouées manuellement que vous souhaitez utiliser pour les paquets correspondant aux règles. Pour chaque adresse IP, remplacez les éléments suivants :

  • PROJECT_ID : projet de l'adresse IP
  • REGION : région dans laquelle l'adresse IP est réservée
Créer une passerelle NAT à l'aide d'un fichier de règles NAT

La commande suivante crée une passerelle NAT et la configure avec des règles provenant d'un fichier de règles NAT. Si vous avez déjà configuré une passerelle NAT, consultez Ajouter des règles NAT à une passerelle NAT existante.

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

Remplacez les éléments suivants :

  • NAT_CONFIG : nom de la configuration NAT
  • NAT_ROUTER : nom du routeur Cloud Router que vous souhaitez utiliser pour la passerelle NAT
  • REGION : région dans laquelle vous souhaitez créer la passerelle Cloud NAT
  • IP_ADDRESS_3 et IP_ADDRESS_4 : adresses IP externes que vous souhaitez utiliser pour la règle NAT par défaut
  • PATH_TO_NAT_RULE_FILE : chemin d'accès au fichier de règles NAT

Créer des règles basées sur la destination

Les étapes de configuration suivantes répondent aux conditions suivantes :

  • Les paquets dont l'adresse de destination est 198.51.100.10 doivent utiliser l'adresse IP NAT IP_ADDRESS_1.
  • Les paquets dont l'adresse de destination est 198.51.100.20/30 doivent utiliser l'adresse IP NAT IP_ADDRESS_2 ou IP_ADDRESS_3.

Vous pouvez créer une règle NAT pour répondre à chacune de ces conditions.

Console

Ajouter des règles NAT à une passerelle NAT existante

  1. Ajoutez une règle NAT qui utilise IP_ADDRESS_1 pour envoyer le trafic vers 198.51.100.10.

    1. Dans la console Trusted Cloud , accédez à la page Cloud NAT.

      Accédez à Cloud NAT

    2. Cliquez sur Modifier.

    3. Pour Adresses IP Cloud NAT, sélectionnez Manuelles.

    4. Dans la section Règles Cloud NAT, cliquez sur Ajouter une règle.

    5. Dans le champ Priorité de la règle, saisissez un nombre compris entre 0 (priorité la plus élevée) et 65000 (priorité la plus faible). Par exemple, 100.

    6. Pour Correspondance des plages d'adresses IP, sélectionnez Destination.

    7. Dans le champ Plages d'adresses IP de destination, saisissez 198.51.100.10.

    8. Dans la section Adresses IP, sélectionnez l'adresse IP que vous souhaitez utiliser pour IP_ADDRESS_1.

    9. Cliquez sur OK.

  2. Ajoutez une règle NAT qui utilise IP_ADDRESS_2 ou IP_ADDRESS_3 pour envoyer le trafic vers 198.51.100.20/30.

    1. Dans la section Règles Cloud NAT, cliquez sur Ajouter une règle.
    2. Dans le champ Priorité de la règle, saisissez un nombre compris entre 0 (priorité la plus élevée) et 65000 (priorité la plus faible). Par exemple, 200.
    3. Pour Correspondance des plages d'adresses IP, sélectionnez Destination.
    4. Dans le champ Plages d'adresses IP de destination, saisissez 198.51.100.20/30.
    5. Dans la section Adresses IP, sélectionnez l'adresse IP que vous souhaitez utiliser pour IP_ADDRESS_2.
    6. Cliquez sur Ajouter une adresse IP, puis sélectionnez l'adresse IP que vous souhaitez utiliser pour IP_ADDRESS_3.
    7. Cliquez sur OK.
    8. Cliquez sur Enregistrer pour enregistrer les deux règles.

gcloud

Suivez les procédures des sections suivantes pour créer un fichier de règles, créer une passerelle NAT qui utilise les règles de ce fichier ou ajouter des règles à une passerelle NAT existante.

Ajouter des règles NAT à une passerelle NAT existante

Vous pouvez ajouter une règle NAT à l'aide de la commande de règle NAT. Remplacez NAT_RULE_PRIORITY par la priorité de la règle NAT que vous souhaitez attribuer à la règle (de 0, la plus élevée, à 65000, la plus basse) et remplacez les autres variables par des informations correspondant à votre configuration.

Tout d'abord, ajoutez une règle NAT qui envoie le trafic de IP_ADDRESS1 vers 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 ...]

Ensuite, ajoutez une règle NAT qui envoie le trafic de IP_ADDRESS2 ou IP_ADDRESS3 à 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 ...]

Créer un fichier de règles

L'exemple de code suivant est un exemple de fichier de règle. Vous pouvez modifier ce fichier de règles en fonction de votre cas d'utilisation ou ignorer cette étape si vous en possédez déjà un.

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

Créer une passerelle NAT à l'aide d'un fichier de règles NAT

La commande suivante crée une passerelle NAT et la configure avec des règles provenant d'un fichier de règles NAT. Si vous avez déjà configuré une passerelle NAT, consultez Ajouter des règles NAT à une passerelle NAT existante. Remplacez les variables par les informations correspondant à votre configuration.

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 ...]

Mettre à jour des règles NAT

Pour mettre à jour vos règles NAT, suivez les étapes décrites dans les sections suivantes. Vous ne pouvez utiliser les fichiers de règles qu'avec l'outil de ligne de commande gcloud.

Console

  1. Dans la console Trusted Cloud , accédez à la page Cloud NAT.

    Accédez à Cloud NAT

  2. Cliquez sur votre passerelle NAT.
  3. Cliquez sur Modifier.
  4. Sous Règles personnalisées, cliquez sur la règle que vous souhaitez mettre à jour.
  5. Dans les champs développés, vous pouvez modifier toutes les informations que vous souhaitez.
  6. Cliquez sur OK.
  7. Cliquez sur Enregistrer.

gcloud

Mise à jour à l'aide d'un fichier de règles NAT

Pour mettre à jour une passerelle NAT avec votre fichier de règles NAT, utilisez la commande gcloud compute routers nats update.

Remplacez les variables par les informations correspondant à votre configuration.

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

L'exemple de code suivant est un exemple de fichier de règle. Notez l'action sourceNatDrainIps, qui empêche les nouvelles connexions à la destination à l'aide de IP_ADDRESS1, mais conserve les connexions existantes.

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

Mise à jour à l'aide d'une commande de règle NAT

Pour mettre à jour une seule règle NAT, exécutez la commande suivante. Remplacez NAT_RULE_PRIORITY par le numéro de priorité de la règle NAT et remplacez les autres variables par des informations correspondant à votre configuration. Notez l'option source-nat-drain-ips, qui empêche les nouvelles connexions à la destination à l'aide de IP_ADDRESS3 et IP_ADDRESS4, mais conserve les connexions existantes.

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 ...]

Supprimer des règles NAT

Console

  1. Dans la console Trusted Cloud , accédez à la page Cloud NAT.

    Accédez à Cloud NAT

  2. Cliquez sur votre passerelle NAT.
  3. Cliquez sur Modifier.
  4. Sous Règles personnalisées, maintenez le pointeur sur la règle que vous souhaitez supprimer. Cliquez sur .
  5. Cliquez sur Enregistrer.

gcloud

Pour supprimer une règle NAT d'une passerelle, vous pouvez la supprimer directement de la passerelle, ou la supprimer du fichier de règles et mettre à jour la passerelle.

Suppression à l'aide d'un fichier de règles NAT

Vous pouvez supprimer directement une règle NAT de votre fichier de règles, puis mettre à jour votre passerelle NAT. La commande de mise à jour de la passerelle NAT est répétée ici pour plus de commodité.

Remplacez les variables par les informations correspondant à votre configuration.

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

Suppression à l'aide d'une commande de règle NAT

Vous pouvez également exécuter la commande delete pour supprimer une règle NAT de votre passerelle. Remplacez NAT_RULE_PRIORITY par le numéro de priorité de la règle NAT et remplacez les autres variables par des informations correspondant à votre configuration.

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

Décrire une règle NAT

Console

Vous pouvez afficher des informations sur vos règles NAT sur la page Cloud NAT.

  1. Dans la console Trusted Cloud , accédez à la page Cloud NAT.

    Accédez à Cloud NAT

  2. Cliquez sur votre passerelle NAT.
  3. Affichez les règles NAT.

Pour plus d'informations sur une règle NAT individuelle, procédez comme suit :

  1. Cliquez sur Modifier.
  2. Sous l'en-tête Règles personnalisées, sélectionnez une règle NAT.
  3. Consultez les informations supplémentaires.
  4. Cliquez sur Annuler.

gcloud

Pour décrire une règle NAT, exécutez la commande suivante. Remplacez NAT_RULE_PRIORITY par le numéro de priorité de votre règle NAT et remplacez les autres variables par des informations correspondant à votre configuration.

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

Répertorier toutes les règles NAT d'une passerelle NAT

Console

Vous pouvez afficher vos règles NAT sur la page Cloud NAT.

  1. Dans la console Trusted Cloud , accédez à la page Cloud NAT.

    Accédez à Cloud NAT

  2. Cliquez sur votre passerelle NAT.
  3. Affichez les règles NAT.

gcloud

Pour répertorier toutes les règles NAT d'une passerelle NAT, exécutez la commande suivante. Toutes les adresses IP NAT présentes dans les règles NAT sont également affichées, y compris la règle par défaut. Remplacez les variables par les informations correspondant à votre configuration.

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