Mode hybride collé
Equinix Metal™ permet aux utilisateurs de modifier le mode de mise en réseau des serveurs en passant du mode Bonded Layer 3 par défaut à un mode Hybrid Bonded Layer 3 et Layer 2.
Le mode Hybrid Bonded permet une configuration "bonded" hautement disponible de 2 interfaces réseau qui supporte à la fois les modes Layer 2 et Layer 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 qui s'étend sur deux commutateurs en amont différents.

Il s'agit d'un moyen de mettre en œuvre des modèles de réseaux hybrides communs, tels que des pare-feu, des passerelles personnalisées, des contrôleurs d'entrée et d'autres types de proxies qui font face à l'internet d'un côté et à l'infrastructure privée de couche 2 de l'autre.
Vue d'ensemble
- En mode Hybrid Bonded, tout le trafic des couches 3 et 2 est traité sur
bond0. - L'accès Internet de votre serveur est préservé grâce à l'adresse IP publique qui vous est attribuée par Equinix Metal.
- Le trafic de la couche 3 n'est pas marqué.
- Tout le trafic de la couche 2 doit être balisé et traité par des sous-interfaces sur
bond0, une pour chaque VLAN. - Le mode Hybrid Bonded ne prend pas en charge le trafic non marqué de la couche 2 ni la définition d'un VLAN natif.
Activation du mode hybride collé
L'activation du mode Hybrid Bonded peut se faire en assignant un VLAN à l'interface bonded sur votre serveur.
- Console
- CLI
- API
Dans la console Equinix Metal, accédez à l'onglet Network du serveur, cliquez sur Convert To Other Network Type, sélectionnez Hybrid, et choisissez Bonded.
Ensuite, sélectionnez le VLAN dans le menu déroulant, ce qui vous permettra d'attribuer un VLAN à l'interface bond0. Cliquez sur Convert to Hybrid pour lancer les modifications.

Dans la CLI, attribuez un VLAN à l'interface liée, bond0, à l'aide de la commande metal port vlan.
metal ports vlan --port-id <bond0_id> --assign <VLAN_id>
Spécifiez l'UUID de bond0 pour --port-id et le VLAN que vous assignez à --assign.
Dans l'API, vous affectez un VLAN à un port en envoyant un POST au point de terminaison /ports/{id}/assign. Spécifiez l'UUID d'un port dans le chemin. Pour le mode Hybrid Bonded, il doit s'agir de l'UUID de bond0 tel qu'il est renvoyé 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 des serveurs
Une fois le VLAN attribué à bond0, vous devrez configurer le réseau sur le système d'exploitation du serveur. Étant donné que le trafic de la couche 3 et du VLAN passe par bond0, vous devrez créer une sous-interface pour gérer le trafic balisé sur le VLAN. Le mode Hybrid Bonded ne prend pas en charge le trafic VLAN non balisé ni la définition d'un VLAN natif.
Les exemples suivants utilisent un VLAN avec l'ID VLAN 1036 et le sous-réseau 198.51.100.0/24.
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.
- 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.
-
Installer et configurer les prérequis pour les VLAN et les interfaces balisées.
apt-get install vlanmodprobe 8021qecho "8021q" >> /etc/modules -
Ajoutez une nouvelle sous-interface sur
bond0pour gérer le trafic balisé. L'exemple utilise l'ID VLAN1036.ip link add link bond0 name bond0.1036 type vlan id 1036 -
Attribuez une adresse IP du sous-réseau de votre 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'est affichée.
ip link set dev bond0.1036 upip -d link show bond0.1036
-
En option : Pour que la configuration du réseau soit permanente et survive 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 surbond0lorsque le serveur démarre.
nmcli est l'outil CLI pour Network Manager, un utilitaire de gestion des configurations réseau dans Rocky Linux, RHEL et CentOS Streams.
-
Activer la prise en charge des VLAN et des interfaces balisées.
echo 8021q > /etc/modules-load.d/8021q.conf -
Ajoutez une nouvelle sous-interface sur
bond0pour gérer le trafic balisé. L'exemple utilise l'ID VLAN1036.nmcli connection add type vlan con-name bond0.1036 ifname bond0.1036 vlan.parent bond0 vlan.id 1036 -
Attribuez une adresse IP du sous-réseau de votre 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 suivre les mêmes étapes pour tous les serveurs que vous souhaitez attacher au VLAN, en attribuant à chacun d'eux une adresse IP différente du sous-réseau.
Ajout de plusieurs VLAN
L'ajout de plusieurs VLAN à la liaison est possible, il suffit de s'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 à la fois, accédez à la page Réseau du serveur. Dans la section Couche 2, cliquez sur Add New VLAN, pour attribuer le VLAN au port bond0.

Cliquez sur Add pour commencer les modifications. 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.
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 d'attribution d'un VLAN supplémentaire au port dans l'API est la même que pour l'attribution du premier VLAN. Envoyez une requête POST au point de terminaison /ports/{id}/assign, où l'UUID de bond0 est l'ID du port dans le chemin et où le VLAN que vous souhaitez 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 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"
},
]
}'
Le VLAN peut être identifié soit par l'UUID du VLAN, soit par l'ID du VLAN qui se trouve dans la console. Puisque vous assignez le VLAN aux ports, le champ "state" doit être "assigned".
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 être en mesure de communiquer entre les serveurs de votre réseau VLAN de niveau 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
Retour à la couche 3
Pour revenir à la configuration de réseau de couche 3 par défaut, supprimez tous les VLAN de bond0.
- Console
- CLI
- API
Pour désassigner un VLAN d'un port, accédez à l'onglet Réseau du serveur. Dans la section Couche 2, sélectionnez le ou les VLAN que vous détachez du serveur et cliquez sur Remove.

Notez que le fait de détacher le VLAN de ce serveur ne le supprime PAS de votre projet. Le VLAN continuera d'exister après avoir été détaché du serveur.
Dans la CLI, désassignez un VLAN à partir de bond0, avec la commande metal port vlan.
metal ports vlan --port-id <bond0_id> --unassign <vlan>
Spécifiez l'UUID de bond0 pour --port-id et le VLAN que vous désassignez à --unassign.
Si vous supprimez plusieurs VLAN, indiquez 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 voulez désassigner est spécifié 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}/unassign" \
-d '{
"vnid": "<vlan_id>"
}'
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"
}
]
}'
Une fois tous les VLAN supprimés du port, bond0 sera de nouveau en mode couche 3. À partir de là, vous pouvez utiliser n'importe quel autre mode réseau existant.