Mode hybride non lié
En mode hybride non lié, une interface réseau est supprimée de la liaison de couche 3 et placée en mode de couche 2. Les VLAN peuvent ensuite être attribués à cette interface pour la connectivité de couche 2 tout en préservant la connectivité de couche 3, de sorte que le serveur soit toujours accessible à son adresse IP publique.

Bien que cela soit souhaitable dans certaines situations, cela introduit un point de défaillance unique sur le commutateur en amont ou sur l'interface réseau. Une panne, une opération de maintenance ou un redémarrage sur l'un des commutateurs entraînera des interruptions du réseau.
Si vous avez des préoccupations en matière de haute disponibilité, le mode Hybrid Bonded prend en charge à la fois la couche 2 et la couche 3 tout en maintenant l'interface réseau « bondée » à haute disponibilité qui s'étend sur 2 commutateurs en amont différents.
Aperçu général
- Le mode hybride non lié libère
eth1de la liaison, et le trafic de couche 3 ne passera plus pareth1. - Vous pouvez ensuite ajouter des VLAN à
eth1pour votre trafic de couche 2. Si vous n'ajoutez qu'un seul VLAN àeth1, le trafic ne doit pas être étiqueté. - Si vous ajoutez plus d'un VLAN à
eth1, vous devrez créer des sous-interfaces pour gérer le trafic étiqueté pour chaque VLAN et/ou vous devrez définir un VLAN natif pour gérer le trafic non étiqueté. bond0will continue to handle your Layer 3 traffic, and Internet access is preserved through your Equinix Metal assigned public IP address.- Si vous ajoutez des VLAN à
bond0, vous devrez créer des sous-interfaces pour gérer le trafic étiqueté de chaque VLAN.bond0ne prend pas en charge le trafic de couche 2 non étiqueté ni la définition d'un VLAN natif.
Conversion en mode hybride non lié
Le mode hybride non lié supprime l'interface eth1 de la liaison LACP, vous permettant d'ajouter des VLAN de couche 2 à eth1 tout en préservant les adresses IP élastiques attribuées à l'interface de couche 3 liée.
- Console
- CLI
- API
Pour utiliser le mode hybride non lié, vous devez d'abord configurer votre réseau en mode hybride. Dans la console, allez à l'onglet Réseau du serveur, cliquez sur Convertir en un autre type de réseau, sélectionnez Hybride, puis Non lié. Cliquez ensuite sur Convertir en hybride pour appliquer les modifications.

Ensuite, depuis la page Réseau du serveur, cliquez sur Ajouter un nouveau VLAN. Choisissez eth1 comme interface et sélectionnez l'ID de réseau virtuel (VNID ou ID de VLAN) que vous voulez utiliser.

