IBM Cloud Docs
Gestion des interfaces réseau

Gestion des interfaces réseau

Après avoir créé une instance de serveur virtuel, vous pouvez ajouter deux styles de nouvelles interfaces réseau (interfaces réseau enfant et interfaces réseau virtuelles) ou éditer les interfaces qui sont déjà associées à l'instance. Lorsque vous modifiez une interface réseau, vous pouvez changer son nom, associer ou dissocier une adresse IP flottante, ou accéder au groupe de sécurité qui est associé à une interface.

A propos des interfaces réseau

Une interface réseau connecte une instance de serveur virtuel à un réseau. Lorsque vous créez une instance de serveur virtuel, vous pouvez utiliser des interfaces réseau pour affecter plusieurs adresses IP.

La liste suivante met en évidence le fonctionnement des interfaces réseau avec votre instance.

  • Vous pouvez créer et attribuer plusieurs interfaces réseau pour chaque instance de serveur virtuel. Le nombre d'interfaces réseau que vous pouvez affecter à une instance de serveur virtuel dépend du nombre d' vCPU inclus dans le profil utilisé pour mettre à disposition une instance.
    • 2 - 16 vCPUs: Jusqu'à cinq interfaces réseau
    • 17 - 48 vCPUs: Jusqu'à 10 interfaces réseau
    • 49 ou plus vCPUs: Jusqu'à 15 interfaces réseau
  • Vous pouvez connecter chaque interface réseau à un sous-réseau différent dans la même zone.
  • Chaque réseau reçoit une adresse MAC (Media Access Control) unique et immuable, ainsi qu'une adresse IP privée de la plage du sous-réseau.
  • Vous pouvez associer une adresse IP flottante à chaque interface réseau de l'instance de serveur virtuel. Dans le chemin des données, la traduction d'adresse réseau (NAT) est appliquée entre l'adresse IP flottante et l'adresse IP principale de l'interface réseau.
  • Par défaut, l'interface principale est eth0 dans la console IBM Cloud. Les interfaces secondaires sont par défaut eth1, eth2, etc.
  • Vous pouvez affecter des groupes de sécurité à chaque interface réseau.
  • Vous pouvez modifier le nom de toute interface réseau existante.

La bande passante est répartie entre les interfaces réseau connectées à l'instance de serveur virtuel. Pour plus d'informations, voir Allocation de bande passante.

Si vous affectez une nouvelle interface réseau à une instance de serveur virtuel pendant son exécution, vous devez configurer l'interface réseau à utiliser par l'instance. Vous pouvez arrêter, puis redémarrer l'instance, ou configurer manuellement l'interface dans le système d'exploitation invité. Par exemple, sur un système d'exploitation basé sur l' Linux, vous pouvez utiliser l' ip link set dev <interface> up pour récupérer la configuration de l'adresse IP de l'interface.

Ajout ou édition d'interfaces réseau

Pour ajouter ou modifier les interfaces réseau associées à vos instances de serveur virtuel, effectuez les opérations ci-après.

  1. Dans la console d' IBM Cloud, allez dans Navigation Menu icon menu icon > Infrastructure VPC icon > Compute > Virtual server instances.
  2. Cliquez sur le nom d'une instance de serveur virtuel qui inclut l'interface réseau à éditer. Ou vous pouvez ajouter une interface réseau à l'instance de serveur virtuel.
  3. Dans la page Détails de l'instance, recherchez la section Interfaces réseau.
  4. Pour les étapes spécifiques d'ajout d'une adresse IP flottante ou d'ajout d'une interface réseau, reportez-vous aux sections ci-après.

Ajout d'une adresse IP flottante

