Configurer l'agrégation de liens LACP sur votre serveur Debian 9 à 11 avec ifupdown
Objectif
L'agrégation de liens augmente la disponibilité de votre serveur et améliore l'efficacité de vos connexions réseau. En agrégeant vos interfaces réseau, vous rendez vos liens réseau redondants : si un lien tombe en panne, le trafic est automatiquement redirigé vers un autre lien disponible. La bande passante disponible est également augmentée grâce à l'agrégation.
L'agrégation repose sur la technologie IEEE 802.3ad, Link Aggregation Control Protocol (LACP).
Ce guide explique comment configurer l'agrégation de liens LACP sous Debian 9 à 11 (configuration ifupdown).
Warning
Ce guide fournit des instructions pour configurer l'agrégation d'interfaces réseau spécifiquement avec ifupdown, dont le fichier de configuration se trouve à l'emplacement /etc/network/interfaces. Il est aussi applicable au mode rescue.
Si la configuration réseau de votre système utilise plutôt Netplan (Debian 12 ou plus récent, Ubuntu 24.04 ou plus récent), veuillez vous référer à ce guide.
Prérequis
Un serveur dédié disposant de plusieurs interfaces réseau. Sur les gammes Scale et High Grade, les agrégations publique et privée sont activées par défaut. Sur les autres gammes, vous devez d'abord activer OLA pour agréger vos interfaces.
Accès à l’espace client OVHcloud
Lien direct :
Pour accéder à vos services :Bare Metal Cloud > Serveurs dédiés > Sélectionnez votre serveur
Warning
Vous devez installer le paquet ifenslave sur votre serveur avant de configurer l'agrégation d'interfaces. Pour ce faire, utilisez la commande suivante :
apt install ifenslave
Si vous configurez une agrégation entièrement privée (OLA), le serveur n'a plus de connectivité publique et vous ne pourrez pas y accéder en SSH. Dans tous les cas, votre connexion peut être interrompue pendant la configuration de l'agrégat : nous vous recommandons donc d'utiliser la console IPMI/KVM pour accéder au serveur.
Maintenant que vous savez quelles adresses MAC sont associées à chaque type (public/privé) d'interface, vous devez récupérer les noms des interfaces.
Récupération des noms d'interfaces
Info
Cette commande retournera plusieurs « interfaces ». Si vous avez du mal à identifier vos NIC physiques, la première interface aura toujours l’adresse IP publique du serveur assignée par défaut.
Pour récupérer les noms des interfaces, lancez la commande suivante :
ip a
Info
Pour le paramètre hwaddress, utilisez l'adresse MAC de l'interface de secours LACP de l’agrégat. Pour un agrégat public, vous pouvez l'obtenir via le champ aggregationFallback de l'interface public renvoyé par la route d'API ci-dessous :
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host noprefixroute valid_lft forever preferred_lft forever2: ens22f0np0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether a1:b2:c3:d4:e5:c6 brd ff:ff:ff:ff:ff:ff inet 203.0.113.1/32 metric 100 scope global dynamic ens22f0np0 valid_lft 71613sec preferred_lft 71613sec inet6 2001:db8:1:1b00:203:0:112:0/56 scope global valid_lft forever preferred_lft forever inet6 fe80::a6b2:c3ff:fed4:e5c6/64 scope link valid_lft forever preferred_lft forever3: ens22f1np1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether a1:b2:c3:d4:e5:c7 brd ff:ff:ff:ff:ff:ff4: ens33f0np0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether a1:b2:c3:d4:e5:d6 brd ff:ff:ff:ff:ff:ff5: ens33f1np1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether a1:b2:c3:d4:e5:d7 brd ff:ff:ff:ff:ff:ff
Une fois que vous avez déterminé les noms de vos interfaces, vous pouvez configurer l'agrégation d'interfaces dans le système d'exploitation.
Configuration de l'agrégation d'interfaces
Sélectionnez l'onglet ci-dessous correspondant à la configuration de votre serveur :
Deux interfaces : serveurs Advance avec deux cartes réseau physiques.
Quatre interfaces (par défaut) : les serveurs Scale et High Grade sont livrés avec des agrégats public et privé déjà configurés. Aucune action n'est requise dans l'espace client OVHcloud.
Quatre interfaces (entièrement privé / OLA) : toutes les interfaces sont regroupées en un seul agrégat privé (vRack). Cela nécessite l'activation d'OLA dans l'espace client OVHcloud.
Deux interfaces
Quatre interfaces (par défaut)
Quatre interfaces (entièrement privé / OLA)
Remplacez le contenu de /etc/network/interfaces par ce qui suit :
auto bond0iface bond0 inet static address 203.0.113.1/32 gateway 100.64.0.1 # Adresse MAC de l'interface publique principale du serveur hwaddress ether a1:b2:c3:d4:e5:c6 bond-mode 802.3ad bond-slaves ens22f0np0 ens22f1np1 bond-lacp-rate fast bond-xmit_hash_policy layer3+4 dns-nameservers 213.186.33.99 up ip -6 addr add 2001:db8:1:1b00:203:0:112:0/56 dev bond0 up ip -6 route add default via fe80::1 dev bond0
DHCP
auto bond0iface bond0 inet dhcp # Adresse MAC de l'interface publique principale du serveur hwaddress ether a1:b2:c3:d4:e5:c6 bond-mode 802.3ad bond-slaves ens22f0np0 ens22f1np1 bond-lacp-rate fast bond-xmit_hash_policy layer3+4 up ip -6 addr add 2001:db8:1:1b00:203:0:112:0/56 dev bond0 up ip -6 route add default via fe80::1 dev bond0
Cette configuration lie les interfaces publiques dans bond0 (avec l'IP publique) et les interfaces privées dans bond1 (pour le vRack).
Remplacez le contenu de /etc/network/interfaces par ce qui suit :
IP fixe
auto bond0iface bond0 inet static address 203.0.113.1/32 gateway 100.64.0.1 # Adresse MAC de l'interface publique principale du serveur hwaddress ether a1:b2:c3:d4:e5:c6 bond-mode 802.3ad bond-slaves ens22f0np0 ens22f1np1 bond-lacp-rate fast bond-xmit_hash_policy layer3+4 dns-nameservers 213.186.33.99 up ip -6 addr add 2001:db8:1:1b00:203:0:112:0/56 dev bond0 up ip -6 route add default via fe80::1 dev bond0# Optionnel : configuration de l'agrégat privéauto bond1iface bond1 inet static address 10.0.0.1/24 # Adresse MAC de l'interface privée principale du serveur hwaddress ether a1:b2:c3:d4:e5:d6 bond-mode 802.3ad bond-slaves ens33f0np0 ens33f1np1 bond-lacp-rate fast bond-xmit_hash_policy layer3+4
DHCP
auto bond0iface bond0 inet dhcp # Adresse MAC de l'interface publique principale du serveur hwaddress ether a1:b2:c3:d4:e5:c6 bond-mode 802.3ad bond-slaves ens22f0np0 ens22f1np1 bond-lacp-rate fast bond-xmit_hash_policy layer3+4 up ip -6 addr add 2001:db8:1:1b00:203:0:112:0/56 dev bond0 up ip -6 route add default via fe80::1 dev bond0# Optionnel : configuration de l'agrégat privéauto bond1iface bond1 inet static address 10.0.0.1/24 # Adresse MAC de l'interface privée principale du serveur hwaddress ether a1:b2:c3:d4:e5:d6 bond-mode 802.3ad bond-slaves ens33f0np0 ens33f1np1 bond-lacp-rate fast bond-xmit_hash_policy layer3+4
Cette configuration agrège toutes les interfaces physiques en un seul agrégat pour une utilisation vRack uniquement. Il n'y a pas de connectivité IP publique.
Warning
Une fois OLA (entièrement privé) activé, l'IP publique n'est plus accessible. Assurez-vous de disposer d'un moyen d'accès alternatif (par exemple via un autre serveur dans le vRack, ou via KVM/IPMI) avant d'appliquer cette configuration.
Remplacez le contenu de /etc/network/interfaces par ce qui suit :
auto bond0iface bond0 inet static address 10.0.0.1/24 # Adresse MAC de l'interface privée principale du serveur hwaddress ether a1:b2:c3:d4:e5:d6 bond-mode 802.3ad bond-slaves ens22f0np0 ens22f1np1 ens33f0np0 ens33f1np1 bond-lacp-rate fast bond-xmit_hash_policy layer3+4
Info
Dans la configuration entièrement privée (OLA), l'agrégat utilise l'adresse MAC de l'interface privée principale. Le champ address doit être défini avec votre IP privée vRack.
Application de la configuration
Appliquez la configuration en redémarrant le service réseau :
systemctl restart networking
Ce redémarrage peut prendre plusieurs secondes car il met en place l'interface d'agrégation. Pour vérifier que l'agrégat fonctionne, pingez un autre serveur sur le même vRack. Si cela fonctionne, la configuration est correcte. Si ce n'est pas le cas, vérifiez vos configurations ou essayez de redémarrer le serveur.