Configurer et gérer la traduction d'adresses réseau avec la NAT privée

Cette page explique comment configurer la traduction d'adresse réseau (NAT) à l'aide du NAT privé. Avant de définir la configuration du NAT privé, consultez la section NAT privé.

Avant de commencer

Effectuez les tâches suivantes avant de configurer le NAT privé.

Obtenir des autorisations IAM

Le rôle d'administrateur réseau Compute (roles/compute.networkAdmin) vous permet de créer une passerelle NAT sur Cloud Router, de réserver et d'attribuer des adresses IP NAT, et de spécifier les sous-réseaux dont le trafic doit utiliser la traduction d'adresse réseau par la passerelle NAT.

Configurer Google Cloud

Avant de commencer, configurez les éléments suivants dans Google Cloud.

  1. Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
  2. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  3. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  4. Activez l'API Compute Engine

    Activer l'API

  5. Installez Google Cloud CLI.
  6. Pour initialiser gcloudCLI, exécutez la commande suivante :

    gcloud init
  7. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  8. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  9. Activez l'API Compute Engine

    Activer l'API

  10. Installez Google Cloud CLI.
  11. Pour initialiser gcloudCLI, exécutez la commande suivante :

    gcloud init

Dans les instructions de Google Cloud CLI présentées sur cette page, nous partons du principe que vous avez défini l'ID de votre projet avant d'exécuter les commandes.

  1. Vous pouvez définir un ID de projet avec la commande suivante :

    gcloud config set project PROJECT_ID
    
  2. Vous avez également la possibilité d'afficher un ID de projet déjà défini :

    gcloud config list --format='text(core.project)'
    

Créer un sous-réseau NAT ayant pour objectif PRIVATE_NAT

Avant de configurer la fonctionnalité NAT privée, vous devez créer un sous-réseau NAT à l'objectif PRIVATE_NAT. Le sous-réseau NAT doit se trouver dans la même région que celle où vous prévoyez de créer votre passerelle NAT privée. La passerelle NAT privée utilise des plages d'adresses IP de ce sous-réseau pour effectuer la NAT. Assurez-vous que ce sous-réseau ne chevauche pas un sous-réseau existant dans l'un des réseaux connectés. Vous ne pouvez pas créer de ressource dans ce sous-réseau. Ce sous-réseau n'est utilisé que pour le NAT privé.

Console

  1. Dans Google Cloud Console, accédez à la page Réseaux VPC.

    Accéder aux réseaux VPC

  2. Pour afficher la page "Détails du réseau VPC", cliquez sur le nom d'un réseau VPC.

  3. Cliquez sur l'onglet Sous-réseaux.

  4. Cliquez sur Ajouter un sous-réseau. Dans la boîte de dialogue Ajouter un sous-réseau, procédez comme suit:

    1. Indiquez un nom pour le sous-réseau.
    2. Sélectionnez une région.
    3. Dans le champ Objectif, sélectionnez NAT privé.
    4. Saisissez une plage d'adresses IP, qui correspond à la plage IPv4 principale du sous-réseau.

      Si vous sélectionnez une plage qui n'est pas une adresse RFC 1918, vérifiez qu'elle n'entre pas en conflit avec une configuration existante. Pour en savoir plus sur les plages de sous-réseaux IPv4 valides, consultez la page Plages de sous-réseaux IPv4.

  5. Cliquez sur Ajouter.

gcloud

Utilisez la commande compute networks subnet create pour créer le sous-réseau.

    gcloud compute networks subnets create NAT_SUBNET \
      --network=NETWORK \
      --region=REGION \
      --range=IP_RANGE \
      --purpose=PRIVATE_NAT

Remplacez les éléments suivants :

  • NAT_SUBNET: nom de la plage de sous-réseau NAT privé à créer.
  • NETWORK: réseau auquel appartient le sous-réseau.
  • REGION: région du sous-réseau à créer. Si elle n'est pas spécifiée, vous pouvez être invité à sélectionner une région (mode interactif uniquement).
  • IP_RANGE: espace d'adresses IP alloué à ce sous-réseau au format CIDR. Assurez-vous que IP_RANGE tient compte de l'utilisation du double de la taille des ports requise par VM.

Créer des configurations NAT privées

