Configurer des sous-réseaux et des instances IPv6 uniquement avec DNS64 et NAT64

Cette page explique comment créer des sous-réseaux et des instances IPv6 uniquement, puis configurer DNS64 et NAT64 afin de pouvoir accéder aux destinations IPv4 à partir de vos instances IPv6 uniquement.

Pour obtenir une présentation de la connectivité IPv6 vers IPv4 dans Google Cloud, consultez DNS64 et NAT64 pour la connectivité 6to4.

Avant de commencer

Pour suivre les instructions de cette page, vous devez disposer d'un réseau cloud privé virtuel (VPC) en mode personnalisé afin de pouvoir créer des sous-réseaux avec des plages d'adresses IPv6. Pour en savoir plus, consultez la section Créer un réseau VPC en mode personnalisé avec des sous-réseaux IPv6 uniquement.

Si vous souhaitez créer un réseau VPC compatible avec des sous-réseaux dotés d'adresses IPv6 internes, vous devez configurer une plage IPv6 interne ULA lors de la création du réseau. Si vous disposez d'un réseau existant, vous pouvez lui attribuer une plage IPv6 interne.

Créer des sous-réseaux et des instances IPv6 uniquement

Cette section explique comment créer des sous-réseaux et des instances IPv6 uniquement. Si vous disposez déjà de sous-réseaux et d'instances IPv6 uniquement, vous pouvez passer à la section Configurer DNS64 et NAT64.

Créer un sous-réseau IPv6 uniquement

Vous pouvez créer un sous-réseau IPv6 uniquement avec des adresses IPv6 externes ou internes activées.

Pour créer un sous-réseau IPv6 uniquement, procédez comme suit :

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 Détails du réseau VPC, cliquez sur le nom d'un réseau VPC.

  3. Dans l'onglet Sous-réseaux, cliquez sur Ajouter un sous-réseau. Dans le panneau qui apparaît :

    1. Indiquez un Nom.
    2. Sélectionnez une région.
    3. Pour Type de pile IP, sélectionnez IPv6 (pile unique).
    4. Sélectionnez un type d'accès IPv6: Interne ou Externe.

      Si vous souhaitez définir le type d'accès sur Interne, mais que l'option Interne n'est pas disponible, vérifiez qu'une plage IPv6 interne est attribuée sur le réseau.

    5. Cliquez sur Ajouter.

gcloud

Utilisez la commande gcloud compute networks subnets create.

gcloud compute networks subnets create SUBNET \
    --network=NETWORK \
    --stack-type=IPV6_ONLY \
    --ipv6-access-type=IPv6_ACCESS_TYPE \
    --region=REGION

Remplacez les éléments suivants :

  • SUBNET : Nom du nouveau sous-réseau.
  • NETWORK: nom du réseau VPC à contenir dans le nouveau sous-réseau.
  • IPv6_ACCESS_TYPE: type d'accès IPv6. Le type d'accès peut être EXTERNAL ou INTERNAL.
  • REGION: région Google Cloud dans laquelle le nouveau sous-réseau doit être créé.

API

