Recherche de site Web

Comment configurer l'agrégation de canaux Ethernet sous Linux


Si vous avez deux cartes réseau ou plus (NICs) et que vous vous demandez si vous pouvez les utiliser ensemble pour augmenter la vitesse ou rendre votre connexion réseau plus fiable, vous êtes au bon endroit.

Ce guide explique l'agrégation de liens Ethernet (également appelée NIC teaming ou liaison d'interface) – comment la configurer, comment elle fonctionne et comment elle peut vous aider à équilibrer le trafic ou à prévenir les temps d'arrêt du réseau.

Qu'est-ce que l'agrégation de liens Ethernet ?

En termes simples, la liaison de canaux Ethernet vous permet de combiner plusieurs NIC physiques en un seul NIC virtuel (bond0), qui est une interface virtuelle qui gère le trafic réseau et communique avec les interfaces physiques (comme eth1 et eth2) en coulisses.

Voici ce que vous en tirez :

  • Redondance : Si une interface réseau (NIC) tombe en panne (débranchée ou défaillante), votre serveur continue de fonctionner en utilisant l'autre.
  • Répartition de charge : Le trafic est partagé entre les deux cartes réseau, ce qui peut améliorer les performances dans certains cas.
  • IP unique : Même si vous avez deux cartes réseau, vous n'avez besoin que d'une seule adresse IP pour l'interface agrégée.

Cette configuration est souvent utilisée sur des serveurs, des systèmes de production ou des appliances réseau où la disponibilité et la performance sont essentielles.

Aperçu des modes de liaison

Il y a environ 6 modes de liaison dans Linux, mais pour l'instant, nous ne verrons que les deux plus courants et pratiques :

Mode 0 – Répartition de charge (Round-Robin)

  • Envoie des paquets dans l'ordre sur toutes les interfaces disponibles (eth1, eth2, etc.).
  • Vous offre à la fois une redondance et un gain de performance.
  • Idéal pour un trafic sortant équilibré.
  • Remarque : Votre switch doit le supporter (comme LACP ou l’agrégation de liens statique).

Mode 1 – Actif-Sauvegarde

  • Une seule carte réseau est active à la fois.
  • Si la NIC active échoue, l'autre prend le relais.
  • Vous offre une haute disponibilité (redondance), pas de la vitesse.
  • Aucune configuration spéciale du switch n'est nécessaire.

Prérequis

Avant de commencer, assurez-vous que :

  • Vous êtes sur un système basé sur Red Hat (comme RHEL, Alma Linux, Rocky Linux).
  • Vous avez un accès root ou des privilèges sudo.
  • Vous avez deux cartes réseau : eth1 et eth2.
  • Votre système utilise network-scripts ou NetworkManager.