Vous pouvez configurer une passerelle NAT privée pour qu'elle soit compatible avec les offres NAT privées suivantes:

  • NAT inter-VPC: effectue la NAT sur le trafic entre les réseaux VPC configurés en tant que spokes VPC connectés à un hub Network Connectivity Center commun.
  • NAT hybride (preview): effectue la NAT sur le trafic entre les réseaux VPC et les réseaux sur site ou d'autres réseaux de fournisseurs cloud connectés via les solutions de connectivité hybride d'entreprise de Google Cloud.

Configurer le NAT privé

Créer une passerelle NAT privée avec une règle NAT personnalisée qui effectue la NAT sur le trafic entre votre réseau VPC et d'autres réseaux

Console

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

    Accédez à Cloud NAT

  2. Cliquez sur Commencer ou sur Créer une passerelle Cloud NAT.

  3. Saisissez un nom de passerelle.

  4. Dans le champ Type NAT, sélectionnez Privé.

  5. Sélectionnez un réseau VPC pour la passerelle NAT.

  6. Sélectionnez la région de la passerelle NAT.

  7. Sélectionnez ou créez un routeur Cloud Router dans la région.

  8. Assurez-vous que l'option Instances de VM est sélectionnée comme type de point de terminaison source.

  9. Dans la liste Source, sélectionnez Personnalisée.

  10. Sélectionnez un sous-réseau sur lequel vous souhaitez exécuter la NAT.

  11. Si vous souhaitez spécifier des plages supplémentaires, cliquez sur Ajouter un sous-réseau et une plage d'adresses IP.

  12. Cliquez sur Ajouter une règle.

  13. Dans le champ Numéro de règle, saisissez une valeur comprise entre 1 et 65000.

  14. Pour Correspondance, sélectionnez l'une des options suivantes:

    • Pour la NAT inter-VPC, sélectionnez Hub Network Connectivity Center.
    • Pour "NAT hybride" (Preview), sélectionnez Routes de connectivité hybride.
  15. Sélectionnez ou créez une plage de sous-réseaux NAT privée.

  16. Cliquez sur OK, puis sur Créer.

gcloud

  1. Créez un routeur Cloud Router dans le réseau VPC pour lequel vous souhaitez effectuer la NAT. Exécutez la commande compute routers create.

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

    Remplacez les éléments suivants :

    • ROUTER_NAME: nom du routeur à créer.
    • NETWORK: réseau VPC de ce routeur.
    • REGION: région du routeur à créer. Si elle n'est pas spécifiée, vous pouvez être invité à sélectionner une région (mode interactif uniquement).
  2. Créez une passerelle NAT privée en spécifiant les sous-réseaux du réseau VPC source pour lequel vous souhaitez effectuer la NAT.

    Exécutez la commande compute routers nats create avec l'option --type définie sur 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 ...] | \
      [--nat-all-subnet-ip-ranges]
    

    Remplacez les éléments suivants :

    • NAT_CONFIG: nom de la configuration NAT privée à créer.
    • ROUTER_NAME: nom du routeur à utiliser avec cette passerelle. Le routeur est le même que celui que vous avez créé à l'étape précédente. Assurez-vous qu'aucune autre ressource n'est associée à ce routeur.
    • SUBNETWORK: nom du sous-réseau ou liste de sous-réseaux autorisés à utiliser la passerelle. Vous pouvez également spécifier une liste de sous-réseaux au format séparé par des virgules, tel que SUBNETWORK_1 ou SUBNETWORK_2. Google Cloud effectue toujours la NAT sur toutes les plages d'adresses IP de sous-réseau pour le sous-réseau donné ou pour la liste de sous-réseaux.
  3. Créez une règle pour mettre en correspondance le trafic en fonction de vos besoins:

    • Pour effectuer la NAT sur le trafic qui sort du réseau VPC source vers l'un des spokes VPC pairs associés à un hub Network Connectivity Center correspondant, créez une règle NAT dans la passerelle NAT privée. Sur la base de la règle NAT, la passerelle NAT privée attribue des adresses IP NAT du sous-réseau NAT privé pour effectuer la NAT sur le trafic.

      Exécutez la commande compute routers nats rules create.

      gcloud beta 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 ...
      

      Remplacez les éléments suivants :

      • NAT_RULE_NUMBER: numéro qui identifie de manière unique la règle à créer.
      • NAT_CONFIG: nom de la configuration NAT privée à créer la règle. La configuration est la même que celle que vous avez créée à l'étape précédente.
      • PROJECT_ID: identifiant unique global du projet dans lequel se trouve votre routeur.
      • HUB: nom du hub Network Connectivity Center correspondant.
      • NAT_SUBNET: nom du sous-réseau NAT privé que vous avez créé précédemment. Vous pouvez également spécifier une liste de sous-réseaux au format séparé par des virgules.
    • Pour effectuer une NAT sur le trafic qui sort de votre réseau VPC source vers un réseau sur site ou d'un autre fournisseur cloud via les solutions de connectivité hybride d'entreprise de Google Cloud (Preview), créez une règle NAT dans la passerelle NAT privée. Sur la base de la règle NAT, la passerelle NAT privée attribue des adresses IP NAT du sous-réseau NAT privé pour effectuer la NAT sur le trafic.

      Exécutez la commande compute routers nats rules create.

      gcloud beta 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 ...
      

      Remplacez les éléments suivants :

      • NAT_RULE_NUMBER: numéro qui identifie de manière unique la règle à créer.
      • NAT_CONFIG: nom de la configuration NAT privée à créer la règle. La configuration est la même que celle que vous avez créée à l'étape précédente.
      • NAT_SUBNET: nom du sous-réseau NAT privé que vous avez créé précédemment. Vous pouvez également spécifier une liste de sous-réseaux au format séparé par des virgules.

