Configurer des adresses IPv6 pour les instances et les modèles d'instance
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Vous pouvez configurer des adresses IPv6 sur une instance Compute Engine si une plage IPv6 est configurée pour le sous-réseau auquel l'instance est connectée.
Les instances de calcul dotées de configurations IPv4 et IPv6 sont des instances double pile.
L'adresse IPv6 s'ajoute aux adresses IPv4 configurées sur l'interface réseau.
Les interfaces des instances double pile ou IPv6 uniquement se voient attribuer une seule plage /96 d'adresses IPv6. La première adresse IPv6 de la plage (/128) est configurée sur l'interface.
Une adresse IPv6 peut être configurée sur n'importe quelle interface de l'instance. Pour en savoir plus sur la configuration de plusieurs interfaces réseau, consultez la page Interfaces réseau multiples.
Le type de pile d'une interface réseau de VM détermine le type de sous-réseaux auxquels elle peut se connecter :
Les interfaces IPv4 uniquement peuvent se connecter à des sous-réseaux à double pile et IPv4 uniquement.
Les interfaces à double pile peuvent se connecter à des sous-réseaux à double pile.
Les interfaces IPv6 uniquement peuvent se connecter à des sous-réseaux à double pile et IPv6 uniquement.
Pour configurer des adresses IPv6 sur une interface réseau, celle-ci doit être connectée à un sous-réseau à double pile ou IPv6 uniquement.
La configuration du type d'accès IPv6 d'un sous-réseau détermine si le sous-réseau possède une plage IPv6 interne ou externe. Les instances connectées héritent du type d'accès IPv6 du sous-réseau.
Les instances IPv6 uniquement sont compatibles uniquement avec les images OS Ubuntu et Debian.
Accéder aux instances à l'aide d'adresses IPv6
La règle de pare-feu implicite d'entrée interdite IPv6 protège les instances en bloquant les connexions entrantes vers leurs adresses IPv6.
Pour accéder aux instances à l'aide de leurs adresses IPv6, vous devez disposer d'une règle de priorité plus élevée autorisant l'accès entrant.
La liste suivante décrit comment les adresses IPv6 sont attribuées aux instances de calcul.
Une adresse IPv6 est attribuée aux instances de calcul à l'aide de DHCPv6. Le serveur de métadonnées répond aux requêtes DHCPv6 de l'instance et envoie en réponse la première adresse IPv6 (/128) de la plage /96 allouée.
Le serveur de métadonnées utilise l'annonce de routage pour publier la route par défaut sur l'instance. L'instance peut ensuite utiliser cette route par défaut pour tout le trafic IPv6.
Vous pouvez trouver la route par défaut de l'interface réseau d'une instance en vous connectant à l'instance et en interrogeant le serveur de métadonnées pour l'entrée gateway-ipv6.
Les instances de calcul sont configurées avec des adresses IP locales de liaison, attribuées à partir de la plage fe80::/10, mais elles ne sont utilisées que pour la détection de voisins.
La configuration de la MTU sur l'interface réseau de l'instance s'applique aux paquets IPv4 et IPv6, mais toutes les valeurs de MTU ne sont pas acceptées dans tous les cas. Pour en savoir plus, consultez la section Unité de transmission maximale.
Créer une instance qui utilise des adresses IPv6
Vous pouvez créer une instance qui utilise une combinaison d'adresses IPv4 et IPv6 (double pile), ou une instance qui n'utilise que des adresses IPv6.
Pour savoir comment créer une instance Compute Engine qui utilise des adresses IPv6, consultez les tâches suivantes :
Vous pouvez modifier le type de pile d'une instance Compute Engine existante.
Le type de pile peut être défini sur l'une des valeurs suivantes :
IPv4 uniquement (pile unique)
IPv4 et IPv6 (double pile)
Si vous définissez l'instance comme une instance à double pile, elle doit être connectée à un sous-réseau double pile. Si vous devez modifier le sous-réseau auquel l'instance est connectée, arrêtez l'instance avant de modifier le sous-réseau. Une fois le sous-réseau mis à jour, vous pouvez modifier le type de pile d'adresses IP de l'instance.
Vous ne pouvez pas modifier le type de pile d'une instance IPv6 uniquement.
PROJECT_ID : identifiant du projet contenant l'instance.
ZONE : zone dans laquelle l'instance est déployée.
INSTANCE_NAME : nom de l'instance.
Exemple de corps de la requête :
{
"stackType": "STACK_TYPE",
}
Remplacez STACK_TYPE par le type de pile de l'instance : IPV4_ONLY ou IPV4_IPV6.
Créer un modèle d'instance avec des adresses IPv6
Vous pouvez créer un modèle d'instance régional ou global pouvant être utilisé pour créer des instances double pile ou IPv6 uniquement. Pour en savoir plus, consultez la page Créer des modèles d'instance.
Vous devez utiliser la Google Cloud CLI ou REST pour créer un modèle d'instance qui crée des instances utilisant des adresses IPv6.
gcloud
Pour créer un modèle d'instance régional ou global, utilisez la commande gcloud compute instance-templates create.
Si vous souhaitez créer un modèle d'instance régional, vous devez utiliser l'option --instance-template-region pour spécifier la région du modèle d'instance.
L'exemple suivant crée un modèle d'instance global :
INSTANCE_TEMPLATE_NAME : nom du modèle d'instance.
MACHINE_TYPE : type de machine des instances.
Exemple :c3-standard-4
SUBNET : sous-réseau disposant d'une plage de sous-réseaux IPv6.
REGION : région du sous-réseau.
IMAGE_URI : URI de l'image que vous souhaitez utiliser.
Par exemple, si vous spécifiez "sourceImage": "projects/debian-cloud/global/images/family/debian-12", Compute Engine crée une instance à partir de la dernière version de l'image de système d'exploitation dans la famille d'images Debian 12.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/04 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/04 (UTC)."],[[["\u003cp\u003eCompute Engine instances can be configured with IPv6 addresses if the connected subnet has an IPv6 range, enabling dual-stack (IPv4 and IPv6) or IPv6-only configurations.\u003c/p\u003e\n"],["\u003cp\u003eInstances with dual-stack or IPv6-only configurations are allocated a single /96 range of IPv6 addresses, with the first /128 address configured on the interface, and can only be connected to dual-stack or IPv6-only subnets.\u003c/p\u003e\n"],["\u003cp\u003eIPv6-only instances, currently in preview, are only supported with Ubuntu and Debian operating systems, and their stack type cannot be changed after creation.\u003c/p\u003e\n"],["\u003cp\u003eAccessing instances via IPv6 addresses requires a firewall rule that allows incoming connections, overriding the default implied deny rule for IPv6 ingress traffic.\u003c/p\u003e\n"],["\u003cp\u003eYou can create dual-stack or IPv6-only instances using instance templates that are defined via Google Cloud CLI or REST, enabling you to define which OS, subnet, and stack type they will have.\u003c/p\u003e\n"]]],[],null,["# Configure IPv6 addresses for instances and instance templates\n\n*** ** * ** ***\n\nYou can configure IPv6 addresses on a Compute Engine instance if the\nsubnet that the instance is connected to has an IPv6 range configured.\n\nFor more information about IPv6, see\n[IPv6 subnet ranges](/vpc/docs/subnets#ipv6-ranges).\n\nSpecifications\n--------------\n\n- Compute instances that have both IPv4 and IPv6 configurations are *dual-stack*.\n The IPv6 address is in addition to any IPv4 addresses that are configured on\n the network interface.\n\n- Interfaces on dual-stack or IPv6-only instances are allocated a single `/96`\n range of IPv6 addresses; the first IPv6 address in the range (`/128`) is\n configured on the interface.\n\n- Any interface on the instance can have IPv6 addresses configured. For more\n information about configuring multiple network interfaces, see\n [Multiple network interfaces](/vpc/docs/multiple-interfaces-concepts).\n\n- The stack type of an VM's network interface determines the type of subnets\n to which it can connect:\n\n - IPv4-only interfaces can connect to dual-stack and IPv4-only subnets.\n - Dual-stack interfaces can connect to dual-stack subnets.\n - IPv6-only interfaces can connect to dual-stack and IPv6-only subnets.\n- To configure IPv6 addresses on a network interface, the interface must be\n connected to a dual stack or IPv6-only\n [subnet](/vpc/docs/subnets#subnet-types).\n\n- A subnet's IPv6 access type configuration determines whether the subnet has an\n internal or external IPv6 range. Connected instances inherit the IPv6 access\n type from the subnet.\n\n- IPv6-only instances are supported with only Ubuntu and Debian OS images.\n\nAccessing instances using IPv6 addresses\n----------------------------------------\n\nThe [implied IPv6 deny ingress firewall rule](/vpc/docs/firewalls#default_firewall_rules)\nprotects instances by blocking incoming connections to their IPv6 addresses.\nTo access instances using their IPv6 addresses, you must have a higher priority\nrule that allows incoming access.\n\nFor more information about firewall rules, see\n[VPC firewall rules](/firewall/docs/firewalls) and\n[Hierarchical firewall policies](/firewall/docs/firewall-policies).\n\nFor examples of VPC firewall rules, see\n[Configure firewall rules for common use cases](/vpc/docs/using-firewalls#rules-for-common-use-cases).\n\nIPv6 address assignment\n-----------------------\n\nThe following list describes how IPv6 addresses are assigned to compute\ninstances.\n\n- Compute instances are assigned an IPv6 address using DHCPv6. The metadata\n server responds to the instance's DHCPv6 requests and sends the first\n IPv6 address (`/128`) from the allocated `/96` range in response.\n\n- The metadata server uses route advertisement to publish the default route to\n the instance. The instance can then use this default route for all IPv6\n traffic.\n\n You can find the default route for an instance's network interface by\n connecting to the instance and querying the metadata server for the\n `gateway-ipv6` entry. \n\n ```\n curl http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/0/gateway-ipv6 -H \"Metadata-Flavor: Google\"\n ```\n\n For more information about the metadata server, see\n [View and query instance metadata](/compute/docs/metadata/querying-metadata).\n- Compute instances are configured with link local IP addresses, which are\n assigned from the `fe80::/10` range, but they are used only for\n [neighbor discovery](https://en.wikipedia.org/wiki/Neighbor_Discovery_Protocol).\n\n- The MTU configuration on the instance's network interface applies to both\n IPv4 and IPv6 packets, but not all MTU values are supported in all\n circumstances. For more information, see\n [Maximum transmission unit](/vpc/docs/mtu).\n\nCreate an instance that uses IPv6 addresses\n-------------------------------------------\n\nYou can create an instance that uses either a combination of IPv4 and IPv6\naddresses (*dual-stack*), or you can create an instance that uses only IPv6\naddresses.\n\nFor information about how to create a Compute Engine instance that uses\nIPv6 addresses, see the following tasks:\n\n- [Create a dual-stack instance](/compute/docs/instances/create-ipv6-instance#create-vm-ipv6-dual)\n- [Create an IPv6-only instance](/compute/docs/instances/create-ipv6-instance#create-vm-ipv6-only)\n\nChange the stack type of an instance\n------------------------------------\n\nYou can change the stack type of an existing Compute Engine instance.\nThe stack type can be set to either of the following:\n\n- IPv4 only (single stack)\n- IPv4 and IPv6 (dual-stack)\n\nIf you are changing the stack type to dual-stack, the instance must be connected\nto a dual-stack subnet. If you need to change which subnet the instance is\nconnected to, stop the instance and change the subnet. After the subnet is\nupdated, you can change the instance's IP stack type.\n\nYou can't change the stack type of an IPv6-only instance. \n\n### Console\n\n1. Go to the **VM instances** page.\n\n\n [Go to VM instances](https://console.cloud.google.com/compute/instances)\n2. Click the name of the instance that you want to assign an IPv6 address to.\n\n3. From the instance details page, complete the following steps:\n\n 1. Click **Edit**.\n 2. In **Network interfaces**, expand the interface that you want to edit.\n 3. Select the **IP stack type** : **IPv4 only (single-stack)** or **IPv4 and IPv6 (dual-stack)**.\n 4. Click **Done**.\n4. Click **Save**.\n\n### gcloud\n\nUpdate the stack type of an instance by using the\n[`gcloud compute instances network-interfaces update`\ncommand](/sdk/gcloud/reference/compute/instances/network-interfaces/update) \n\n```\ngcloud compute instances network-interfaces update INSTANCE_NAME \\\n --stack-type=STACK_TYPE \\\n --zone=ZONE\n```\n\nReplace the following:\n\n- \u003cvar translate=\"no\"\u003eINSTANCE_NAME\u003c/var\u003e: the name of the instance.\n- \u003cvar translate=\"no\"\u003eSTACK_TYPE\u003c/var\u003e: the stack type for the instance: `IPV4_ONLY` or `IPV4_IPV6`.\n- \u003cvar translate=\"no\"\u003eZONE\u003c/var\u003e: the zone that the instance is deployed in.\n\n### REST\n\nUpdate the stack type of an instance by making a `PATCH` request to the\n[`instances.updateNetworkInterface`\nmethod](/compute/docs/reference/rest/v1/instances/updateNetworkInterface). \n\n```\nPATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/updateNetworkInterface\n```\n\nReplace the following:\n\n- \u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e: the ID of the project that contains the instance.\n- \u003cvar translate=\"no\"\u003eZONE\u003c/var\u003e: the zone that the instance is deployed in.\n- \u003cvar translate=\"no\"\u003eINSTANCE_NAME\u003c/var\u003e: the name of the instance.\n\nExample request body: \n\n```\n{\n \"stackType\": \"STACK_TYPE\",\n}\n```\n\nReplace \u003cvar translate=\"no\"\u003eSTACK_TYPE\u003c/var\u003e with the stack type for the instance:\n`IPV4_ONLY` or `IPV4_IPV6`.\n\nCreate an instance template with IPv6 addresses\n-----------------------------------------------\n\nYou can create a regional or global instance template that can be used to create\ndual-stack or IPv6-only instances. For more information, see\n[Create instance templates](/compute/docs/instance-templates/create-instance-templates).\n\nYou must use the Google Cloud CLI or REST to create an instance\ntemplate that creates instances that use IPv6 addresses. \n\n### gcloud\n\nTo create a regional or global instance template, use the\n[`gcloud compute instance-templates create` command](/sdk/gcloud/reference/compute/instance-templates/create).\nIf you want to create a regional instance template, you must use the\n`--instance-template-region` flag to specify the region for the instance\ntemplate.\n\nThe following example creates a global instance template: \n\n```\ngcloud compute instance-templates create TEMPLATE_NAME \\\n --subnet=SUBNET \\\n --stack-type=STACK_TYPE\n```\n\nReplace the following:\n\n- \u003cvar translate=\"no\"\u003eTEMPLATE_NAME\u003c/var\u003e: the name for the template.\n- \u003cvar translate=\"no\"\u003eSUBNET\u003c/var\u003e: a subnet that has an IPv6 subnet range.\n- \u003cvar translate=\"no\"\u003eSTACK_TYPE\u003c/var\u003e: the stack type, either IPV4_IPV6 for a dual-stack instance, or IPV6_ONLY for an instance with external IPv6 address.\n\n### REST\n\nTo create a regional instance template, use the\n[`regionInstanceTemplates.insert` method](/compute/docs/reference/rest/v1/regionInstanceTemplates/insert),\nor, to create a global instance template, use the\n[`instanceTemplates.insert` method](/compute/docs/reference/rest/v1/instanceTemplates/insert).\n\nThe following example creates a global instance template: \n\n```\nPOST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates\n```\n\nReplace \u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e with the project ID.\n\nExample request body: \n\n```\n{\n \"name\": \"INSTANCE_TEMPLATE_NAME\"\n \"properties\": {\n \"machineType\": \"MACHINE_TYPE\",\n \"networkInterfaces\": [\n {\n \"subnetwork\": \"regions/REGION/subnetworks/SUBNET\",\n \"stackType\": \"STACK_TYPE\",\n },\n ],\n \"disks\":\n [\n {\n \"type\": \"PERSISTENT\",\n \"boot\": true,\n \"mode\": \"READ_WRITE\",\n \"initializeParams\":\n {\n \"sourceImage\": \"IMAGE_URI\"\n }\n }\n ]\n }\n}\n```\n\nReplace the following:\n\n- \u003cvar translate=\"no\"\u003eINSTANCE_TEMPLATE_NAME\u003c/var\u003e: the name of the instance template.\n- \u003cvar translate=\"no\"\u003eMACHINE_TYPE\u003c/var\u003e: the machine type of the instances. For example, `c3-standard-4`.\n- \u003cvar translate=\"no\"\u003eSUBNET\u003c/var\u003e: a subnet that has an IPv6 subnet range.\n- \u003cvar translate=\"no\"\u003eREGION\u003c/var\u003e: the region of the subnet.\n- \u003cvar translate=\"no\"\u003eIMAGE_URI\u003c/var\u003e: the URI to the\n [image](/compute/docs/images) that you want to use.\n\n For example, if you specify\n `\"sourceImage\": \"projects/debian-cloud/global/images/family/debian-12\"`,\n Compute Engine creates an instance from the latest version of the\n operating system image in the Debian 12 image family.\n\nTo learn more about request parameters, see the\n[`instanceTemplates.insert` method](/compute/docs/reference/rest/v1/instanceTemplates/insert)."]]