Pour attribuer plusieurs VLAN simultanément, ajoutez-en plusieurs depuis le menu déroulant. Notez que si vous attribuez plusieurs VLAN simultanément, leur ajout se fait via un processus par lots asynchrone, qui démarre immédiatement, mais peut prendre un certain temps.
Commencez par supprimer le port eth1 de l'interface réseau agrégée à l'aide de la commande metal port convert. Utilisez ensuite l'UUID du port eth1 comme --port-id et définissez son état --bonded à false.
metal port convert --port-id <eth1_id> --bonded=false
Ensuite, attribuez un VLAN à eth1 avec la commande metal port vlan. Spécifiez l'UUID de eth1 pour --port-id et le VLAN que vous attribuez à --assign.
metal port vlan --port-id <eth1_id> --assign <VLAN_id>
Le VLAN_id peut être soit l'UUID du VLAN, soit le numéro d'identification du VLAN qui se trouve dans la console.
Vous devrez d'abord supprimer eth1 de l'association. Envoyer une requête POST au point de terminaison /ports/{id}/disbond.
Vous devez spécifier l'ID de port de eth1 dans le chemin, et il doit s'agir de l'UUID de ce port tel que renvoyé par le point de terminaison /devices/{id}.
Définissez le champ bulk_disable à false dans le corps de la requête.
curl -X POST \
-H "Content-Type: application/json" \
-H "X-Auth-Token: <API_TOKEN>" \
"https://api.equinix.com/metal/v1/ports/{id}/disbond" \
-d '{
"bulk_disable": false
}'
Ensuite, vous devez assigner votre VLAN à eth1. Envoyer une requête POST au point de terminaison /ports/{id}/assign.
curl -X POST \
-H "Content-Type: application/json" \
-H "X-Auth-Token: <API_TOKEN>" \
"https://api.equinix.com/metal/v1/ports/{id}/assign" \
-d '{
"vnid": "<vlan_ID>"
}'
Le paramètre « vnid » correspond à l'identifiant du VLAN envoyé dans le corps de la requête. Cet identifiant peut être soit l'UUID du VLAN renvoyé par le point de terminaison /projects/{id}/virtual-networks, soit l'identifiant du VLAN affiché dans la console.
Il est également possible d'attribuer des VLAN à un port en masse, dans le cadre d'un traitement par lots asynchrone. Envoyez une requête POST au point de terminaison /ports/{id}/vlan-assignments/batches en incluant un tableau d'attributions de VLAN dans le corps de la requête.
curl -X POST \
-H "Content-Type: application/json" \
-H "X-Auth-Token: <API_TOKEN> " \
"https://api.equinix.com/metal/v1/ports/{id}/vlan-assignments/batches" \
-d '{
"vlan_assignments": [
{
"vlan": "string",
"state": "assigned"
},
{
"vlan": "string",
"state": "assigned"
},
]
}'
Configuration de vos serveurs
Une fois que vous avez converti le serveur en mode hybride non lié et attribué le VLAN à eth1, vous devrez configurer le réseau sur le système d'exploitation du serveur et lui attribuer une adresse IP sur le VLAN.
Remarque: L’utilisation du sous-réseau commençant par 10.x.x.x pour votre trafic VLAN n’est pas recommandée car nous l’utilisons pour le réseau privé du serveur et des collisions pourraient se produire si vous utilisez le même sous-réseau.
Il existe deux exemples de configurations, le premier exemple est une configuration pour attribuer un seul VLAN à eth1, le deuxième exemple est pour attribuer plusieurs VLAN à eth1 et/ou pour attribuer des VLAN à bond0.
Pour un seul VLAN sur eth1
Si vous n'avez qu'un seul VLAN, ne marquez pas le trafic et attribuez l'adresse IP du VLAN directement à l'interface.
Les exemples suivants utilisent un VLAN avec l'ID de VLAN 1036 et le sous-réseau 198.51.100.0/24.
- iproute2
- nmcli
iproute2 est un utilitaire de gestion des configurations réseau du noyau Linux. Il est inclus dans la plupart des distributions Linux.
Dans nos images système, les interfaces ne sont pas aliasées à eth1 et eth0. Dans cet exemple, eth1 dans la console correspond à enp1s0f1 dans le système d'exploitation.
-
Désactivez l'interface
enp1s0f1.ip link set down enp1s0f1 -
Assurez-vous que
enp1s0f1a été supprimé debond0.ip -d link show enp1s0f1S'il n'a pas été supprimé, supprimez-le.
ip link set enp1s0f1 nomaster -
Configurez
enp1s0f1avec une adresse IP pour le VLAN. L'exemple utilise l'adresse IP198.51.100.4/24.ip addr add 198.51.100.4/24 dev enp1s0f1 -
Affichez l'interface et vérifiez qu'elle est de nouveau opérationnelle.
ip link set dev enp1s0f1 upip -d link show enp1s0f1
-
Optionnel: Pour rendre la configuration réseau permanente et survivre aux redémarrages du serveur, modifiez
enp1s0f1dans le fichier/etc/network/interfaces.auto enp1s0f1iface enp1s0f1 inet manualaddress 192.168.1.2netmask 255.255.255.248pre-up sleep 4N'oubliez pas non plus de supprimer
enp1s0f1debond0(exemple tronqué).auto bond0iface bond0 inet static...bond-slaves enp1s0f0dns-nameservers 147.75.207.207 147.75.207.208...
nmcli est l'outil CLI pour Network Manager, un utilitaire permettant de gérer les configurations réseau dans Rocky Linux, RHEL et CentOS Streams.
Dans nos images de système d'exploitation, les interfaces ne sont pas aliasées à eth1 et eth0. Dans cet exemple, eth1 dans la console correspond à enp1s0f1 dans le système d'exploitation.
-
Enlever
enp1s0f1debond0.nmcli connection delete "System enp1s0f1" -
Créez une nouvelle connexion pour l'interface
enp1s0f1de typeethernet. L'exemple utilise le nom « vlan-enp1s0f1 » par commodité.nmcli connection add con-name vlan-enp1s0f1 type ethernet ifname enp1s0f1 -
Configurez la connexion avec une adresse IP pour le VLAN. L'exemple utilise l'adresse IP
198.51.100.5/24.nmcli connection modify vlan-enp1s0f1 ipv4.addresses 198.51.100.5/24nmcli connection modify vlan-enp1s0f1 ipv4.method manual -
Établissez la connexion.
nmcli connection up vlan-enp1s0f1
Vous devez exécuter les mêmes étapes sur tous les serveurs que vous souhaitez connecter au VLAN, en attribuant une adresse IP différente à chacun.
Pour plusieurs VLAN sur eth1 ou VLAN sur bond0
Si vous utilisez plusieurs VLAN sur eth1 ou si vous ajoutez des VLAN à bond0, les paquets IP devront être étiquetés et vous devrez configurer des sous-interfaces pour recevoir les paquets destinés à chaque VLAN. Si vous avez besoin de la prise en charge des paquets non étiquetés, définissez le VLAN qui gère ces paquets comme un VLAN natif (../layer2-networking/native-vlan.mdx).
Les exemples suivants utilisent eth1 et:
- Un VLAN avec l'ID de VLAN
1036et le sous-réseau198.51.100.0/24. - Un VLAN avec l'ID de VLAN
2025et le sous-réseau203.0.113.0/24.
- iproute2
- nmcli
iproute2 est un utilitaire de gestion des configurations réseau du noyau Linux. Il est inclus dans la plupart des distributions Linux.
Dans nos images système, les interfaces ne sont pas aliasées à eth1 et eth0. Dans cet exemple, eth1 dans la console correspond à enp1s0f1 dans le système d'exploitation.
-
Installez et configurez les prérequis pour les VLAN, si vous ne l’avez pas déjà fait.
apt-get install vlanmodprobe 8021qecho "8021q" >> /etc/modules -
Assurez-vous que
enp1s0f1a été supprimé debond0.ip -d link show enp1s0f1S'il n'a pas été supprimé, supprimez-le.
ip link set dev enp1s0f1 nomaster -
Ajoutez de nouvelles sous-interfaces à
enp1s0f1pour gérer le trafic étiqueté, une pour chaque VLAN. L'exemple utilise les ID de VLAN1036et2025.ip link add link enp1s0f1 name enp1s0f1.1036 type vlan id 1036ip link add link enp1s0f1 name enp1s0f1.2025 type vlan id 2025 -
Attribuez des adresses IP aux sous-interfaces. L'exemple utilise
198.51.100.2/24et.ip addr add 198.51.100.2/24 dev enp1s0f1.1036ip addr add 203.0.113.2/24 dev enp1s0f1.2025 -
Affichez les interfaces et vérifiez qu'elles s'affichent.
ip link set dev enp1s0f1.1036 upip -d link show enp1s0f1.2025ip link set dev enp1s0f1.1036 upip -d link show enp1s0f1.2025
-
Optionnel: Pour rendre la configuration réseau permanente et survivre aux redémarrages du serveur, ajoutez les nouvelles sous-interfaces au fichier
/etc/network/interfaces.auto enp1s0f1.1036iface enp1s0f1.1036 inet staticaddress 198.51.100.2netmask 255.255.255.0vlan-raw-device enp1s0f1auto enp1s0f1.2025iface enp1s0f1.2025 inet staticaddressnetmask 255.255.255.0vlan-raw-device enp1s0f1N'oubliez pas non plus de supprimer
enp1s0f1debond0(exemple tronqué).auto bond0iface bond0 inet static...bond-slaves enp1s0f0dns-nameservers 147.75.207.207 147.75.207.208...
nmcli est l'outil CLI pour Network Manager, un utilitaire permettant de gérer les configurations réseau dans Rocky Linux, RHEL et CentOS Streams.
Dans nos images de système d'exploitation, les interfaces ne sont pas désignées par les alias eth1 et eth0. Dans cet exemple, eth1 dans la console correspond à enp1s0f1 dans le système d'exploitation.
-
Activer la prise en charge du VLAN et de l'interface balisée.
echo 8021q > /etc/modules-load.d/8021q.conf -
Supprimez
enp1s0f1de la liaison.nmcli connection delete "System enp1s0f1" -
Créez une nouvelle connexion ajoutant une sous-interface à
enp1s0f1pour gérer le trafic étiqueté. L'exemple utilise les ID de VLAN1036et2025.nmcli connection add type vlan con-name enp1s0f1.1036 ifname enp1s0f1.1036 vlan.parent enp1s0f1 vlan.id 1036nmcli connection add type vlan con-name enp1s0f1.2025 ifname enp1s0f1.2025 vlan.parent enp1s0f1 vlan.id 2025 -
Attribuez des adresses IP de vos sous-réseaux VLAN aux connexions. Les exemples utilisent les adresses IP
198.51.100.3et203.0.113.3.nmcli connection modify enp1s0f1.1036 ipv4.addresses '198.51.100.3/24' ipv4.method manualnmcli connection modify enp1s0f1.1036 ipv4.addresses '203.0.113.3/24' ipv4.method manual -
Affichez les deux connexions
nmcli con up enp1s0f1.1036nmcli con up enp1s0f1.2025
Vous devrez exécuter les mêmes étapes sur tous les serveurs que vous souhaitez connecter aux VLAN, en attribuant des adresses IP différentes à chacun.
Test de la connexion VLAN
Vous devriez maintenant pouvoir communiquer entre les serveurs de votre réseau VLAN de couche 2.
[root@nmcli-testing ~]# ping 198.51.100.2
>
PING 198.51.100.2 (198.51.100.2) 56(84) bytes of data.
64 bytes from 198.51.100.2: icmp_seq=1 ttl=64 time=0.703 ms
64 bytes from 198.51.100.2: icmp_seq=2 ttl=64 time=0.444 ms
64 bytes from 198.51.100.2: icmp_seq=3 ttl=64 time=0.451 ms
64 bytes from 198.51.100.2: icmp_seq=4 ttl=64 time=0.412 ms
^C
--- 198.51.100.2 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3113ms
rtt min/avg/max/mdev = 0.412/0.502/0.703/0.116 ms
Reconversion vers la couche 3
Si vous voulez revenir au mode de liaison de couche 3 par défaut, vous devez d'abord supprimer tous les VLAN attribués, puis ajouter eth1 à l'interface liée.
- Console
- CLI
- API
Pour dissocier un VLAN de la console, allez à l'onglet Réseau du serveur. Dans la section Couche 2, sélectionnez le VLAN à dissocier du port. Cliquez sur Supprimer.

