Créer une NIC bond0
- NIC = Network Interface Card (NIC) ou (Carte d’Interface Réseau)
Salut ! 👋
Si comme moi vous avez un homelab chez vous, vous savez à quel point il est important d’avoir une connexion réseau stable et fiable. C’est là que la NIC bonding en mode active-backup
peut être particulièrement utile.
Cette technique permet de combiner plusieurs interfaces réseau en une seule, tout en ajoutant une couche de tolérance aux pannes en utilisant une interface active et une ou plusieurs interfaces de secours.
En cas de panne de l’interface active, l’une des interfaces de secours prend immédiatement la relève pour assurer la continuité de la connexion réseau. Cela peut être très utile pour votre homelab, où la disponibilité de votre connexion peut être cruciale pour l’accès à vos appareils et services.
J’ai utilisé une configuration de base, l’interface de bonding
bond0
avec deux interfaces esclaves (eth0
eteth1
), une adresse IP statique (192.168.0.10/24
) et un mode de bondingactive-backup
.
Faissons le point sur les différents modes de bonding
Il existe plusieurs modes de bonding, chacun ayant ses propres avantages et inconvénients. Je vais tenter de vous expliqer les différents modes de bonding et comment chacun d’entre eux peut être utilisé dans différents contextes.
Le premier mode de bonding que je vais couvrir est le mode active-backup
. Ce mode permet à un seul adaptateur réseau de fonctionner à la fois, tandis que les autres adaptateurs sont en veille en cas de panne de l’adaptateur actif. Cela signifie que, si l’adaptateur actif tombe en panne, un autre adaptateur prend immédiatement sa place, ce qui garantit une connexion continue. Le mode active-backup
est particulièrement utile pour les applications critiques qui nécessitent une connexion stable et fiable.
Le deuxième mode de bonding que je vais couvrir est le mode balance-tlb
. Ce mode utilise tous les adaptateurs réseau de manière équitable, en répartissant la charge de travail entre eux. Cela peut être particulièrement utile si vous avez besoin de plus de bande passante et que vous disposez de plusieurs adaptateurs réseau de haute performance. Le mode balance-tlb
est également utile pour les applications de stockage en réseau, car il permet d’accéder à plusieurs disques durs en même temps.
Le troisième mode de bonding que je vais couvrir est le mode balance-alb
. Ce mode est similaire au mode balance-tlb
, mais il prend en compte les paquets de données de manière plus intelligente. Au lieu de répartir la charge de travail de manière équitable entre les adaptateurs réseau, le mode balance-alb
envoie les paquets de données sur l’adaptateur le moins chargé, ce qui permet d’éviter les goulots d’étranglement et de maximiser l’utilisation de la bande passante. Le mode balance-alb
est particulièrement utile pour les applications de transfert de fichiers volumineux.
Il existe plusieurs modes de bonding, chacun ayant ses propres avantages et inconvénients. Selon vos besoins en termes de performance, de stabilité et de scalabilité, vous devrez peut-être expérimenter avec différents modes de bonding pour trouver celui qui convient le mieux à votre environnement.
Avec systemd-networkd
- Créez un fichier dit de Périphérique de Réseau Virtuel (virtual network device) nommé
bond0.netdev
dans le répertoire/etc/systemd/network
et ajoutez les lignes suivantes :
1# /etc/systemd/network/bond0.netdev
2[NetDev]
3Name=bond0
4Kind=bond
5
6[Bond]
7Mode=active-backup
8MIIMonitorSec=1
9PrimaryReselectPolicy=always
- Créez un fichier de configuration nommé
bond0.network
dans le répertoire/etc/systemd/network
et ajoutez les lignes suivantes :
1# /etc/systemd/network/bond0.network
2[Match]
3Name=bond0
4
5[Network]
6Address=192.168.0.10/24
7Bond=bond0
- Créez un autre fichier de configuration nommé
eth0.network
dans le répertoire/etc/systemd/network
et ajoutez les lignes suivantes :
1# /etc/systemd/network/eth0.network
2[Match]
3Name=eth0
4
5[Network]
6Bond=bond0
7# PrimarySlave doit être exclusivement présente dans la configuration
8# de l'interface "eth0" si elle est votre interface primaire.
9PrimarySlave=true
- Répéter l’étape
3
poureth1
Enregistrez et fermez tous les fichiers de configuration.
Redémarrez le service systemd-networkd
avec la commande suivante :
1systemctl restart systemd-networkd
Votre NIC bond0
est maintenant configurée avec les interfaces eth0
et eth1
comme slaves.
Vous devriez être en mesure de vérifier la configuration en utilisant la commande networkctl
ou en consultant les fichiers de configuration dans le répertoire /etc/systemd/network
.
Avec ifupdown2
- Ouvrez le fichier de configuration des interfaces réseaux, généralement situé dans
/etc/network/interfaces
et ajoutez les lignes suivantes pour définir l’interfacebond0
:
1auto eth0
2iface eth0 inet manual
3
4auto eth1
5iface eth1 inet manual
6
7auto bond0
8iface bond0 inet static
9 address 192.168.0.10
10 netmask 255.255.255.0
11 bond-slaves eth0 eth1
12 bond-mode active-backup
13 bond-miimon 1000
14 bond-primary eth0
Ceci définit l’adresse IP de mon bond0
(192.168.0.10), le masque de sous-réseau (255.255.255.0 donc un /24), les interfaces esclaves (eth0 et eth1), le mode de bonding (active-backup), le délai de contrôle des interfaces esclaves (1 sec) et l’interface esclave primaire (eth0).
- Redémarrez le gestionnaire de réseau avec la commande
sudo systemctl restart networking
pour appliquer les modifications.
Vous devriez être en mesure de vérifier la configuration en utilisant la commande ip -c addr
.
Avec netplan
- Ouvrez votre fichier de configuration de réseau
/etc/netplan/01-bond0.yaml
et ajoutez les lignes suivantes dans votre fichier de configuration pour définir votrebond0
:
Relevez les adresses MAC des NIC eth0 et eth1 avec la commad ip link
1# /etc/netplan/01-bond0.yaml
2network:
3 version: 2
4 bonds:
5 bond0:
6 interfaces:
7 - "eth0"
8 - "eth1"
9 addresses:
10 - "192.168.0.10/24"
11 parameters:
12 mode: "active-backup"
13 primary: "eth0"
14 miimon: 100
15 ethernets:
16 eth0:
17 match:
18 macaddress: "00:11:22:33:44:55"
19 set-name: "eth0"
20 eth1:
21 match:
22 macaddress: "66:77:88:99:aa:bb"
23 set-name: "eth1"
- Enregistrez et fermez votre fichier de configuration.
- Générez et appliquez votre configuration de réseau :
1sudo netplan generate
2sudo netplan apply
Vous devriez maintenant avoir une NIC bond0
active-backup avec eth0 et eth1 comme slaves et configurée pour le sous-réseau 192.168.0.10/24, vérifiez la configuration en utilisant la commande ip -c addr
.
En utilisant la NIC bonding en mode active-backup, vous pouvez être sûr que votre connexion sera toujours disponible, même en cas de problème avec une de vos interfaces réseau.
Enjoy! 😉