Mode hybride lié
Equinix Metal™ permet aux utilisateurs de modifier le mode réseau des serveurs du mode par défaut Layer 3 Bonded à un mode hybride Layer 3 et Layer 2 Bonded.
Le mode hybride lié permet une configuration « liée » hautement disponible de deux interfaces réseau prenant en charge simultanément les modes de couche 2 et 3. Cela permet de conserver la fonctionnalité de prise en charge des couches 2 et 3, tout en conservant une interface réseau liée hautement disponible couvrant deux commutateurs en amont distincts.

Il s’agit d’un moyen de mettre en œuvre des modèles de réseau cloud hybride courants tels que l’exécution de pare-feu, de passerelles personnalisées, de contrôleurs d’entrée et d’autres types de proxys qui font face à Internet d’un côté et à une infrastructure privée de couche 2 de l’autre côté.
Aperçu général
- En mode hybride lié, tout le trafic de couche 3 et de couche 2 est géré sur
bond0. - L'accès Internet de votre serveur est préservé via votre adresse IP publique attribuée par Equinix Metal .
- Le trafic de couche 3 n'est pas balisé.
- Tout le trafic de couche 2 doit être étiqueté et géré par des sous-interfaces sur
bond0, une pour chaque VLAN. - Le mode hybride lié ne prend pas en charge le trafic de couche 2 non balisé ni la définition d'un VLAN natif.
Activation du mode hybride lié
L'activation du mode hybride lié peut être effectuée en attribuant un VLAN à l'interface liée sur votre serveur.
- Console
- CLI
- API
Dans la console Equinix Metal, allez à l'onglet Réseau du serveur, cliquez sur Convertir en un autre type de réseau, sélectionnez Hybride et choisissez Agrégé.
Sélectionnez ensuite le VLAN dans la liste déroulante pour l'attribuer à l'interface bond0. Cliquez sur Convertir en hybride pour appliquer les modifications.

Dans l'interface de ligne de commande (CLI), attribuez un VLAN à l'interface liée, bond0, avec la commande metal port vlan.
metal ports vlan --port-id <bond0_id> --assign <VLAN_id>
Spécifiez l'UUID de bond0 pour le --port-id et le VLAN que vous attribuez à --assign.
Dans l'API, vous assignez un VLAN à un port en envoyant POST au point de terminaison /ports/{id}/assign. Spécifiez l'UUID du port dans le chemin. En mode Hybrid Bonded, il doit s'agir de l'UUID de bond0 retourné par le point de terminaison /devices/{id}.
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>"
}'
Paramètres du corps:
"vnid"(required) - The ID of the VLAN. The ID can be either the VLAN's UUID as returned by the/projects/{id}/virtual-networksendpoint, or the VLAN ID that is in the console.
Configuration de vos serveurs
Une fois le VLAN attribué à bond0, vous devrez configurer le réseau sur le système d'exploitation du serveur. Le trafic de couche 3 et celui du VLAN passant par bond0, vous devrez créer une sous-interface pour gérer le trafic étiqueté sur le VLAN. Le mode Hybrid Bonded ne prend pas en charge le trafic VLAN non étiqueté ni la configuration d'un VLAN natif.
Les exemples suivants utilisent un VLAN avec l'ID de VLAN 1036 et le sous-réseau 198.51.100.0/24.
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.
- iproute2
- nmcli
iproute2 est un utilitaire de gestion des configurations réseau du noyau Linux. Il est inclus dans la plupart des distributions Linux.
-
Installez et configurez les prérequis pour les VLAN et les interfaces balisées.
apt-get install vlanmodprobe 8021qecho "8021q" >> /etc/modules -
Ajoutez une nouvelle sous-interface à
bond0pour gérer le trafic étiqueté. L'exemple utilise l'ID de VLAN1036.ip link add link bond0 name bond0.1036 type vlan id 1036 -
Attribuez une adresse IP de votre sous-réseau VLAN à la sous-interface. L'exemple utilise l'adresse IP
198.51.100.2.ip addr add 198.51.100.2/24 dev bond0.1036 -
Affichez l'interface et vérifiez qu'elle s'affiche.
ip link set dev bond0.1036 upip -d link show bond0.1036
-
Optionnel: Pour rendre la configuration réseau permanente et survivre aux redémarrages du serveur, ajoutez la nouvelle sous-interface au fichier
/etc/network/interfaces.auto bond0.1036iface bond0.1036 inet staticpre-up sleep 5address 198.51.100.2/24netmask 255.255.255.0vlan-raw-device bond0Remarque: La ligne
pre-up sleep 5permet d'éviter les conflits surbond0lors du démarrage du serveur.
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.
-
Activer la prise en charge du VLAN et de l'interface balisée.
echo 8021q > /etc/modules-load.d/8021q.conf -
Ajoutez une nouvelle sous-interface à
bond0pour gérer le trafic étiqueté. L'exemple utilise l'ID de VLAN1036.nmcli connection add type vlan con-name bond0.1036 ifname bond0.1036 vlan.parent bond0 vlan.id 1036 -
Attribuez une adresse IP de votre sous-réseau VLAN à la sous-interface. L'exemple utilise l'adresse IP
198.51.100.3.nmcli connection modify bond0.1036 ipv4.addresses '198.51.100.3/24'nmcli connection modify bond0.1036 ipv4.method manualnmcli con up bond0.1036
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 du sous-réseau à chacun.
Ajout de plusieurs VLAN
L'ajout de plusieurs VLAN à la liaison est pris en charge, il vous suffit de vous assurer qu'il existe une sous-interface qui recevra les paquets destinés à chaque VLAN.
- Console
- CLI
- API
Pour attribuer un autre VLAN, ou plusieurs VLAN simultanément, allez à la page Réseau du serveur. Dans la section Couche 2, cliquez sur Ajouter un nouveau VLAN pour assigner le VLAN au port bond0.