Notez que la désaffectation du VLAN ne le supprime PAS de votre projet. Le VLAN continuera d'exister après sa désaffectation du port.
Pour revenir au réseau de couche 3, cliquez sur Convertir vers un autre type de réseau, puis sélectionnez Couche 3. Cliquez ensuite sur Convertir en couche 3 pour lancer le processus.

Désactivez les VLAN de l'interface eth1 à l'aide de la commande metal port vlan. Spécifiez l'UUID de eth1 pour --port-id et le VLAN que vous désactivez dans --unassign.
metal port vlan --port-id <eth1_id> --unassign <vlan>
Ensuite, retournez eth1 à la liaison avec la commande metal port converti.
metal port convert -i <eth1_id> --bonded=true
Pour désassigner un VLAN d'un port, envoyez une requête POST au point de terminaison /ports/{id}/unassign.
Vous devez spécifier l'identifiant du port eth1 dans le chemin et l'identifiant du VLAN dans le corps de la requête. Il peut s'agir soit de l'UUID du VLAN, soit de l'identifiant du VLAN affiché dans la console.
curl -X POST \
-H "Content-Type: application/json" \
-H "X-Auth-Token: <API_TOKEN>" \
"https://api.equinix.com/metal/v1/ports/{id}/unassign" \
-d '{
"vnid": "1173"
}'
Vous pouvez également désassigner plusieurs VLAN d'un port en une seule opération, dans le cadre d'un traitement par lots asynchrone. Envoyez une requête POST au point de terminaison /ports/{id}/vlan-assignments/batches en incluant un tableau d'affectations de VLAN dans le corps de la requête et en définissant leur état à "unassigned".
curl -X POST \
-H "Content-Type: application/json" \
-H "X-Auth-Token: API_TOKEN" \
"https://api.equinix.com/metal/v1/ports/{id}/vlan-assignments/batches" \
-d '{
"vlan_assignments": [
{
"vlan": "string",
"state": "unassigned"
},
{
"vlan": "string",
"state": "unassigned"
}
]
}'
Ensuite, vous retournez le port à l'interface de couche 3. Envoyez une requête POST au point de terminaison /ports/{id}/bond.
curl -X POST \
-H "Content-Type: application/json"\
-H "X-Auth-Token: <API_TOKEN>" \
"https://api.equinix.com/metal/v1/ports/{id}/bond" \
-d '{
"bulk_enable": false
}'