Configurer la NAT privée avec l'allocation de ports statique

La NAT privée utilise l'allocation de ports dynamique par défaut. Vous pouvez toutefois configurer la NAT privée pour qu'elle utilise l'allocation de ports statique.

Console

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

    Accédez à Cloud NAT

  2. Cliquez sur Commencer ou sur Créer une passerelle Cloud NAT.

  3. Saisissez un nom de passerelle.

  4. Dans le champ Type NAT, sélectionnez Privé.

  5. Sélectionnez un réseau VPC pour la passerelle NAT.

  6. Sélectionnez la région de la passerelle NAT.

  7. Sélectionnez ou créez un routeur Cloud Router dans la région.

  8. Spécifiez les détails du mappage Cloud NAT et créez une règle NAT. Pour en savoir plus, consultez Configurer la NAT privée.

  9. Cliquez sur Configuration avancée.

  10. Décochez la case Activer l'allocation de ports dynamique.

  11. Spécifiez la valeur du champ Nombre minimal de ports par instance de VM. La valeur par défaut est 64.

  12. Cliquez sur OK, puis sur Créer.

gcloud

Exécutez la commande compute routers nats create avec l'option --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,...] \
    --no-enable-dynamic-port-allocation \
    [--min-ports-per-vm=VALUE]

Remplacez les éléments suivants :

  • NAT_CONFIG: nom de la configuration NAT privée à créer.
  • ROUTER_NAME: nom du routeur à utiliser avec cette passerelle.
  • SUBNETWORK: nom du sous-réseau ou liste de sous-réseaux autorisés à utiliser la passerelle.

    Vous pouvez également spécifier une liste de sous-réseaux au format séparé par des virgules, tel que SUBNETWORK_1 ou SUBNETWORK_2. Google Cloud effectue toujours la NAT sur toutes les plages d'adresses IP de sous-réseau pour le sous-réseau donné ou pour la liste de sous-réseaux.

  • VALUE: nombre minimal de ports par VM que la passerelle doit attribuer. Si aucune valeur n'est spécifiée, Google Cloud attribue la valeur par défaut 64.

Afficher la configuration NAT

Console

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

    Accédez à Cloud NAT

  2. Pour afficher les détails de la passerelle NAT, les informations de mappage ou les détails de configuration, cliquez sur le nom de votre passerelle NAT.

  3. Pour afficher l'état de la NAT, consultez la colonne État de votre passerelle NAT.

gcloud

Vous pouvez afficher les détails de la configuration NAT en exécutant les commandes suivantes :

  • Affichez la configuration de la passerelle NAT privée.

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

    Remplacez les éléments suivants :

    • NAT_CONFIG : nom de votre configuration NAT.
    • ROUTER_NAME : nom de votre routeur Cloud Router.
    • REGION : région du NAT à décrire. Si la région n'est pas spécifiée, vous pouvez être invité à sélectionner une région (mode interactif uniquement).
  • Affichez le mappage des plages d'adresses IP:port allouées à l'interface de chaque VM.

    gcloud compute routers get-nat-mapping-info ROUTER_NAME \
      --region=REGION
    
  • Affichez l'état de la passerelle NAT privée.

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

