Aller au contenu
Administration Linux medium

Agréger des liens réseau : bond et bridge sous Linux

10 min de lecture

Un serveur sérieux ne pend pas à un seul câble : le bonding agrège deux liens physiques en une interface unique, tolérante à la panne, et le bridge en fait un commutateur logiciel pour vos machines virtuelles. Ce guide configure les deux sous Linux avec netplan : un bond en mode active-backup (redondance), puis un bridge par-dessus. Vous vérifiez l'agrégation avec /proc/net/bonding, et vous prouvez la bascule en coupant le lien actif : le trafic continue sur l'autre. Toutes les sorties viennent d'un lab réel (Ubuntu 24.04, deux liens dédiés). Public visé : administrateurs qui montent un serveur redondant ou un hôte de virtualisation.

Le bonding et le bridge sont des objectifs LFCS (domaine Networking). Ce guide en est la mise en pratique de bout en bout.

  • Distinguer un bond (agrégation de liens) d'un bridge (commutateur logiciel).
  • Créer un bond en mode active-backup avec netplan.
  • Poser un bridge par-dessus le bond, pour y raccorder des VM.
  • Vérifier l'état avec /proc/net/bonding et ip.
  • Prouver la tolérance de panne par une bascule réelle.
  • Un serveur Linux avec au moins trois interfaces : une pour l'administration (ici eth0, qui porte le SSH et qu'on ne touche pas), et deux liens à agréger (ici ens19 et ens20).
  • netplan (Ubuntu 18.04+, Debian avec netplan). Les équivalents NetworkManager/nmcli (RHEL) et systemd-networkd sont signalés.
  • Les droits sudo.