Si vous souhaitez ajouter une adresse IP flottante à une interface réseau pour autoriser le trafic à partir d'Internet pour accéder à votre instance de serveur virtuel, suivez la procédure ci-après.

  1. Si vous ajoutez une adresse IP flottante à l'instance de serveur virtuel pour la première fois, identifiez une interface réseau dans la section Interfaces réseau de la page Détails de l'instance. En règle générale, l'interface réseau principale de l'instance est utilisée pour connecter une adresse IP flottante. Par défaut, la première interface est nommée « eth0 » dans le système d'exploitation invité. Associer au départ l'adresse IP flottante à l'interface réseau principale permet d'établir le chemin de données. Plus tard, vous pourrez associer l'IP flottante à une interface réseau différente sur l'instance, ou associer des IP flottantes distinctes à des interfaces réseau secondaires.
  2. Cliquez sur l'icône Éditer Éditer pour modifier l'interface réseau primaire.
  3. Dans la page Editer l'interface réseau, recherchez la zone Adresse IP flottante. Vous pouvez sélectionner Réserver une nouvelle IP flottante ou sélectionner une adresse IP flottante existante.
  4. Une fois votre sélection effectuée, cliquez sur Sauvegarder.

Ajout d'une interface réseau

Vous pouvez ajouter jusqu'à 15 interfaces réseau à votre instance de serveur virtuel, en fonction du nombre d' vCPU inclus dans le profil d'instance. Une interface réseau établit une adresse IP unique, ce qui vous permet d'avoir plusieurs adresses IP pour votre instance de serveur virtuel. Avant de commencer à ajouter une interface, assurez-vous que vous avez créé un sous-réseau unique à associer à la nouvelle interface réseau. Chaque interface réseau doit se trouver sur un sous-réseau différent au sein de la même zone.

Pour ajouter une interface réseau à votre instance de serveur virtuel, procédez comme suit.

  1. Dans la section Interfaces réseau de la page Détails de l'instance, cliquez sur Nouvelle interface.
  2. Dans la page Nouvelle interface réseau, le nom d'interface utilise par défaut un nombre incrémenté. S'il s'agit de la première nouvelle interface après votre interface principale, le nom par défaut est eth1. Vous pouvez le modifier si vous le souhaitez.
  3. Sélectionnez un sous-réseau unique parmi les sous-réseaux attribués à vos interfaces réseau existantes.
  4. Sélectionnez le groupe de sécurité à associer à l'interface réseau.
  5. Cliquez sur Créer.
  6. Si votre instance de serveur virtuel était en cours d'exécution lorsque vous avez ajouté l'interface réseau, vous devez configurer l'interface réseau pour l'instance. Vous pouvez arrêter, puis redémarrer l'instance, ou configurer manuellement l'interface dans le système d'exploitation invité. Par exemple, sur un système d'exploitation basé sur l' Linux, vous pouvez utiliser l' ip link set dev <interface> up pour récupérer la configuration de l'adresse IP de l'interface.

Ajout d'une interface réseau virtuelle

Vous pouvez créer une interface de réseau virtuel sans la connecter à une cible. L'interface de réseau virtuel peut exister même lorsque sa cible est supprimée. Pour plus d'informations, voir Utilisation des interfaces de réseau virtuel.

Les interfaces de réseau virtuel peuvent être connectées à de nouvelles instances de serveur virtuel et ne peuvent pas être ajoutées à des instances de serveur virtuel existantes avec des interfaces de réseau enfant.

d'une instance de serveur virtuel avec un attachement réseau connecté à une
de réseau virtuel*

  1. Dans la console d' IBM Cloud, allez dans Navigation Menu icon menu icon > Infrastructure VPC icon > Compute > Virtual server instances.
  2. Cliquez sur Créer pour commencer à créer une instance de serveur virtuel capable d'utiliser une interface de réseau virtuel.
  3. Dans la section Mise en réseau, indiquez si vous souhaitez créer l'un des éléments suivants:
    • Connexion réseau avec une interface réseau virtuelle: interface réseau dotée de fonctions supplémentaires, telles que des adresses IP secondaires et un cycle de vie distinct de l'instance de serveur virtuel que vous créez.
    • Instance network interface: interface réseau enfant.

Configuration d'une instance de serveur virtuel avec plusieurs interfaces