Envoyez une requête POST à la méthode subnetworks.insert.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks
{
  "network": "NETWORK_URL",
  "name": "SUBNET"
  "stackType": IPV6_ONLY,
  "ipv6AccessType": IPv6_ACCESS_TYPE
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet qui contient le réseau VPC à modifier.
  • REGION: nom de la région Google Cloud dans laquelle le sous-réseau est ajouté.
  • NETWORK_URL: URL du réseau VPC sur lequel vous ajoutez le sous-réseau.
  • SUBNET: nom du sous-réseau
  • IPv6_ACCESS_TYPE: type d'accès IPv6. Le type d'accès peut être EXTERNAL ou INTERNAL.

Créer une instance IPv6 uniquement

Console

  1. Accéder à la page Créer une instance.

    Accéder à la page Créer une instance

  2. Entrez un nom pour l'instance.

  3. Sélectionnez une région contenant les sous-réseaux avec les plages IPv6 configurées.

  4. Facultatif: modifiez la zone de cette instance. Si vous sélectionnez N'importe laquelle, Google choisit automatiquement une zone en fonction du type de machine et de la disponibilité.

  5. Développez la section Options avancées.

  6. Développez Mise en réseau, puis procédez comme suit: 

    1. Dans la section Interfaces réseau, cliquez sur le nom de l'interface réseau pour modifier ses paramètres.

    2. Dans les champs Réseau et Sous-réseau, sélectionnez le réseau et le sous-réseau que vous souhaitez utiliser.

      Sélectionnez un sous-réseau IPv6 uniquement. Le type d'accès IPv6 du sous-réseau détermine si l'instance reçoit une adresse IPv6 interne ou externe.

    3. Pour Type de pile d'adresses IP, sélectionnez IPv6 (pile unique).

    4. Pour l'adresse IPv6 de l'interface, procédez comme suit, en fonction du type d'accès du sous-réseau connecté:

      1. Dans le champ Adresse IPv6 interne principale, sélectionnez l'une des options suivantes :
        • Allocation automatique pour attribuer automatiquement une nouvelle adresse IPv6 interne éphémère
        • Une adresse IPv6 interne statique réservée de la liste
        • Réserver une adresse IPv6 interne statique pour réserver et attribuer une nouvelle adresse IPv6 interne statique
      2. Dans le champ Adresse IPv6 externe, sélectionnez l'une des options suivantes :
        • Allouer automatiquement pour attribuer automatiquement une nouvelle adresse IPv6 externe éphémère
        • Une adresse IPv6 externe statique réservée de la liste
        • Réserver une adresse IPv6 externe statique pour réserver et attribuer une nouvelle adresse IPv6 externe statique
    5. Pour terminer la modification de l'interface réseau, cliquez sur OK.

  7. Continuez le processus de création de l'instance.

  8. Cliquez sur Créer.

gcloud

Créez une instance à l'aide de la commande gcloud compute instances create.

gcloud compute instances create INSTANCE_NAME \
    --zone ZONE \
    --network-interface=network=NETWORK,subnet=SUBNET,stack-type=IPV6_ONLY

Remplacez les éléments suivants :

  • INSTANCE_NAME : nom de l'instance.
  • ZONE: zone dans laquelle l'instance est créée, par exemple europe-west1-b. La région de l'instance est déduite de la zone.
  • NETWORK: nom du réseau dans lequel créer l'instance.
  • SUBNET: nom du sous-réseau dans lequel créer l'instance.

API

Utilisez la méthode instances.insert pour créer une instance.

  POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
  {
     "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE",
     "name": "NAME",
     "disks": [
       {
         "initializeParams": {
           "sourceImage":"projects/IMAGE_PROJECT/global/images/IMAGE"
         },
         "boot": true
       }
     ],
     "networkInterfaces": [
       {
         "subnetwork": "regions/REGION/subnetworks/SUBNET",
         "stackType": "IPV6_ONLY"
       }
     ]
   }
   

Remplacez les éléments suivants :

  • PROJECT_ID : identifiant du projet contenant l'instance.
  • ZONE : zone dans laquelle se trouve l'instance.
  • MACHINE_TYPE_ZONE: zone contenant le type de machine à utiliser pour la nouvelle instance.
  • MACHINE_TYPE: type de machine prédéfini ou personnalisé pour la nouvelle instance. Par exemple, c3-standard-4.
  • NAME : nom de l'instance.
  • IMAGE_PROJECT: facultatif: projet d'image contenant l'image.
  • IMAGE (facultatif) : spécifiez l'une des options suivantes :
    • Version spécifique de l'image de l'OS. Exemple : debian-12-bookworm-v20241009
    • Une famille d'images, qui doit être au format family/IMAGE_FAMILY. Cette action crée l'instance à partir de l'image d'OS la plus récente et non obsolète. Par exemple, si vous spécifiez family/debian-12, Compute Engine crée une instance à l'aide de la dernière version de l'image de l'OS dans la famille d'images Debian 12. Pour en savoir plus sur l'utilisation des familles d'images, consultez la page Bonnes pratiques concernant les familles d'images.
  • REGION : région qui contient l'instance.
  • SUBNET : sous-réseau où se trouve l'interface réseau.

Configurer DNS64 et NAT64

Cette section explique comment configurer DNS64 et NAT64, ce qui vous permet d'accéder aux destinations IPv4 à partir d'instances IPv6 uniquement.

Créer une règle de serveur DNS64

Créez et configurez une règle de serveur DNS64 afin que Cloud DNS fournisse une adresse IPv6 synthétique pour chaque destination IPv4.

Pour en savoir plus sur la création et la gestion de règles de serveur DNS64, consultez la section Configurer DNS64.

Pour créer une règle de serveur DNS64, procédez comme suit :

Console

  1. Dans la console Google Cloud, accédez à la page Cloud DNS.

    Accéder à Cloud DNS

  2. Dans l'onglet Règles de serveur DNS, cliquez sur Créer une règle.

  3. Dans le champ Nom, saisissez un nom pour la stratégie.

  4. Facultatif: Dans le champ Description, saisissez une description de la règle.

  5. Pour DNS64, sélectionnez Activé pour activer DNS64.

  6. Dans le champ Networks (Réseaux), sélectionnez le réseau VPC dans lequel vous souhaitez créer la règle. Sélectionnez le réseau contenant les sous-réseaux et les instances IPv6 uniquement.

gcloud

Pour créer une règle de serveur DNS64, exécutez la commande gcloud dns policies create:

gcloud beta dns policies create NAME \
    --description=DESCRIPTION \
    --networks=VPC_NETWORK_LIST \
    --enable-dns64-all-queries

Remplacez les éléments suivants :

  • NAME : nom de la stratégie.
  • DESCRIPTION : description de la stratégie.
  • VPC_NETWORK_LIST: liste des réseaux VPC auxquels la règle du serveur DNS se lie, séparés par une virgule. Spécifiez le réseau contenant les sous-réseaux et les instances IPv6 uniquement.

API

Pour créer une règle de serveur DNS64, utilisez la méthode policies.create:

POST https://dns.googleapis.com/dns/beta/projects/PROJECT_ID/policies
{
  "kind": "dns#policy",
  "networks": [
    {
      "kind": "dns#policyNetwork",
      "networkUrl": "NETWORK_URL"
    }
  ],
  "dns64Config":
    {
        "scope":
        {
          allQueries: true,
        }
    }
  }

Remplacez les éléments suivants :

  • PROJECT_ID : ID de votre projet.
  • NETWORK_URL: URL complète du réseau VPC auquel votre règle de serveur DNS doit être associée, au format suivant: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/VPC_NETWORK_NAME. Spécifiez le réseau contenant les sous-réseaux et les instances IPv6 uniquement.

Créer une passerelle Cloud NAT pour activer NAT64

Configurez le NAT public en créant une passerelle Cloud NAT dans votre réseau VPC et votre région qui contient des sous-réseaux et des instances IPv6 uniquement.

Pour en savoir plus sur la création et la gestion de passerelles Cloud NAT, consultez la page Configurer et gérer la traduction d'adresses réseau avec Public NAT.

Pour créer une passerelle Cloud NAT pour NAT64, procédez comme suit :

Console

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

    Accédez à Cloud NAT

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

  3. Dans le champ Nom de la passerelle, saisissez un nom pour la passerelle.

  4. Dans le champ Type de NAT, sélectionnez Publique.

  5. Dans la section Sélectionner le routeur Cloud Router, configurez les éléments suivants:

    1. Dans le champ Réseau, sélectionnez le réseau VPC dans lequel vous souhaitez créer la passerelle.
    2. Dans le champ Région, définissez la région de la passerelle.
    3. Dans le champ Cloud Router, sélectionnez ou créez un routeur Cloud Router dans la région.
  6. Dans la section Mappage Cloud NAT, pour Type de point de terminaison source, assurez-vous que l'option Instances de VM, nœuds GKE, sans serveur est sélectionnée.

  7. Dans le champ Version IP source, sélectionnez Plages de sous-réseaux IPv6, puis configurez les plages de sous-réseaux IPv6 sources pour lesquelles vous souhaitez utiliser Cloud NAT.

    • Pour utiliser Cloud NAT pour les plages d'adresses IP internes et externes de tous les sous-réseaux de la région, sélectionnez Tous les sous-réseaux.
    • Pour limiter les sous-réseaux autorisés à utiliser Cloud NAT, sélectionnez Personnalisé, puis procédez comme suit :
      1. Dans la section Sous-réseaux, sélectionnez un sous-réseau.
      2. Facultatif: Si vous souhaitez spécifier d'autres sous-réseaux, cliquez sur Ajouter un sous-réseau et ajoutez un autre sous-réseau.
  8. Configurez les options supplémentaires de votre passerelle Cloud NAT. Pour en savoir plus, consultez la section Créer une passerelle Cloud NAT dans la documentation Cloud NAT.

  9. Cliquez sur Créer.

gcloud

Cette section explique comment créer une passerelle Cloud NAT avec toutes ses options de configuration définies sur leurs valeurs par défaut. Pour en savoir plus sur la personnalisation de la configuration de votre passerelle, consultez la section Personnaliser les paramètres de configuration d'une passerelle Cloud NAT.

Pour créer une passerelle Cloud NAT, utilisez la commande gcloud compute routers nats create.

  1. Créez un routeur Cloud dans la région dans laquelle vous souhaitez utiliser la passerelle Cloud NAT. Vous en aurez besoin pour créer votre passerelle Cloud NAT.

  2. Configurez Cloud NAT pour les plages de sous-réseaux sources IPv6 (version bêta).

    La configuration suivante active le NAT pour toutes les plages de sous-réseaux IPv6 de la région, à la fois dans les sous-réseaux IPv6 uniquement et à double pile. Vous pouvez également configurer le NAT pour des sous-réseaux spécifiques à l'aide de l'indicateur --nat64-custom-v6-subnet-ip-ranges.

    gcloud beta compute routers nats create NAT_CONFIG \
        --router=NAT_ROUTER \
        --region=REGION \
        --auto-allocate-nat-external-ips \
        --nat64-all-v6-subnet-ip-ranges
    

    Remplacez les éléments suivants :

    • NAT_CONFIG: nom de votre configuration NAT.
    • NAT_ROUTER: nom du routeur Cloud Router que vous avez créé à l'étape précédente.
    • REGION: région dans laquelle vous souhaitez utiliser la passerelle NAT Cloud.

API

Pour créer un routeur Cloud Router et une passerelle Cloud NAT à l'aide de l'API, utilisez la méthode routers.insert et définissez le champ nats[].

Cette section explique comment créer une passerelle Cloud NAT avec toutes ses options de configuration définies sur leurs valeurs par défaut. Pour en savoir plus sur la personnalisation de la configuration de votre passerelle, consultez la section Créer une passerelle Cloud NAT.

Pour en savoir plus sur la création d'un routeur Cloud, consultez la section Créer un routeur Cloud pour connecter un réseau VPC à un réseau de pairs.

La configuration suivante active le NAT pour toutes les plages de sous-réseaux IPv6 de la région. Vous pouvez également configurer le NAT pour des sous-réseaux spécifiques en définissant sourceSubnetworkIpRangesToNat64 sur LIST_OF_IPV6_SUBNETWORKS et en spécifiant les sous-réseaux dans le champ nats[].nat64Subnetworks[].

POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/routers
{
  "name": "ROUTER_NAME",
  "network": "NETWORK",
  "bgp": {
    "asn": "ASN_NUMBER"
  },
  "nats": [
    {
      "name": NAT_CONFIG,
      "sourceSubnetworkIpRangesToNat64": ALL_IPV6_SUBNETWORKS,
      "natIpAllocateOption": AUTO_ONLY
    }
  ]
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet qui contient le réseau VPC.
  • REGION: région dans laquelle vous souhaitez localiser le routeur Cloud Router et la passerelle Cloud NAT.
  • ROUTER_NAME: nom du routeur Cloud Router. Ce nom est affiché dans la console Google Cloud et permet à Google Cloud CLI de référencer le routeur Cloud Router.
  • NETWORK: réseau VPC dans lequel créer le routeur cloud et la passerelle Cloud NAT.
  • ASN_NUMBER: numéro ASN privé (64512-65534, 4200000000-4294967294) du routeur Cloud Router que vous configurez. Il peut s'agir de n'importe quel numéro ASN privé que vous n'utilisez pas déjà en tant que numéro ASN de pair dans la même région et sur le même réseau, par exemple 65001. Cloud Router nécessite l'utilisation d'un numéro ASN privé, mais votre numéro ASN sur site peut être public ou privé.
  • NAT_CONFIG: nom de votre configuration NAT.

Étape suivante