Créer des VM avec plusieurs interfaces réseau
Par défaut, chaque instance de machine virtuelle (VM) d'un réseau cloud privé virtuel (VPC) possède une seule interface réseau. Cependant, vous pouvez configurer une instance avec plusieurs interfaces réseau. Lorsque vous utilisez plusieurs interfaces réseau depuis une instance, chaque interface doit être associée à un sous-réseau qui se trouve dans un réseau VPC différent. Vous ne pouvez pas associer plusieurs interfaces réseau au même sous-réseau ou à des sous-réseaux qui se trouvent dans le même réseau VPC.
Vous pouvez configurer des interfaces de VM avec des adresses IPv4 uniquement (pile unique) ou des adresses IPv4 et IPv6 (double pile).
Si vous n'avez pas besoin de plusieurs interfaces réseau, suivez la procédure décrite sur la page Créer et démarrer une instance pour créer des instances avec la configuration réseau par défaut.
Pour plus d'informations sur les interfaces réseau multiples et leur fonctionnement, consultez la page Interfaces réseau multiples.
Spécifications
- Vous ne pouvez configurer une interface réseau que lorsque vous créez une instance.
- Vous ne pouvez pas configurer plusieurs interfaces réseau pour les instances Bare Metal Compute Engine.
- Si vous créez une instance avec plusieurs interfaces réseau, chaque interface doit se connecter à un réseau VPC différent. Les réseaux peuvent être des réseaux VPC autonomes ou des réseaux VPC partagés.
- Une interface réseau doit se connecter à un sous-réseau dont la plage d'adresses IP ne chevauche pas celle d'une autre interface de la même instance.
- Si vous souhaitez créer une VM associée à des sous-réseaux dans plusieurs réseaux VPC, tous les réseaux et sous-réseaux doivent exister avant de créer l'instance. Pour en savoir plus sur la création de réseaux et de sous-réseaux, consultez la section Créer et gérer des réseaux VPC.
- Vous ne pouvez pas supprimer une interface réseau sans supprimer l'instance à laquelle elle est associée.
Chaque instance doit posséder au moins une interface réseau et huit au maximum, en fonction du type de machine de l'instance.
- L'interface
nic0
est requise et doit être configurée à la création de l'instance. - Les interfaces
nic1
ànic7
sont facultatives, mais elles doivent également être configurées à la création de l'instance.
Pour plus d'informations, consultez la section Nombre maximal d'interfaces.
- L'interface
Chaque interface peut éventuellement posséder une adresse IPv4 externe.
Si vous connectez une VM à un sous-réseau disposant d'une plage de sous-réseau IPv6 interne ou externe, vous pouvez éventuellement configurer une adresse IPv6 interne ou externe.
Le serveur DHCP de Google Cloud envoie une route par défaut (RFC 3442, "route statique sans classe") exclusivement à l'interface réseau par défaut,
nic0
. Si une route par défaut est nécessaire sur une autre interface réseau, vous devez configurer le routage des règles sur l'instance. Pour obtenir un exemple de procédure, consultez le tutoriel suivant : Configurer le routage pour une interface supplémentaire.Toutes les interfaces réseau de VM doivent se connecter à des sous-réseaux dans des réseaux appartenant au même projet que la VM ou à un réseau VPC partagé avec le projet.
Limites
Vous ne pouvez pas ajouter ou supprimer des interfaces réseau dans une VM existante.
Le transfert IP est activé au niveau de la VM et ne peut pas être appliqué à des interfaces individuelles.
Autorisations, IAM et instances avec interfaces réseau multiples
Pour créer une instance avec plusieurs interfaces réseau, vous devez posséder l'un des rôles suivants :
- Rôle de propriétaire ou d'éditeur du projet
- Rôle d'administrateur d'instances Compute (v1) (
roles/compute.instanceAdmin.v1
)
Créer et supprimer des instances et des modèles d'instance avec plusieurs interfaces dans un projet n'utilisant pas un environnement de VPC partagé : un utilisateur possédant, au niveau du projet, le rôle de propriétaire, d'éditeur ou d'administrateur d'instances Compute (v1) peut créer une instance avec plusieurs interfaces associées à des réseaux et sous-réseaux VPC appartenant au même projet.
Créer et supprimer des instances et des modèles d'instance avec plusieurs interfaces dans des environnements de VPC partagé : un utilisateur disposant du rôle de propriétaire, d'éditeur ou d'administrateur d'instances Compute (v1) sur le projet peuvent créer une instance avec plusieurs interfaces. Si l'une des interfaces est associée à un sous-réseau d'un projet hôte de VPC partagé, vous devez également disposer du rôle d'utilisateur de réseau de Compute (roles/compute.networkUser
) au niveau du projet hôte de VPC partagé ou au niveau du sous-réseau de VPC partagé.
Pour en savoir plus sur les autorisations, consultez la documentation IAM de Compute Engine.
Utiliser plusieurs interfaces réseau avec différents types de réseaux VPC
- Les interfaces réseau multiples ne sont pas compatibles avec les anciens réseaux.
- Lorsque vous configurez plusieurs interfaces réseau, connectez chaque interface à un réseau VPC soit en mode automatique, soit en mode personnalisé.
Allouer les adresses IP des interfaces réseau
- Vous devez configurer chaque interface réseau avec une adresse IP interne principale allouée à partir de la plage d'adresses IP principale d'un sous-réseau.
- L'adresse interne principale attribuée à chacune des interfaces d'une même instance doit être différente.
- Vous pouvez choisir de configurer chacune des interfaces virtuelles (cartes d'interface réseau) avec une adresse IP externe unique. Les adresses externes peuvent être éphémères ou réservées.
Nombre maximal d'interfaces réseau
Le nombre d'interfaces réseau virtuelles s'adapte au nombre de processeurs virtuels (2 au minimum, 8 au maximum).
Le tableau suivant vous permet de déterminer le nombre d'interfaces réseau pouvant être associées à une instance :
Nombre de processeurs virtuels | Nombre de cartes d'interface réseau virtuelles |
---|---|
2 ou moins | 2 |
4 | jusqu'à 4 |
6 | jusqu'à 6 |
8 ou plus | jusqu'à 8 |
Instances bare metal Compute Engine | 1 |
Avant de commencer
Vérifiez que tous les réseaux et sous-réseaux requis sont créés avant de créer l'instance. Si vous devez créer des réseaux ou des sous-réseaux, consultez la section Créer et gérer des réseaux VPC.
Vérifiez que chaque réseau dispose de règles de pare-feu appropriées pour autoriser le trafic souhaité depuis et vers la VM dotée de plusieurs interfaces. Si vous devez créer des règles de pare-feu, consultez la page Utiliser des règles de pare-feu VPC.
Si vous connectez une VM à plusieurs réseaux à l'aide d'adresses IPv6, installez
google-guest-agent
version 20220603.00 ou une version ultérieure. Pour en savoir plus, consultez la section Je ne parviens pas à me connecter à l'adresse IPv6 d'une interface secondaire.
Créer des instances de VM avec plusieurs interfaces réseau
Pour obtenir des instructions générales sur la création d'instances, consultez la page Créer et démarrer une instance de VM.
Vous pouvez ajouter plusieurs interfaces réseau lorsque vous créez une instance :
- Dans la console Google Cloud, vous ajoutez des interfaces réseau sur la page Créer une instance, dans la section Mise en réseau > Interfaces réseau.
- Dans gcloud CLI, exécutez la commande
instances create
. Pour chaque interface, incluez l'option--network-interface
suivie de toutes les clés réseau adéquates, telles que([network | subnet], private-network-ip, address, external-ipv6-address)
.
La première interface créée est toujours nic0
, et il s'agit toujours de l'interface par défaut. C'est un point important pour d'autres aspects de la mise en réseau Google Cloud. Par exemple, les équilibreurs de charge Google Cloud (à l'exception des équilibreurs de charge réseau passthrough) ne distribuent le trafic que vers nic0
.
Console
Accédez à la page Créer une instance dans Google Cloud Console.
Dans le champ Nom, saisissez un nom pour l'instance.
Dans le champ Région, sélectionnez une région.
Dans le champ Zone, sélectionnez une zone.
Dans la section Options avancées, développez Mise en réseau, puis procédez comme suit :
Dans la section Interfaces réseau, développez une interface réseau pour la modifier.
Dans les champs Réseau et Sous-réseau, sélectionnez le réseau et le sous-réseau que vous souhaitez utiliser.
Si vous souhaitez configurer des adresses IPv6 sur l'interface, sélectionnez un sous-réseau pour lequel une plage d'adresses IPv6 est configurée. Le type d'accès IPv6 du sous-réseau détermine si la VM reçoit une adresse IPv6 interne ou externe.
Sélectionnez un type de pile d'adresses IP : IPv4 (pile unique) ou IPv4 et IPv6 (double pile).
Dans le champ Adresse IPv4 interne principale, sélectionnez l'une des options suivantes :
- Éphémère pour attribuer une nouvelle adresse IPv4 éphémère
- Une adresse IPv4 interne statique réservée de la liste
- Réserver une adresse IPv4 interne statique pour réserver et attribuer une nouvelle adresse IPv4 interne statique
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
Dans le champ Adresse IPv4 externe, sélectionnez l'une des options suivantes :
- Éphémère pour attribuer une nouvelle adresse IPv4 éphémère
- Aucune pour ne pas attribuer d'adresse IPv4 externe
- Une adresse IPv4 statique réservée dans la liste
- Réserver une adresse IP externe statique pour réserver et attribuer une nouvelle adresse IP externe statique
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
Pour terminer la modification de l'interface réseau, cliquez sur OK.
Pour ajouter une autre interface, cliquez sur Ajouter une interface réseau.
Poursuivez le processus de création de la VM.
Cliquez sur Créer.
gcloud
Pour créer des interfaces réseau sur une nouvelle instance, utilisez la commande instances create
.
Pour chaque interface, incluez l'option --network-interface
suivie de toutes les clés réseau adéquates, telles que network
, subnet
, private-network-ip
, address
et external-ipv6-address
.
Pour consulter des exemples de création de VM avec plusieurs interfaces, consultez la section Exemples de configurations.
Cet extrait n'illustre que l'option --network-interface
, qui n'est que l'un des nombreux paramètres que vous pouvez renseigner lorsque vous créez une instance.
Pour connaître les types de machines compatibles avec le nombre d'interfaces réseau dont vous avez besoin, consultez le tableau Nombre maximal d'interfaces réseau.
gcloud compute instances create INSTANCE_NAME \ --zone ZONE \ --network-interface \ network=NETWORK,subnet=SUBNET, \ stack-type=STACK_TYPE, \ address=EXTERNAL_IPV4_ADDRESS | no-address, \ private-network-ip=INTERNAL_IPV4_ADDRESS \ internal-ipv6-address=INTERNAL_IPV6_ADDRESS \ ... --network-interface \ network=NETWORK,subnet=SUBNET, \ stack-type=STACK_TYPE, \ external-ipv6-address=EXTERNAL_IPV6_ADDRESS, \ external-ipv6-prefix-length=96 \ ipv6-network-tier=PREMIUM \ ...
Remplacez les éléments suivants :
INSTANCE_NAME
: le nom de l'instance de VM à créer.ZONE
: zone où l'instance est crééeNETWORK
: réseau auquel l'interface est associée.SUBNET
: sous-réseau auquel l'interface est associée.STACK_TYPE
: type de pile pour l'interface.La valeur par défaut est
IPV4_ONLY
. SpécifiezIPV4_IPV6
pour configurer une interface à double pile.EXTERNAL_IPV4_ADDRESS
: attribue l'adresse IPv4 externe nommée à l'interface.Vous devez avoir réservé une adresse IPv4 externe auparavant. Spécifiez "no-address" au lieu de
address=EXTERNAL_IPV4_ADDRESS
si vous ne souhaitez pas que l'interface ait une adresse IP externe. Spécifiezaddress=''
si vous souhaitez que l'interface reçoive une adresse IP externe éphémère.INTERNAL_IPV4_ADDRESS
: adresse IPv4 interne dont vous souhaitez que l'interface dispose dans le sous-réseau cible. Omettez si vous souhaitez simplement attribuer une adresse valide.INTERNAL_IPV6_ADDRESS
: adresse IPv6 interne dont vous souhaitez que l'interface dispose dans le sous-réseau cible. Si vous omettez cette option, aucune adresse IPv6 interne n'est attribuée.EXTERNAL_IPV6_ADDRESS
: attribue l'adresse IPv4 externe nommée à l'interface.Vous devez avoir réservé une adresse IPv6 externe auparavant. Spécifiez "no-address" au lieu de
external-ipv6-address=EXTERNAL_IPV6_ADDRESS
si vous ne souhaitez pas que l'interface ait une adresse IPv6 externe. Spécifiezexternal-ipv6-address=''
si vous souhaitez que l'interface reçoive une adresse IPv6 externe éphémère.
API
Utilisez la méthode instances.insert
pour créer une instance de VM avec plusieurs interfaces réseau.
Pour créer une instance de VM avec des adresses IPv4 internes, procédez comme suit :
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { .... "networkInterfaces": [ { "networkIP": "IPV4_ADDRESS", "subnetwork": "regions/REGION/subnetworks/SUBNETWORK" }, for each interface, specify a network... ], other instance settings... }
Remplacez les éléments suivants :
SUBNET
: sous-réseau où se trouve l'interface réseau.REGION
: région qui contient l'instance.PROJECT_ID
: identifiant du projet contenant l'instance.ZONE
: zone dans laquelle se trouve l'instance.IPV4_ADDRESS
: adresse IPv4 interne que vous souhaitez attribuer à l'interface réseau.
Pour créer une instance de VM avec des adresses IPv6 internes, procédez comme suit :
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { .... "networkInterfaces": [ { "subnetwork": "regions/REGION/subnetworks/SUBNETWORK" "ipv6Address": "IPV6_ADDRESS", "internalIpv6PrefixLength": 96, "stackType": IPV4_IPV6, "ipv6AccessType": INTERNAL }, for each interface, specify a network... ], other instance settings... }
Remplacez les éléments suivants :
SUBNET
: sous-réseau où se trouve l'interface réseau.REGION
: région qui contient l'instance.PROJECT_ID
: identifiant du projet contenant l'instance.ZONE
: zone dans laquelle se trouve l'instance.IPV6_ADDRESS
: adresse IPv6 interne que vous souhaitez attribuer à l'interface réseau.
Terraform
Vous pouvez utiliser une ressource Terraform pour créer une instance de VM avec plusieurs interfaces réseau.
Les arguments Terraform comportent des exemples de valeurs que vous pouvez modifier.
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base.
Exemples de configurations
Les sections suivantes expliquent comment créer des VM avec plusieurs interfaces.
Configurer plusieurs interfaces réseau avec des adresses IPv4
L'exemple de commande suivant crée une instance avec trois interfaces réseau.
gcloud compute instances create vm1 --machine-type=n1-standard-4 \ --network-interface '' \ --network-interface network=net1,subnet=subnet-a,private-network-ip=10.10.10.2,address=EXTERNAL_IPV4_ADDRESS \ --network-interface network=net2,subnet=subnet-b,private-network-ip=10.10.20.2,no-address
Les interfaces sont créées avec les caractéristiques suivantes :
nic0
est créée avec les paramètres par défaut. L'interface est associée à un sous-réseau du réseau VPC par défaut, avec une adresse IP interne allouée automatiquement et une adresse IP externe éphémère.nic1
est associée au sous-réseausubnet-a
dans le réseaunet1
, avec une adresse IPv4 interne 10.10.10.2 et une adresse IPv4 externe statiqueEXTERNAL_IPV4_ADDRESS
.nic2
est associée au sous-réseausubnet-b
dans le réseaunet2
, avec une adresse IPv4 interne 10.10.20.2 et aucune adresse IP externe.
Pour obtenir une description complète de la commande gcloud compute instances create
et de l'option --network-interface
, consultez la documentation sur la commande.
Vous pouvez utiliser l'adresse IP de l'interface réseau que vous avez ajoutée pour configurer le transfert DNS. Pour en savoir plus sur la configuration des zones de transfert Cloud DNS, consultez la page Zones de transfert.
Configurer plusieurs interfaces réseau avec des adresses IPv4 et IPv6
L'exemple de commande suivant crée une instance à double pile avec deux interfaces réseau.
gcloud compute instances create vm1 \ --network-interface network=dual-int,subnet=int-subnet,stack-type=IPV4_IPV6 \ --network-interface network=dual-ext,subnet=ext-subnet,stack-type=IPV4_IPV6,ipv6-network-tier=PREMIUM \ --machine-type=n1-standard-4 --zone=us-west2-a
Les interfaces sont créées avec les caractéristiques suivantes :
nic0
est associée au sous-réseauint-subnet
dans le réseaudual-int
, avec une adresse IPv4 interne éphémère et une adresse IPv6 interne éphémère.nic1
est associée au sous-réseauext-subnet
dans le réseaudual-ext
, avec une adresse IPv4 interne éphémère et une adresse IPv6 externe éphémère.
Configurer plusieurs interfaces réseau pour des groupes d'instances
Vous pouvez utiliser des instances avec plusieurs interfaces réseau dans des groupes d'instances gérés et non gérés.
Pour les groupes d'instances non gérés, créez chaque instance individuellement, en veillant à ce que l'interface réseau nic0
de chaque VM soit associée au même sous-réseau. Ajoutez ensuite les instances de VM au groupe d'instances non géré.
Pour configurer plusieurs interfaces réseau dans des groupes d'instances gérés, vous devez spécifier la configuration réseau de chaque interface dans le modèle d'instance, en définissant l'option --network-interface
une fois pour chaque interface.
L'exemple suivant permet de créer un modèle d'instance avec trois interfaces réseau :
gcloud compute instance-templates create template-1 \ --network-interface subnet=net0-subnet-a \ --network-interface subnet=net1-subnet-b,no-address \ --network-interface subnet=net2-subnet-c,no-address \ --region us-central1
Étant donné que les noms de sous-réseau de chaque région d'un projet doivent être uniques, la spécification de sous-réseaux par nom associe implicitement chaque interface à un réseau VPC. Chaque interface doit utiliser un sous-réseau qui se trouve dans un réseau VPC unique :
nic0
utilise le sous-réseaunet0-subnet-a
.nic1
utilise le sous-réseaunet1-subnet-b
.nic2
utilise le sous-réseaunet2-subnet-c
.
L'option no-address
de l'option --network-interface
indique que l'interface est configurée sans adresse IP externe. L'adresse IP interne provient du sous-réseau utilisé par l'interface. Pour obtenir des informations complètes sur les options et la syntaxe, consultez la section sur l'option --network-interface
pour la commande instance-templates create
.
Dépannage
Je ne parviens pas à créer une VM avec plusieurs interfaces
Un des messages d'erreur suivants peut s'afficher :
Invalid value for field 'resource': ''. Too many network interfaces. The maximum number of network interfaces allowed for this machine type is.
Si vous obtenez ce message d'erreur, cela signifie que vous essayez de créer plus d'interfaces que le maximum autorisé par le type de machine de votre instance. Reportez-vous au tableau indiquant le nombre maximal d'interfaces.
Networks must be distinct for NICs attached to a VM.
Si vous obtenez ce message, cela signifie que vous essayez de créer plusieurs interfaces sur le même réseau. Chaque interface réseau doit être connectée à un réseau VPC distinct.
Subnetwork CIDR ranges must be non-overlapping for NICs attached to a VM.
Si vous obtenez ce message, cela signifie que les plages CIDR associées aux interfaces de votre VM se chevauchent. Ces plages CIDR incluent toutes les plages principales des sous-réseaux associés aux interfaces de la VM, ainsi que les plages secondaires utilisées pour les plages d'adresses IP d'alias . Chaque interface est associée à un sous-réseau, appartenant lui-même à un réseau VPC distinct, et aucun de ces sous-réseaux ne doit chevaucher les sous-réseaux d'autres interfaces. Ainsi, si vous essayez de créer une instance dans la région
us-west1
, vous pouvez vérifier les plages CIDR principales du sous-réseau à l'aide de la commande suivante ou de Google Cloud Console.gcloud compute networks subnets list --regions us-west1 NAME REGION NETWORK RANGE default us-west1 default 10.138.0.0/20 overlapping-subnet us-west1 test-network 10.138.8.0/24
Pour vérifier les plages CIDR des sous-réseaux secondaires, utilisez la commande suivante ou Google Cloud Console.
gcloud compute networks subnets describe overlapping-subnet --region us-west1
... ipCidrRange: 10.128.8.0/24 ... secondaryIpRanges: - ipCidrRange: 10.138.8.0/24 rangeName: conflicting-range
Multiple network interfaces are not supported on legacy networks.
Si vous obtenez ce message, cela signifie que vous essayez de créer votre instance dans un réseau ancien. Les instances à interfaces multiples ne sont pas compatibles avec les réseaux anciens. Vous pouvez vérifier si un réseau est un ancien réseau à l'aide de la commande suivante ou de Google Cloud Console. Le champ Mode indique le type de réseau.
gcloud compute networks list NAME MODE IPV4_RANGE GATEWAY_IPV4 default auto legacy-network legacy 10.240.0.0/16 10.240.0.1 test-network custom
Required 'compute.instances.create' permission for 'projects/PROJECT_ID/zones/ZONE/instances/test-inst'
Si vous obtenez ce message, cela signifie que le compte au moyen duquel vous êtes connecté ne dispose pas des autorisations IAM requises pour créer une instance. Reportez-vous à la section Autorisations IAM afin d'obtenir des informations détaillées sur les rôles requis pour créer des instances. Vous pouvez vérifier si la stratégie IAM associée à votre projet vous confère l'un des rôles suivants :
OWNER
,EDITOR
oucompute.instanceAdmin.v1
. Pour créer des instances dans un VPC partagé, vous aurez également besoin du rôlecompute.networkUser
. Dans l'exemple ci-dessous, le compteemail2@gmail.com
ne possède pas les autorisations IAM suffisantes pour créer une instance. Pour obtenir des instructions plus détaillées, consultez la page Attribuer, modifier et révoquer les accès à des ressources du guide IAM.gcloud projects get-iam-policy PROJECT_ID bindings: - members: - user:email1@gmail.com role: roles/owner - members: - serviceAccount:our-project-123@appspot.gserviceaccount.com - serviceAccount:123456789012-compute@developer.gserviceaccount.com role: roles/editor - members: - user:email2@gmail.com role: roles/viewer etag: BwUjMhXbSPU= version: 1
Vous pouvez demander au propriétaire ou à l'éditeur de votre projet de vous accorder l'un des rôles
OWNER
,EDITOR
oucompute.instanceAdmin.v1
. Vous aurez également besoin du rôlecompute.networkUser
si vous associez une interface à l'un des sous-réseaux appartenant au VPC partagé.gcloud projects set-iam_policy --member user:email2@gmail.com --role roles/editor
Je ne parviens pas à me connecter à l'adresse IP interne d'une interface secondaire
Vérifiez les règles de pare-feu pour vous assurer qu'elles autorisent la connexion à l'interface secondaire de la VM. Pour cela, vous pouvez consulter les règles de pare-feu correspondant au réseau associé à l'interface secondaire, soit dans Google Cloud Console en cliquant sur le réseau VPC adéquat, soit au moyen de la commande
gcloud
suivante.gcloud compute firewall-rules list --filter='network:NETWORK_NAME'
Vérifiez si vous essayez de vous connecter à cette interface secondaire depuis une adresse située soit sur Internet, soit à l'extérieur du réseau de cette interface. Vous ne pouvez vous connecter à l'adresse IP interne d'une interface que depuis son réseau. Si vous devez accéder à cette interface depuis l'extérieur du réseau, vous pouvez lui allouer une adresse IP externe.
Vérifiez si vous essayez de vous connecter à l'adresse IP interne de l'interface secondaire depuis un emplacement extérieur au sous-réseau qui lui est associé ; il peut s'agir d'un autre sous-réseau du même réseau ou d'un réseau appairé. La section Plusieurs interfaces réseau par instance explique l'interaction entre l'appairage de VPC et les instances de VM à plusieurs interfaces. Pour communiquer avec une interface secondaire depuis un emplacement extérieur au sous-réseau de l'interface, vous pourrez être amené à configurer des routes sur la VM. Consultez la section Comportement DHCP avec plusieurs interfaces réseau pour en savoir plus sur la manière dont DHCP programme les routes par défaut dans la VM.
Si vous essayez d'accéder à une adresse IPv6, consultez également la section Je ne parviens pas à me connecter à l'adresse IPv6 d'une interface secondaire.
Je ne parviens pas à me connecter à une interface secondaire au moyen d'une adresse IP externe
Le serveur DHCP ne programme une route par défaut que sur l'interface réseau principale de la VM. Si vous souhaitez vous connecter à l'interface secondaire au moyen d'une adresse IP externe, vous disposez de deux options. Si vous devez uniquement vous connecter en dehors du réseau associé à cette interface secondaire, vous pouvez définir une route par défaut sur cette interface. Sinon, vous pouvez utiliser l'approche décrite dans le tutoriel Configurer le routage pour une interface supplémentaire pour configurer une table de routage distincte à l'aide de la liaison de règle basée sur les sources dans votre VM.
Si vous essayez d'accéder à une adresse IPv6, consultez également la section Je ne parviens pas à me connecter à l'adresse IPv6 d'une interface secondaire.
Je ne parviens pas à me connecter à l'adresse IPv6 d'une interface secondaire
Si vous essayez d'accéder à une adresse IPv6, vérifiez que la version 20220603.00 de google-guest-agent
ou une version ultérieure est installée sur la VM. Pour en savoir plus sur la gestion des versions google-guest-agent
, consultez la page Environnement invité.
Si vous disposez d'une version antérieure de google-guest-agent
, les interfaces secondaires ne reçoivent pas de route de sous-réseau IPv6. Nous vous recommandons de mettre à jour l'agent invité afin que les routes soient correctement configurées.
Toutefois, pour contourner ce problème, vous pouvez utiliser un script de démarrage afin d'apporter la modification de configuration suivante pour chaque interface secondaire.
sudo sysctl -w net.ipv6.conf.INTERFACE_NAME.accept_ra_rt_info_max_plen=128
Remplacez INTERFACE_NAME
par le nom de l'interface (par exemple, eth1
ou ens5
).
J'ai des problèmes de connectivité lorsque j'utilise un masque de réseau autre que /32
Par défaut, le serveur de métadonnées d'une instance ne répond aux requêtes ARP que pour la passerelle par défaut.
Pour configurer des interfaces avec un masque de réseau autre que /32
, vous devez créer une image au moyen de l'option --guest-os-features MULTI_IP_SUBNET
et utiliser cette image pour créer votre instance. Ainsi, si vous utilisez une image basée sur debian-9
, vous pouvez créer une image au moyen de la commande suivante :
gcloud compute images create debian-9-multi-ip-subnet \ --source-disk debian-9-disk \ --source-disk-zone us-west1-a \ --guest-os-features MULTI_IP_SUBNET
Pour afficher les fonctionnalités configurées sur l'image invitée, exécutez la commande gcloud compute
images describe
sur celle-ci.
gcloud compute images describe debian-9-multi-ip-subnet
Pour en savoir plus sur la création d'images personnalisées, consultez la section Créer, supprimer et rendre obsolètes des images personnalisées.
Je ne parviens pas à résoudre le nom d'hôte interne d'une VM avec plusieurs interfaces réseau
Lorsqu'une requête DNS est exécutée avec un nom d'hôte interne, elle se résout au niveau de l'interface réseau principale (nic0
) de l'instance.
Si la valeur nic0
est associée à un réseau VPC différent du réseau VPC de l'instance émettant la requête DNS, la requête DNS échoue.
Le DNS interne n'est résolu que dans un réseau VPC donné. Pour plus d'informations, consultez la section Résolution DNS avec plusieurs interfaces réseau.
Dépannage à l'aide de la console série
Il est souvent judicieux d'activer la console série sur une VM pour déboguer les problèmes de configuration. Vous pouvez activer la console série pour le débogage interactif en suivant les étapes décrites dans la section Dépannage à l'aide de la console série.