Skip to main content

Linux Bond

Liaison d'interfaces Linux

En Linux et en BSD, quoi qu'il soit possible d'utiliser le protocole LACP, ces systèmes sont dotés de pilotes permettant de joindre plusieurs interfaces avec différents algorithmes.

Il est généralement possible de configurer ces agrégats de façon actif/passif où certains ports sont en attente pour prendre la relève ou actif/actif où les liens se partagent la charge par différents algorithmes tels que la balance pondérée, round-robin, ou "xor" qui similairement à LACP utilise certains paramètres de connexion pour l'établir exclusivement sur une interface.

Différents systèmes tels que MikroTik RouterOS et Cumulus Linux permettent l'emploi de cette méthode d'agrégation de ports.

En Linux, on parle généralement du lien comme étant un "bond" et les interfaces y étant reliées sont généralement nommées esclaves ou "slaves". Chaque gestionnaire de connexions réseau Linux possède sa propre façon de configurer un agrégat mais il s'agit toujours du même type. Le point important ici est de s'assurer que la même méthode de balance de charge soit utilisée de chaque côté du lien.

Exemple de configuration d'un bond avec NetworkConfiguration (Debian, Ubuntu, etc.)

# Permettre l'activation automatique de l'interface
auto bond0

# Créer l'aggrégation de liens avec une adresse IP statique
iface bond0 inet static
    address 192.168.0.10
    netmask 255.255.255.0
    network 192.168.0.0
    gateway 192.168.0.1

    # Assignation des interfaces
    bond-slaves eth0 eth1

    # Définition de la méthode de balance de charge, balance round-robin dans ce cas
    bond-mode balance-rr

    # Définition des délais de surveillance d'état de lien et de délais d'attente en cas de paquet d'état de lien manqué
    bond-miimon 100
    bond-downdelay 200
    bond-updelay 200

Exemple de configuration d'un bond avec MikroTik RouterOS

# Création de l'agrégat de liens
/interface/bonding/add name=bond0 mode=balance-rr slaves=ether1,ether2

# Assignation d'une adresse IP à l'agrégat
/ip/address/add interface=bond0 address=192.168.0.20/24