Il peut arriver que des instances de serveur virtuel communiquent avec d'autres instances par le biais de plusieurs interfaces réseau, par exemple, pour utiliser des sous-réseaux différents pour différents types de communications. Vous pouvez souhaiter un sous-réseau pour la communication de données et un autre sous-réseau pour la communication de contrôle. Etant donné qu'une instance de serveur virtuel est configurée avec une seule route par défaut qui est associée à l'interface réseau principale, la communication sur d'autres interfaces peut ne pas fonctionner au départ. (Les contrôles d'usurpation d'adresse IP à des fins de sécurité peuvent également empêcher le flux de communication sur les interfaces réseau non principales.)

Vous pouvez établir une communication pour une interface réseau secondaire à l'aide de l'une des options ci-après. Ces exemples concernent une plateforme Linux telle que Ubuntu.

  • Ajoutez une route statique pour le deuxième sous-réseau.
  • Ajoutez une table de routage distincte pour le deuxième sous-réseau.

Les tables de routage des instances de serveur virtuel sont générées par défaut lorsqu'une instance est mise à disposition. La modification de la table de routage générée est une tâche non triviale. Si vous devez modifier la table de routage d'une instance de serveur virtuel, lorsque vous mettez à disposition l'instance, vous pouvez inclure des données utilisateur pour décrire et reconfigurer la table de routage de l'instance. Une autre option consiste à utiliser une image personnalisée pour mettre à disposition une instance et contrôler ce qui est créé pour plusieurs interfaces réseau. Lorsque vous utilisez les images par défaut pour mettre à disposition des instances, la configuration réseau est créée pour vous. Vous disposez d'un contrôle limité sur les éléments générés.

Les sections ci-après décrivent ces solutions plus en détail.

Exemple de configuration de serveur virtuel:

  • Deux serveurs virtuels (Virtual-server-1 et Virtual-server-2) où les deux serveurs virtuels appartiennent au même VPC.

  • Chaque serveur virtuel possède deux interfaces de deux sous-réseaux :

    • Serveur virtuel 1 a l'interface eth0 de net_1_0 et l'interface eth1 de net_1_1.
    • Serveur virtuel 2 a l'interface eth0 de net_2_0 et l'interface eth1 de net_2_1.
  • Le sous-réseau net_*_0 de chaque serveur virtuel est configuré avec une route par défaut.

  • Le CIDR et l'adresse IP de passerelle de chaque sous-réseau sont connus.

    Des noms alphanumériques sont utilisés ici. Le véritable ID passerelle doit être similaire à 192.168.100.1, le CIDR, à 192.168.100.0/24 et l'adresse IP, à 192.168.100.6.

Exemple d'une instance de serveur virtuel avec plusieurs interfaces
Sous-réseau Adresse IP de passerelle CIDR de sous-réseau Adresse IP de l'interface
net_1_0 gw_ip_1_0 cidr_1_0 ip_1_0
net_1_1 gw_ip_1_1 cidr_1_1 ip_1_1
net_2_0 gw_ip_2_0 cidr_2_0 ip_2_0
net_2_1 gw_ip_2_1 cidr_2_1 ip_2_1

Ajout d'une route statique pour la deuxième interface

Cette solution fait d'un sous-réseau la passerelle par défaut (automatiquement en créant une instance de serveur virtuel) et ajoute une route statique pour le deuxième sous-réseau :

  • Sur Virtual-server-1 :

    ip route add cidr_2_1 via gw_ip_1_1 dev eth1
    
  • Sur Virtual-server-2 :

    ip route add cidr_1_1 via gw_ip_2_1 dev eth1
    

Ajout d'une table de routage distincte pour la deuxième interface

  • Sur Virtual-server-1 :
   echo 201 eth1tab >> /etc/iproute2/rt_tables
   ip route add cidr_1_1 dev eth1 proto kernel scope link src ip_1_1 table eth1tab
   ip route add default via gw_1_1 dev eth1 table eth1tab
  • Sur Virtual-server-2 :
echo 201 eth1tab >> /etc/iproute2/rt_tables
ip route add cidr_2_1 dev eth1 proto kernel scope link src ip_2_1 table eth1tab
ip route add default via gw_2_1 dev eth1 table eth1tab
ip rule add from ip_2_1 table eth1tab

Cette approche est un peu plus compliquée que l'ajout d'une route statique, mais elle permet de personnaliser des stratégies de routage pour différentes interfaces.

Création d'une interface réseau virtuelle à partir de l'interface de ligne de commande

Les interfaces de réseau virtuel peuvent être connectées à de nouvelles instances de serveur virtuel et ne peuvent pas être ajoutées à des instances de serveur virtuel existantes avec des interfaces de réseau enfant.

Vous pouvez créer une interface de réseau virtuel à l'aide de l'interface de ligne de commande (CLI). Pour plus d'informations sur les capacités, la planification, la mise en route et les cas d'utilisation, voir A propos des interfaces de réseau virtuel.

Pour créer une interface de réseau virtuel à l'aide de l'interface de ligne de commande, utilisez la commande ibmcloud is virtual-network-interface-create.

ibmcloud is virtual-network-interface-create [--name NAME] [--allow-ip-spoofing false | true] [--auto-delete false | true] [--enable-infrastructure-nat false | true] [[--rip RIP | [--rip-address RIP_ADDRESS --rip-auto-delete RIP_AUTO_DELETE --rip-name RIP_NAME]]] [--subnet SUBNET] [--ips RESERVED_IPS_JSON | @RESERVED_IPS_JSON_FILE] [--sgs SGS] [--resource-group-id RESOURCE_GROUP_ID | --resource-group-name RESOURCE_GROUP_NAME] [--vpc VPC] [--output JSON] [-q, --quiet]

L'exemple suivant crée une interface réseau virtuelle basée sur les paramètres de l'adresse IP réservée. Le nom de l'interface de réseau virtuel est cli-vni-1. L'ID de l'adresse IP réservée est 7208-d4c0abbe-3fc2-4696-9fe1-4eb3dc9af976. L'ID de l'adresse IP réservée principale est 7208-d83b7e58-3c3d-47d0-89c5-02d9a20c72fd. Les adresses IP réservées secondaires sont 10.240.64.13. Les ID de groupe de sécurité à associer à l'interface réseau virtuel sont r134-aa7c7658-e503-4456-b342-8d6a89e05115 et r134-4fb388f1-2b6e-4013-b279-7a8748f4d6ca. L'ID du groupe de ressources dans lequel l'interface de réseau virtuel est créée est 11caaa983d9c4beb82690daab08717e9.

ibmcloud is virtual-network-interface-create --name cli-vni-1 --allow-ip-spoofing true --auto-delete false --enable-infrastructure-nat true --rip 7208-d4c0abbe-3fc2-4696-9fe1-4eb3dc9af976  --ips '[{"id":"7208-d83b7e58-3c3d-47d0-89c5-02d9a20c72fd"},{"address":"10.240.64.13", "auto_delete": false, "name": "srip2"}]' --sgs r134-aa7c7658-e503-4456-b342-8d6a89e05115,r134-4fb388f1-2b6e-4013-b279-7a8748f4d6ca --resource-group-id 11caaa983d9c4beb82690daab08717e9

Pour plus d'informations, voir ibmcloud is virtual-network-interface-create sur la page de référence de l'interface de ligne de commande VPC.

Création d'un serveur virtuel avec une interface de réseau virtuel existante

Vous pouvez créer une instance de serveur virtuel qui utilise une interface de réseau virtuel existante à l'aide de l'interface de ligne de commande.

Pour créer une instance de serveur virtuel avec une interface de réseau virtuel existante à l'aide de l'interface de ligne de commande, utilisez la commande ibmcloud is instance-create.

