Utiliser des règles Cloud NAT

Cette page explique comment configurer des règles Cloud NAT. Avant d'en configurer, consultez la page Présentation des règles Cloud NAT.

Créer des règles NAT

Les règles NAT sont écrites à l'aide de la syntaxe Common Expression Language. Pour en savoir plus sur le langage d'expression des règles, consultez la section Langage d'expression des règles.

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

  • Les VM doivent utiliser l'adresse IP NAT avec le nom de ressource IP_ADDRESS1 pour envoyer du trafic vers la destination 198.51.100.10.
  • Les VM doivent utiliser l'adresse IP NAT avec le nom de ressource IP_ADDRESS2 ou IP_ADDRESS3 pour envoyer du trafic vers 198.51.100.20/30.

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

Console

Ajouter une règle NAT à une passerelle NAT existante

Ajoutez une règle NAT qui envoie le trafic de IP_ADDRESS1 vers 198.51.100.10.

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

    Accédez à Cloud NAT

  2. Sélectionnez votre passerelle NAT.
  3. Sélectionnez Modifier.
  4. Sous Règles NAT, sélectionnez Ajouter une règle.
  5. Dans le champ Correspondance, saisissez 198.51.100.10.
  6. Dans le menu Adresse IP, sélectionnez l'adresse IP que vous avez utilisée pour IP_ADDRESS1.
  7. Dans le champ Numéro de règle, saisissez 100.
  8. Sélectionnez OK.

Ajoutez une règle NAT qui envoie le trafic de IP_ADDRESS2 ou IP_ADDRESS3 à 198.51.100.20/30.

  1. Sous Règles NAT, sélectionnez Ajouter une règle.
  2. Dans le champ Correspondance, saisissez 198.51.100.20/30.
  3. Dans le menu Adresse IP, sélectionnez l'adresse IP que vous avez utilisée pour IP_ADDRESS2.
  4. Sélectionnez Ajouter une adresse IP, puis sélectionnez l'adresse IP que vous avez utilisée pour IP_ADDRESS3.
  5. Dans le champ Numéro de règle, saisissez 200.
  6. Sélectionnez OK.
  7. Sélectionnez 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 une règle NAT à une passerelle NAT existante

Vous pouvez ajouter une règle NAT à l'aide de la commande de règle NAT. Remplacez NAT_RULE_NUMBER par le numéro de règle NAT de votre choix 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_NUMBER \
    --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_NUMBER \
    --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 la section Ajouter une règle 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 Cloud Console, accédez à la page Cloud NAT.

    Accédez à Cloud NAT

  2. Sélectionnez votre passerelle NAT.
  3. Sélectionnez 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. Une fois les modifications effectuées, sélectionnez OK.
  7. Sélectionnez Enregistrer.

gcloud

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

Pour mettre à jour une passerelle NAT à l'aide d'un fichier de règles NAT, exécutez la commande suivante. 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_NUMBER par le numéro de règle NAT de votre choix 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_NUMBER \
    --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 Cloud Console, accédez à la page Cloud NAT.

    Accédez à Cloud NAT

  2. Sélectionnez votre passerelle NAT.
  3. Sélectionnez 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_NUMBER par le numéro de règle NAT de votre choix et remplacez les autres variables par des informations correspondant à votre configuration.

gcloud compute routers nats rules delete NAT_RULE_NUMBER \
    --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 Cloud Console, accédez à la page Cloud NAT.

    Accédez à Cloud NAT

  2. Sélectionnez votre passerelle NAT.
  3. Affichez les règles NAT.

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

  1. Sélectionnez Modifier.
  2. Sous l'en-tête Règles personnalisées, sélectionnez une règle NAT.
  3. Consultez les informations supplémentaires.
  4. Sélectionnez Annuler pour vous assurer de ne pas enregistrer les modifications.

gcloud

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

gcloud compute routers nats rules describe NAT_RULE_NUMBER \
    --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 Cloud Console, accédez à la page Cloud NAT.

    Accédez à Cloud NAT

  2. Sélectionnez 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 ...]