Mettre à jour les configurations NAT privées

Après avoir configuré votre passerelle NAT privée, vous pouvez mettre à jour la configuration de la passerelle en fonction de vos besoins. Les sections suivantes répertorient les tâches que vous pouvez effectuer pour mettre à jour votre passerelle NAT privée.

Modifier les sous-réseaux associés à la NAT privée

Console

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

    Accédez à Cloud NAT

  2. Cliquez sur votre passerelle NAT.

  3. Cliquez sur Modifier ().

  4. Pour le mappage Cloud NAT, sélectionnez Personnalisé dans la liste Source.

  5. Sélectionnez un nouveau sous-réseau dans la liste des sous-réseaux disponibles.

  6. Si vous souhaitez spécifier des plages supplémentaires, cliquez sur Ajouter un sous-réseau et une plage d'adresses IP, puis sélectionnez un autre sous-réseau.

  7. Cliquez sur Enregistrer.

gcloud

gcloud beta compute routers nats update NAT_CONFIG \
  --router=ROUTER_NAME \
  --region=REGION \
  --nat-custom-subnet-ip-ranges=SUBNETWORK:ALL|[SUBNETWORK_1:ALL,SUBNETWORK_2:ALL,..]

Remplacez les éléments suivants :

  • NAT_CONFIG: nom de la configuration NAT privée à mettre à jour.
  • ROUTER_NAME: nom du routeur à utiliser avec cette passerelle.
  • SUBNETWORK: nom du sous-réseau à utiliser.

Supprimer les sous-réseaux associés à la NAT privée

Vous pouvez supprimer de la passerelle NAT des sous-réseaux spécifiques qui ne sont plus utilisés.

Console

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

    Accédez à Cloud NAT

  2. Cliquez sur votre passerelle NAT.

  3. Cliquez sur Modifier ().

  4. Supprimez le sous-réseau que vous souhaitez supprimer du mappage NAT.

  5. Cliquez sur Enregistrer.

Ajouter des sous-réseaux NAT à votre configuration NAT privée

Pour effectuer la NAT sur le trafic, une configuration NAT privée utilise des adresses IP NAT d'un sous-réseau ayant l'objectif PRIVATE_NAT. Si votre configuration NAT privée nécessite plus d'adresses IP NAT que le nombre disponible, vous pouvez ajouter d'autres sous-réseaux destinés à PRIVATE_NAT à la configuration.

Console

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

    Accédez à Cloud NAT

  2. Cliquez sur votre passerelle NAT.

  3. Cliquez sur Modifier ().

  4. Développez la règle existante.

  5. Cliquez sur Ajouter des plages de sous-réseaux.

  6. Sélectionnez ou créez une plage de sous-réseaux NAT, puis cliquez sur OK.

  7. Cliquez sur Enregistrer.

gcloud

gcloud beta 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 ...

Remplacez les éléments suivants :

  • NAT_RULE_NUMBER: numéro qui identifie de manière unique la règle à mettre à jour.
  • NAT_CONFIG: nom de la configuration NAT privée à mettre à jour.
  • PROJECT_ID: identifiant unique global du projet dans lequel se trouve votre routeur.
  • NAT_SUBNET: noms des sous-réseaux NAT privés à ajouter à votre configuration NAT existante.

Supprimer la configuration NAT

La suppression d'une configuration de passerelle supprime la configuration NAT d'un routeur Cloud Router. Elle ne supprime pas le routeur lui-même.

Console

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

    Accédez à Cloud NAT

  2. Cochez la case à côté de la configuration de passerelle que vous souhaitez supprimer.

  3. Dans le Menu, cliquez sur Supprimer.

gcloud

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

Remplacez les éléments suivants :

  • NAT_CONFIG : nom de votre configuration NAT.
  • ROUTER_NAME : nom de votre routeur Cloud Router.
  • REGION : région du NAT à supprimer. Si la région n'est pas spécifiée, vous pouvez être invité à sélectionner une région (mode interactif uniquement).

Étapes suivantes