L'exemple suivant crée un serveur virtuel qui inclut une interface de réseau virtuel existante. Le nom du serveur virtuel est my-instance-name. L'ID du VPC est 72b27b5c-f4b0-48bb-b954-5becc7c1dcb8. Le nom de la zone est us-south-1. Le profil du serveur virtuel est bx2-2x8. Le sous-réseau est 72b27b5c-f4b0-48bb-b954-5becc7c1dcb8. Le nom de connexion réseau principal est cli-pnac-1. L'ID de l'interface réseau virtuelle associée à l'interface réseau principale est 7322-1293a27a-7178-4e62-ba5b-272623c989aa. La configuration de connexion réseau inclut le nom instance-snac-1 et l'ID d'interface réseau virtuel 02h7-56705448-c9d9-43dc-aa11-20d42333cd87. L'ID image du serveur virtuel est r123-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8.

ibmcloud is instance-create my-instance-name 72b27b5c-f4b0-48bb-b954-5becc7c1dcb8 us-south-1 bx2-2x8 72b27b5c-f4b0-48bb-b954-5becc7c1dcb8 --pnac-name cli-pnac-1 --pnac-vni 7322-1293a27a-7178-4e62-ba5b-272623c989aa --network-attachments [{"name": "instance-snac-1","virtual_network_interface": {"id":"02h7-56705448-c9d9-43dc-aa11-20d42333cd87"}}] --image r123-72b27b5c-f4b0-48bb-b954-5becc7c1dcb8

Pour plus d'informations, voir ibmcloud is instance-create dans la page de référence de l'interface de ligne de commande VPC.

Création d'une interface de réseau virtuel avec l'API

Les interfaces de réseau virtuel peuvent être connectées à de nouvelles instances de serveur virtuel et ne peuvent pas être ajoutées à des instances de serveur virtuel existantes avec des interfaces de réseau enfant.

Vous pouvez créer une interface de réseau virtuel à l'aide de l'API. Pour plus d'informations sur les capacités, la planification, la mise en route et les cas d'utilisation, voir A propos des interfaces de réseau virtuel.

Pour créer une interface de réseau virtuel avec l'API, procédez comme suit:

  1. Configurez votre environnement d'API avec les variables appropriées.

  2. Stockez d'autres variables destinées à être utilisées dans les commandes d'API, par exemple :

    • version (chaîne): version de l'API, au format YYYY-MM-DD.
  3. Lorsque toutes les variables sont initiées, créez l'interface de réseau virtuel. L'exemple suivant inclut des exemples d'informations pour l'adresse IP principale, les groupes de sécurité et le sous-réseau.

    curl -X POST \
    "$vpc_api_endpoint/v1/virtual_network_interfaces?version=$version&generation=2" \
    -H "Authorization: Bearer $iam_token"
    -d '{
          "name": "my-virtual-network-interface",
          "primary_ip": {
            "address": "10.0.0.5"
          },
          "security_groups": [
            {
              "id": "be5df5ca-12a0-494b-907e-aa6ec2bfa271"
            },
            {
              "id": "032e1387-71ba-4e83-b268-a53edf94af19"
            }
          ],
          "subnet": {
            "id": "032e1387-71ba-4e83-b268-a53edf94af19"
          }
    }'
    

Pour plus d'informations, voir Création d'une interface de réseau virtuel.

Si vous souhaitez connecter l'interface réseau virtuel à une nouvelle instance de serveur virtuel, voir Création d'une instance.

Création d'une interface réseau virtuelle avec Terraform

Les interfaces de réseau virtuel peuvent être connectées à de nouvelles instances de serveur virtuel et ne peuvent pas être ajoutées à des instances de serveur virtuel existantes avec des interfaces de réseau enfant.

Pour plus d'informations sur les capacités, la planification, la mise en route et les cas d'utilisation, voir A propos des interfaces de réseau virtuel.

L'exemple suivant crée une interface de réseau virtuel à l'aide de Terraform:

resource "ibm_is_virtual_network_interface" "my_virtual_network_interface_instance" {
  allow_ip_spoofing = true
  auto_delete = false
  enable_infrastructure_nat = true
  name = "my-virtual-network-interface"
  subnet = ibm_is_subnet.my_subnet.id
}

Pour plus d'informations, consultez le registre Terraform.

Si vous souhaitez connecter l'interface réseau virtuel à une nouvelle instance de serveur virtuel, voir le registre Terraform.