Cliquez sur Ajouter pour commencer les modifications. Veuillez noter que si vous attribuez plusieurs VLAN simultanément, ils seront ajoutés par un processus par lots asynchrone, qui démarre immédiatement, mais peut prendre un certain temps.
Pour attribuer un ou plusieurs autres VLAN, utilisez la commande metal port vlan et spécifiez chaque VLAN que vous attribuez à bond0.
metal port vlan --port-id <bond0_id> --assign <vlan> --assign <vlan>
La procédure pour attribuer un VLAN supplémentaire au port dans l'API est identique à celle utilisée pour l'attribution du premier VLAN. Envoyez une requête POST au point de terminaison /ports/{id}/assign, où l'UUID de bond0 correspond à l'identifiant du port dans le chemin et le VLAN à attribuer est spécifié 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}/assign" \
-d '{
"vnid": "<vlan_id>"
}'
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"
},
]
}'
Le VLAN peut être identifié par son UUID ou par l'ID du VLAN affiché dans la console. Puisque vous assignez le VLAN aux ports, le champ "state" doit être défini sur « assigné ».
Une fois les VLAN attribués à bond0, répétez le processus de configuration de vos serveurs pour créer les sous-interfaces étiquetées supplémentaires pour chaque VLAN.
Test de la connexion VLAN
Vous devriez maintenant pouvoir communiquer entre les serveurs de votre réseau VLAN de couche 2.
root@dev-02:~# 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.898 ms
64 bytes from 198.51.100.2: icmp_seq=2 ttl=64 time=0.659 ms
64 bytes from 198.51.100.2: icmp_seq=3 ttl=64 time=0.649 ms
64 bytes from 198.51.100.2: icmp_seq=4 ttl=64 time=0.421 ms
^C
--- 198.51.100.2 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3037ms
Reconversion vers la couche 3
Pour revenir à la configuration réseau de couche 3 par défaut, supprimez tous les VLAN de bond0.
- Console
- CLI
- API
Pour dissocier un VLAN d'un port, allez à l'onglet Réseau du serveur. Dans la section Couche 2, sélectionnez le ou les VLAN à dissocier du serveur et cliquez sur Supprimer.

Notez que la dissociation du VLAN de ce serveur ne le supprime PAS de votre projet. Le VLAN continuera d'exister après sa dissociation du serveur.
Dans l'interface de ligne de commande (CLI), désassignez un VLAN de bond0 avec la commande metal port vlan.
metal ports vlan --port-id <bond0_id> --unassign <vlan>
Spécifiez l'UUID de bond0 pour le --port-id et le VLAN que vous désassignez à --unassign.
Si vous supprimez plusieurs VLAN, spécifiez chaque VLAN que vous supprimez.
metal port vlan --port-id <bond0_id> --unassign <vlan> --unassign <vlan>
Dans l'API, vous désassignez un VLAN d'un port en envoyant un POST au point de terminaison /ports/{id}/unassign, où l'UUID de bond0 est l'ID du port dans le chemin et le VLAN que vous souhaitez désassigner est spécifié 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}/unassign" \
-d '{
"vnid": "<vlan_id>"
}'
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"
}
]
}'
Une fois tous les VLAN supprimés du port, bond0 repassera en mode couche 3. Vous pourrez alors utiliser n'importe quel autre mode réseau existant.