Mode hybride non lié
En mode Hybrid Unbonded, une interface réseau est retirée du lien de la couche 3 et placée en mode couche 2. Des VLAN peuvent alors être attribués à cette interface pour la connectivité de la couche 2 tout en préservant la connectivité de la couche 3, de sorte que le serveur reste accessible à son adresse IP publique.

Bien que cette solution soit souhaitable dans certaines situations, elle introduit un point de défaillance unique soit sur le commutateur en amont, soit sur l'interface réseau. Une panne, un événement de maintenance ou un redémarrage de 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 les couches 2 et 3 tout en maintenant l'interface réseau "bonded" hautement disponible qui s'étend sur deux commutateurs en amont différents.
Vue d'ensemble
- Le mode hybride découplé rompt le lien entre
eth1eteth1, et le trafic de couche 3 ne circule plus sureth1. - 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 balisé. - Si vous ajoutez plus d'un VLAN à
eth1, vous devrez créer des sous-interfaces pour gérer le trafic balisé pour chaque VLAN et/ou vous devrez définir un VLAN natif pour gérer le trafic non balisé. 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 balisé de chaque VLAN.bond0ne prend pas en charge le trafic non balisé de la couche 2 ou la définition d'un VLAN natif.
Passage au mode hybride non lié
Le mode Hybrid Unbonded supprime l'interface eth1 du lien LACP, ce qui vous permet d'ajouter des VLAN de couche 2 à eth1 tout en préservant les IP élastiques attribuées à l'interface de couche 3 liée.
- Console
- CLI
- API
Pour utiliser le mode Hybrid Unbonded, vous devez d'abord modifier votre configuration réseau en mode Hybrid. Dans la console, accédez à l'onglet Network du serveur, cliquez sur Convert To Other Network Type, sélectionnez Hybrid, et choisissez Unbonded. Cliquez sur Convert to Hybrid pour effectuer les modifications.

Ensuite, à partir de la page Network du serveur, cliquez sur Add New VLAN. Choisissez eth1 comme interface et sélectionnez l'ID de réseau virtuel (VNID, ou ID VLAN) que vous souhaitez utiliser.

