Configurer et gérer la traduction d'adresse réseau avec Private NAT

Cette page explique comment configurer la traduction d'adresses réseau (NAT) de privé à privé dans Cloud NAT.

Avant de commencer

Effectuez les tâches suivantes avant de configurer Private NAT.

Consulter les spécifications de Private NAT

Consultez les spécifications et exigences suivantes:

  • Pour en savoir plus, consultez la section NAT privé.
  • Pour le trafic entre les spokes d'un hub Network Connectivity Center, y compris les spokes VPC et les spokes hybrides, consultez la section Private NAT pour les spokes Network Connectivity Center.
  • Pour le trafic entre des réseaux de cloud privé virtuel (VPC) et des réseaux autres que Google Cloud via Cloud Interconnect ou Cloud VPN, consultez la section Hybrid NAT.

Obtenir des autorisations IAM

Le rôle Compute Network Admin (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. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Compute Engine API.

    Enable the API

  5. Install the Google Cloud CLI.
  6. To initialize the gcloud CLI, run the following command:

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

    Go to project selector

  8. Make sure that billing is enabled for your Google Cloud project.

  9. Enable the Compute Engine API.

    Enable the API

  10. Install the Google Cloud CLI.
  11. To initialize the gcloud CLI, run the following command:

    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 de type PRIVATE_NAT

Avant de configurer le NAT privé, vous devez créer un sous-réseau NAT à usage 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 les 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 créer aucune ressource dans ce sous-réseau. Ce sous-réseau n'est utilisé que pour le NAT privé.

Console

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

    Accéder aux réseaux VPC

  2. Pour afficher la page des 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. Attribuez un nom au 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 section Plages de sous-réseaux IPv4.

  5. Cliquez sur Ajouter.

gcloud

Utilisez la commande gcloud 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éseaux NAT privés à créer.
  • NETWORK: réseau auquel le sous-réseau appartient.
  • REGION: région du sous-réseau à créer. Si la région n'est pas spécifiée, vous pouvez être invité à sélectionner une région (mode interactif uniquement).
  • IP_RANGE: espace IP alloué à ce sous-réseau au format CIDR. Assurez-vous que IP_RANGE prend en compte l'utilisation de deux fois la taille des ports requise par VM.

Configurer le NAT privé

Vous configurez le NAT privé en créant une passerelle NAT privée dans le réseau VPC source. Chaque passerelle est associée à un seul réseau VPC, une seule région et un seul Cloud Router.

Lorsque vous configurez le NAT privé, vous pouvez activer l'une ou l'autre des options suivantes:

  • Private NAT pour les spokes Network Connectivity Center Active le NAT pour le trafic entre les éléments suivants :
    • Un réseau VPC source et un réseau VPC de destination dans le même hub Network Connectivity Center. Les deux réseaux doivent être configurés en tant que spokes VPC.
    • Un réseau VPC source configuré en tant que spoke VPC dans un hub Network Connectivity Center et un réseau sur site ou d'un autre fournisseur cloud de destination connecté au hub via un spoke hybride.
  • Hybrid NAT : permet le NAT pour le trafic entre un réseau VPC source et un réseau sur site ou un autre réseau de fournisseur cloud de destination. Les réseaux doivent être connectés via Cloud Interconnect ou Cloud VPN.

Créer une passerelle NAT privée

Créez une passerelle NAT privée dans le réseau VPC source pour lequel vous souhaitez configurer le NAT.

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 de 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 Instances de VM est sélectionné 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 effectuer le 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 activer le NAT hybride, sélectionnez Routes de connectivité hybride.
    • Pour activer Private NAT pour les spokes Network Connectivity Center, sélectionnez Hub Network Connectivity Center (Hub Network Connectivity Center).
    • Pour activer les deux options, sélectionnez Routes de connectivité hybride et Hub Network Connectivity Center.
  15. Sélectionnez ou créez une plage de sous-réseau NAT privée.

  16. Cliquez sur OK.

  17. Facultatif: Ajustez l'un des paramètres suivants dans la section Configurations avancées:

    • Indique si la journalisation doit être configurée. Par défaut, l'option Aucune journalisation est sélectionnée.
    • Indique si vous souhaitez modifier la façon dont Cloud NAT alloue des ports. Par défaut, l'option Activer l'allocation de ports dynamique est sélectionnée. Pour configurer l'allocation de ports statique, désactivez Activer l'allocation de ports dynamique et spécifiez le nombre minimal de ports par instance de VM. La valeur par défaut est 64.
    • Indique si les délais avant expiration de la NAT doivent être mis à jour pour les connexions de protocole. Pour en savoir plus sur ces délais avant expiration et leurs valeurs par défaut, consultez la section Délais avant expiration NAT.
  18. Cliquez sur Créer.

gcloud

  1. Créez Cloud Router dans le réseau VPC pour lequel vous souhaitez configurer le NAT.

    Exécutez la commande gcloud compute routers create.

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

    Remplacez les éléments suivants :

    • ROUTER_NAME: nom du routeur Cloud Router.
    • NETWORK: réseau VPC dans lequel créer le routeur Cloud Router.
    • REGION: région dans laquelle créer le routeur Cloud Router.
  2. Créez une passerelle NAT privée et spécifiez un ou plusieurs sous-réseaux du réseau VPC source pour lequel vous souhaitez configurer le NAT.

    Exécutez la commande gcloud 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,SUBNETWORK_2:ALL,...] | \
        [--nat-all-subnet-ip-ranges]
    

    Remplacez les éléments suivants :

    • NAT_CONFIG: nom de la configuration NAT privée que vous créez.
    • ROUTER_NAME: nom de Cloud Router à utiliser avec cette passerelle. Il s'agit de Cloud Router que vous avez créé à l'étape précédente. Il ne doit pas être utilisé par d'autres ressources.
    • SUBNETWORK: nom du sous-réseau ou liste des sous-réseaux pour lesquels vous souhaitez utiliser le NAT.

      Vous pouvez également spécifier une liste de sous-réseaux au format séparé par une virgule, par exemple SUBNETWORK_1, SUBNETWORK_2. Le NAT privé effectue toujours la NAT sur toutes les plages d'adresses IP du sous-réseau ou de la liste de sous-réseaux donnés.

    Par défaut, le NAT privé utilise l'allocation de ports dynamique. Si vous souhaitez créer une passerelle NAT privée avec une allocation de port statique, exécutez la commande précédente 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,...] | \
        [--nat-all-subnet-ip-ranges]
        --no-enable-dynamic-port-allocation \
        [--min-ports-per-vm=VALUE]
    

    Remplacez VALUE par le nombre minimal de ports à attribuer par VM. Si aucune valeur n'est spécifiée, Google Cloud attribue la valeur par défaut 64.

  3. Créez une règle NAT pour faire correspondre le trafic en fonction du type de NAT que vous configurez.

    Exécutez la commande gcloud compute routers nats rules create avec l'option --match définie sur l'une des options suivantes:

    • nexthop.is_hybrid: traduit le trafic sortant du réseau VPC source vers un réseau sur site ou un autre réseau de fournisseur cloud connecté à Google Cloud via Cloud Interconnect ou Cloud VPN.
    • nexthop.hub: traduit le trafic sortant du spoke VPC source vers l'un des spokes VPC ou hybrides associés au même hub Network Connectivity Center que le spoke VPC source.
    • nexthop.is_hybrid || nexthop.hub: configure les deux types de NAT privé.

    Pour créer une règle NAT pour Hybrid NAT, exécutez la commande suivante:

    gcloud 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
    

    Pour créer une règle NAT pour Private NAT pour les spokes Network Connectivity Center, exécutez la commande suivante:

    gcloud 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
    

    Pour créer une règle NAT à la fois pour Hybrid NAT et Private NAT pour les spokes Network Connectivity Center, exécutez la commande suivante:

    gcloud compute routers nats rules create NAT_RULE_NUMBER \
        --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
    

    Remplacez les éléments suivants :

    • NAT_RULE_NUMBER: numéro de règle qui identifie de manière unique la règle NAT, de 1 à 65000.
    • ROUTER_NAME: nom de Cloud Router que vous avez créé précédemment.
    • REGION: région de Cloud Router.
    • NAT_CONFIG: nom de la configuration NAT privée que vous avez créée précédemment.
    • PROJECT_ID: projet Google Cloud du hub de Network Connectivity Center.
    • HUB: nom du hub Network Connectivity Center.
    • NAT_SUBNET: nom du sous-réseau Private NAT 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.

Afficher la configuration du NAT privé

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 du 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 la configuration du NAT privé

Une fois que vous avez configuré votre passerelle NAT privée, vous pouvez mettre à jour sa configuration en fonction de vos exigences. 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 au NAT privé

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 Mappage NAT Cloud, dans la liste Source, sélectionnez Personnalisé.

  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 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 au NAT privé

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 retirer de la mise en correspondance NAT.

  5. Cliquez sur Enregistrer.

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

Pour effectuer la NAT sur le trafic, une configuration NAT privée utilise des adresses IP NAT d'un sous-réseau dont l'objectif est PRIVATE_NAT. Si votre configuration NAT privée nécessite plus que le nombre d'adresses IP NAT disponibles, vous pouvez ajouter d'autres sous-réseaux à l'objet 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éseau NAT, puis cliquez sur OK.

  7. Cliquez sur Enregistrer.

gcloud

gcloud 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 votre configuration NAT privée pour la règle à mettre à jour.
  • ROUTER_NAME: nom du routeur à utiliser avec cette passerelle.
  • NAT_SUBNET: noms des sous-réseaux Private NAT à ajouter à votre configuration NAT existante.

Supprimer la configuration NAT

Supprimer 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).

Étape suivante