(Si vous êtes sur Ubuntu/Debian – le bonding se fait via Netplan.

Étape 1 : Charger le module noyau de bonding

Avant que Linux puisse combiner deux cartes réseau ou plus (NIC), il doit charger un logiciel spécial appelé module noyau de bonding.

Par défaut, la plupart des systèmes Linux ont ce module de liaison disponible, mais il n'est pas chargé automatiquement à moins que vous ne lui disiez de le charger.

sudo modprobe bonding

Pour vous assurer que la fonction de liaison est disponible à chaque démarrage de votre système, vous devrez l'enregistrer pour un chargement automatique.

echo "bonding" | sudo tee /etc/modules-load.d/bonding.conf

Pour vérifier si le module est chargé avec succès, utilisez :

lsmod | grep bonding

Étape 2 : Configurer eth1 et eth2 pour l'agrégation

À cette étape, nous préparons chaque interface réseau physique (eth1 et eth2) à rejoindre le groupe de bonding. Pensez à bond0 comme un chef d'équipe, et ces deux interfaces comme ses membres d'équipe (esclaves). Elles ne fonctionneront plus de manière indépendante – elles ne communiqueront que via bond0.

Nous faisons cela en créant ou en modifiant des fichiers de configuration pour chaque interface.

  • /etc/sysconfig/network-scripts/ifcfg-eth1
  • /etc/sysconfig/network-scripts/ifcfg-eth2

Ouvrez maintenant et modifiez le fichier ifcfg-eth1 avec la configuration suivante.

DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes

Faites la même chose pour ifcfg-eth2.

DEVICE=eth2
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes

Sans cette configuration, le noyau ne saurait pas que eth1 et eth2 sont censés fonctionner ensemble. De plus, n'attribuez pas d'adresses IP à eth1 ou eth2. Seul bond0 devrait avoir l'IP. Sinon, le système d'exploitation sera confus en essayant de router le trafic.

Étape 3 : Créer l'interface Bond (bond0)

D'accord, jusqu'à présent, vous avez dit à Linux que eth1 et eth2 devaient agir comme des esclaves, mais les esclaves ont besoin d'un maître, n'est-ce pas ? Ce maître est ce que nous créons ici : une interface agrégée nommée bond0.

Pour l'équilibrage de charge (mode 0) – Créez un fichier de configuration ifcfg-bond0.

vi /etc/sysconfig/network-scripts/ifcfg-bond0

Ajoutez la configuration suivante.

DEVICE=bond0
TYPE=Bond
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
BONDING_OPTS="mode=0 miimon=100"

Pour Active-Backup (mode 1) – Il suffit de changer l'option de bonding :

BONDING_OPTS="mode=1 miimon=100"

Selon votre système :

sudo systemctl restart NetworkManager

Ou, si vous utilisez l'ancien service réseau :

sudo systemctl restart network

Étape 4 : Vérifier l'état du lien

Une fois que vous avez configuré votre configuration de liaison et redémarré votre service réseau, vous voudrez vérifier que la liaison fonctionne correctement.

watch -n 1 cat /proc/net/bonding/bond0

Exemple de sortie pour le mode 0 (Round-Robin) :

Bonding Mode: load balancing (round-robin)
Slave Interface: eth1
Slave Interface: eth2
MII Status: up

Exemple de sortie pour le mode 1 (Actif-Backup) :

Bonding Mode: fault-tolerance (active-backup)
Currently Active Slave: eth1
Slave Interface: eth2

Cela montre quelle carte réseau est active et si les deux connexions sont opérationnelles.

Optionnel : Tester le basculement (mode actif-sauvegarde)

Vous voulez tester ce qui se passe lorsqu'une carte réseau tombe en panne ?

sudo ifconfig eth1 down
eth2 should automatically become active
watch -n 1 cat /proc/net/bonding/bond0

Ramène-le :

sudo ifconfig eth1 up

Vous verrez Linux changer d'interfaces automatiquement sans aucune interruption – c'est la beauté de l'agrégation !

Conseils de dépannage

  • Si bond0 n'apparaît pas, vérifiez à nouveau vos fichiers de configuration et assurez-vous que toutes les interfaces sont activées.
  • Assurez-vous que le module bonding est chargé (lsmod | grep bonding).
  • Pour mode 0, certains commutateurs nécessitent des paramètres d’agrégation de liens de leur côté.
  • Utilisez ip addr au lieu de ifconfig sur les systèmes plus récents.

Comment supprimer l’agrégation de liens Ethernet

Parfois, vous pourriez vouloir supprimer l’agrégation et revenir à l’utilisation de vos cartes réseau individuellement, peut-être pour des tests, le dépannage ou parce que vous reconfigurez le serveur.

sudo systemctl stop NetworkManager
sudo ip link set bond0 down
sudo modprobe -r bonding

Maintenant, allez supprimer les fichiers de configuration qui configurent la liaison :

sudo rm /etc/sysconfig/network-scripts/ifcfg-bond0

De plus, modifiez les fichiers de configuration pour eth1 et eth2 afin de supprimer les lignes MASTER et SLAVE et de les rétablir en tant qu'interfaces autonomes.

Voici à quoi devrait ressembler un fichier ifcfg-eth1 autonome :

DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=dhcp

Ou avec une IP statique :

DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.101
NETMASK=255.255.255.0

Faites de même pour eth2.

Une fois que tout est propre, redémarrez le NetworkManager pour réactiver les interfaces.

sudo systemctl start NetworkManager

Vous pouvez confirmer avec :

ip addr

Vous devriez maintenant voir eth1 et eth2 de nouveau en action, et bond0 devrait avoir disparu.

Conclusion

L'agrégation de liens Ethernet est un outil utile et simple pour améliorer à la fois les performances et la fiabilité du réseau sur vos systèmes Linux. Que vous ayez besoin de répartir le trafic sur plusieurs interfaces réseau ou d'assurer la redondance en cas de défaillance d'une carte réseau, l'agrégation vous permet de tirer le meilleur parti de votre matériel.

En suivant les étapes de ce guide, vous devriez maintenant être capable de configurer le bonding facilement en utilisant deux cartes réseau et choisir entre les modes Équilibrage de charge ou Actif-Secours en fonction de vos besoins.