Pour attribuer plusieurs VLAN en même temps, continuez à ajouter des VLAN dans le menu déroulant. Notez que si vous attribuez plusieurs VLAN en même temps, ils sont ajoutés par le biais d'un processus de lot asynchrone, qui commence immédiatement, mais peut prendre un certain temps pour se terminer.
Tout d'abord, supprimez le port eth1 de l'interface réseau lié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 sur false.
metal port convert --port-id <eth1_id> --bonded=false
Attribuez ensuite un VLAN à eth1 à l'aide de la commande metal port vlan. Spécifiez l'UUID de eth1 pour --port-id et le VLAN que vous assignez à --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.
Tout d'abord, vous devez supprimer eth1 de l'obligation. Envoyez une requête POST au point de terminaison /ports/{id}/disbond.
Vous devez spécifier l'ID de port de eth1 dans le chemin d'accès, et il doit s'agir de l'UUID de ce port tel qu'il est renvoyé par le point de terminaison /devices/{id}.
Attribuez la valeur false au champ bulk_disable dans le corps de la demande.
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. Envoyez 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 "vnid" est l'ID du VLAN qui est envoyé dans le corps de la requête. L'ID peut être soit l'UUID du VLAN tel que renvoyé par le point de terminaison /projects/{id}/virtual-networks, soit l'ID du VLAN qui se trouve dans la console.
Il est également possible d'attribuer des VLAN à un port en vrac, dans le cadre d'un processus batch asynchrone. Envoyez une requête POST au point de terminaison /ports/{id}/vlan-assignments/batches et un tableau d'affectations 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 des serveurs
Une fois que vous avez converti le serveur en mode Hybrid Unbonded et attribué le VLAN à eth1, vous devez configurer le réseau sur le système d'exploitation du serveur et lui attribuer une adresse IP sur le VLAN.
Note : 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 y a deux exemples de configuration, le premier exemple est une configuration pour assigner un seul VLAN à eth1, le second exemple est pour assigner plusieurs VLAN à eth1 et/ou pour assigner des VLAN à bond0.
Pour un VLAN unique 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 VLAN 1036 et le sous-réseau 198.51.100.0/24.
- iproute2
- nmcli
iproute2 est un utilitaire de gestion des configurations réseau dans le noyau Linux. Il est inclus dans la plupart des distributions du système d'exploitation Linux.
Dans notre 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.
-
Abaissez 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é enlevé, enlevez-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 rétablie.
ip link set dev enp1s0f1 upip -d link show enp1s0f1
-
En option : Pour que la configuration du réseau soit permanente et survive 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 de gestion des configurations réseau dans Rocky Linux, RHEL et CentOS Streams.
Dans notre système d'exploitation, les interfaces d'images ne sont pas aliasées eth1 et eth0. Dans cet exemple, eth1 dans la console correspond à enp1s0f1 dans le système d'exploitation.
-
Retirez
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 -
Faites remonter la connexion.
nmcli connection up vlan-enp1s0f1
Vous devez exécuter les mêmes étapes sur tous les serveurs que vous souhaitez attacher au VLAN, en attribuant une adresse IP différente à chacun d'entre eux.
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 marqués, et vous devrez configurer des sous-interfaces qui recevront les paquets destinés à chaque VLAN. Si vous avez besoin de prendre en charge les paquets non marqués, définissez le VLAN qui gère les paquets non marqués comme [VLAN natif] (../layer2-networking/native-vlan.mdx).
Les exemples suivants utilisent eth1 et :
- Un VLAN avec l'ID VLAN
1036et le sous-réseau198.51.100.0/24. - Un VLAN avec l'ID VLAN
2025et le sous-réseau203.0.113.0/24.
- iproute2
- nmcli
iproute2 est un utilitaire de gestion des configurations réseau dans le noyau Linux. Il est inclus dans la plupart des distributions du système d'exploitation Linux.
Dans notre 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.
-
Installez et configurez les prérequis pour les VLAN, si ce n'est 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é enlevé, enlevez-le.
ip link set dev enp1s0f1 nomaster -
Ajoutez de nouvelles sous-interfaces sur
enp1s0f1pour gérer le trafic balisé, une pour chaque VLAN. L'exemple utilise les ID 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 -
Faites apparaître les interfaces et vérifiez qu'elles sont apparues.
ip link set dev enp1s0f1.1036 upip -d link show enp1s0f1.2025ip link set dev enp1s0f1.1036 upip -d link show enp1s0f1.2025
-
En option : Pour que la configuration du réseau soit permanente et survive 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 de gestion des configurations réseau dans Rocky Linux, RHEL et CentOS Streams.
:::note Dans nos images de système d'exploitation, les interfaces ne sont pas aliasées en eth1 et eth0. Dans cet exemple, eth1 dans la console correspond à enp1s0f1 dans le système d'exploitation.
:::
-
Activer la prise en charge des VLAN et des interfaces balisées.
echo 8021q > /etc/modules-load.d/8021q.conf -
Retirez
enp1s0f1de l'obligation.nmcli connection delete "System enp1s0f1" -
Créez une nouvelle connexion qui ajoute une sous-interface sur
enp1s0f1pour gérer le trafic balisé. L'exemple utilise les ID 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 les 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 -
Faites remonter les deux connexions
nmcli con up enp1s0f1.1036nmcli con up enp1s0f1.2025
Vous devrez suivre les mêmes étapes pour tous les serveurs que vous souhaitez attacher aux VLAN, en attribuant des adresses IP différentes à chacun d'entre eux.
Test de la connexion VLAN
Vous devriez maintenant être en mesure de communiquer entre les serveurs de votre réseau VLAN de niveau 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
Retour à la couche 3
Si vous souhaitez revenir au mode Bonded de la couche 3 par défaut, vous devez d'abord supprimer tous les VLAN attribués, puis ajouter eth1 à l'interface bonded.
- Console
- CLI
- API
Pour désassigner un VLAN dans la console, naviguez jusqu'à l'onglet Réseau du serveur. Dans la section Layer 2, sélectionnez le VLAN que vous désassignez du port. Cliquez sur Remove.

Notez que la désaffectation du VLAN ne le supprime PAS de votre projet. Le VLAN continuera d'exister après avoir été désaffecté du port.
Ensuite, pour repasser à la couche 3, cliquez sur Convert To Other Network Type, sélectionnez Layer 3. Cliquez sur Convert to Layer 3 pour lancer le processus.

Désassignez 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ésassignez à --unassign.
metal port vlan --port-id <eth1_id> --unassign <vlan>
Ensuite, renvoyez eth1 au lien avec la commande metal port convert.
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'ID du port eth1 dans le chemin d'accès et l'ID du VLAN dans le corps de la requête. Il peut s'agir de l'UUID du VLAN ou de l'ID du VLAN qui se trouve 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 vrac, dans le cadre d'un processus par lots asynchrone. Envoyez une requête POST au point de terminaison /ports/{id}/vlan-assignments/batches, un tableau d'affectations VLAN dans le corps de la requête et leur état défini sur "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 dans le lien de la couche 3. Envoyez une requête POST au point d'extrémité /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
}'