On les confond souvent, alors qu'ils répondent à deux besoins opposés :

  • Un bond (ou bonding, link aggregation) fusionne plusieurs liens physiques en une seule interface logique. But : la redondance (si un câble ou un switch tombe, l'autre prend le relais) ou le débit (additionner la bande passante). Il agit vers le bas, côté matériel.
  • Un bridge est un commutateur réseau logiciel : il connecte plusieurs interfaces (physiques, VM, conteneurs) sur un même segment. But : donner un accès réseau à des machines virtuelles. Il agit vers le haut, côté machines.

Les deux se combinent : un bond pour la redondance en bas, un bridge sur le bond pour raccorder les VM en haut. C'est l'architecture réseau classique d'un hôte de virtualisation.

Le mode détermine comment les liens coopèrent. Trois sont courants :

ModeComportementQuand
active-backup (mode 1)Un lien actif, l'autre en secoursRedondance simple, aucun réglage côté switch
802.3ad (mode 4, LACP)Les liens s'additionnent, négociés en LACPDébit + redondance, switch compatible LACP requis
balance-rr (mode 0)Répartition paquet par paquetDébit maximal, mais risque de déséquencement

Ce guide utilise active-backup : c'est le plus robuste et le seul qui ne demande aucune configuration sur le commutateur en face. Parfait pour se protéger d'une panne de switch ou de câble.

Créez un fichier netplan dédié (sans toucher à celui de cloud-init qui gère l'administration). Il déclare les deux liens, le bond, puis le bridge.

/etc/netplan/60-bond.yaml
network:
version: 2
ethernets:
ens19:
dhcp4: false
ens20:
dhcp4: false
bonds:
bond0:
interfaces: [ens19, ens20]
parameters:
mode: active-backup
primary: ens19
mii-monitor-interval: 100
bridges:
br0:
interfaces: [bond0]
addresses: [10.10.0.1/24]

Deux paramètres méritent un mot. primary: ens19 désigne le lien préféré : il reprend la main dès qu'il revient. mii-monitor-interval: 100 dit au noyau de surveiller l'état des liens toutes les 100 ms ; c'est ce qui permet la bascule rapide.

Appliquez la configuration :

Fenêtre de terminal
sudo netplan apply

Un coup d'œil aux interfaces montre la hiérarchie complète : deux esclaves, un maître, un pont.

Fenêtre de terminal
ip -br link show
eth0 UP bc:24:11:1e:d3:37 <BROADCAST,MULTICAST,UP,LOWER_UP>
ens19 UP aa:06:70:cb:79:2d <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP>
ens20 UP aa:06:70:cb:79:2d <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP>
bond0 UP aa:06:70:cb:79:2d <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP>
br0 UP 86:2d:8f:28:10:2b <BROADCAST,MULTICAST,UP,LOWER_UP>

Notez que ens19 et ens20 partagent la même adresse MAC (aa:06:...), celle du bond : de l'extérieur, les deux liens ne forment qu'une seule interface. Le détail vit dans un fichier du noyau :

Fenêtre de terminal
cat /proc/net/bonding/bond0
Bonding Mode: fault-tolerance (active-backup)
Primary Slave: ens19 (primary_reselect always)
Currently Active Slave: ens19
MII Status: up
Slave Interface: ens20
MII Status: up
Slave Interface: ens19
MII Status: up

Le mode est confirmé (active-backup), le lien actif est ens19, et les deux esclaves sont sains (MII Status: up). Le bridge br0, lui, porte l'adresse IP :

Fenêtre de terminal
ip -br addr show br0
br0 UP 10.10.0.1/24 ...

C'est le test qui compte : que se passe-t-il si un lien tombe ? Simulons la panne du lien actif.

Fenêtre de terminal
sudo ip link set ens19 down

Le noyau détecte la perte en moins de 100 ms et bascule sur le lien de secours :

Fenêtre de terminal
cat /proc/net/bonding/bond0
Currently Active Slave: ens20
Slave Interface: ens20
MII Status: up
Slave Interface: ens19
MII Status: down

Le lien actif est devenu ens20, ens19 est down, et surtout le bond reste UP :

Fenêtre de terminal
ip -br link show bond0
bond0 UP aa:06:70:cb:79:2d <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP>

Aucune coupure de service : le trafic est simplement passé sur l'autre câble. Quand ens19 revient, il reprend la main (grâce à primary) :

Fenêtre de terminal
sudo ip link set ens19 up
# Currently Active Slave: ens19

C'est toute la valeur du bond : une panne de câble, de port de switch ou de carte devient invisible pour les services.

La famille Red Hat gère le réseau avec NetworkManager. La même agrégation se crée avec nmcli :

Fenêtre de terminal
sudo nmcli connection add type bond ifname bond0 bond.options "mode=active-backup,miimon=100"
sudo nmcli connection add type ethernet ifname ens19 master bond0
sudo nmcli connection add type ethernet ifname ens20 master bond0
sudo nmcli connection add type bridge ifname br0
sudo nmcli connection modify bond0 master br0 slave-type bridge

Le concept est identique : deux esclaves, un bond, un bridge. Seul l'outil de configuration change ; /proc/net/bonding/bond0 reste la source de vérité.

  • Gardez une interface d'administration hors du bond : elle vous sauve si la configuration réseau part de travers.
  • Vérifiez le mode côté switch : 802.3ad exige du LACP configuré en face, sinon le lien reste inutilisable. active-backup n'a pas cette contrainte.
  • Testez la bascule avant la production : un bond qui n'a jamais basculé est un bond dont vous ignorez s'il bascule.
  • Surveillez /proc/net/bonding : un esclave en MII Status: down silencieux vous laisse sans redondance sans le savoir.
SymptômeCause probableSolution
Le bond reste DOWNAucun esclave up, ou switch en LACP attenduVérifier /proc/net/bonding, passer en active-backup
Perte de la main après netplan applyInterface SSH intégrée au bondRepartir de la console, sortir l'interface d'admin
Pas de bascule à la coupuremii-monitor-interval absentAjouter mii-monitor-interval: 100
802.3ad sans débit supplémentaireLACP non négocié côté switchConfigurer le port-channel sur le switch
Le bridge ne passe pas le traficbond0 non membre du bridgeVérifier interfaces: [bond0] sous bridges

Un bond qui n'a jamais basculé sous vos yeux reste une promesse sur le papier. Le lab reprend le scénario côté Red Hat : vous montez un bond active-backup sous un bridge avec nmcli, puis vous coupez le lien actif et observez la bascule dans /proc/net/bonding.

Vérifiez que l'essentiel de ce guide est acquis. Les questions portent uniquement sur ce qui vient d'être expliqué ici.

Contrôle de connaissances

Validez vos connaissances avec ce quiz interactif

6 questions
6 min.
70% requis

Informations

  • Le chronomètre démarre au clic sur Démarrer
  • Questions à choix multiples, vrai/faux et réponses courtes
  • Vous pouvez naviguer entre les questions
  • Les résultats détaillés sont affichés à la fin

Lance le quiz et démarre le chronomètre

  • Un bond agrège des liens physiques (redondance/débit) ; un bridge est un commutateur logiciel pour les VM. Les deux se combinent.
  • active-backup est le mode le plus robuste : redondance sans aucun réglage côté switch.
  • netplan déclare tout dans un fichier ; /proc/net/bonding/bond0 est la source de vérité de l'état.
  • La bascule se prouve en coupant le lien actif : le lien de secours prend le relais, le bond reste UP.
  • primary fait reprendre la main au lien préféré ; mii-monitor-interval conditionne la vitesse de détection.
  • Ne mettez jamais l'interface d'administration dans le bond avant d'avoir validé la configuration.

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracking. Un soutien, même symbolique, m'aide à couvrir l'hébergement et à garder ces ressources gratuites. Merci pour votre appui.

Le formulaire ne s'affiche pas ? Ouvrir Ko-fi dans un onglet.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn