# Network bonding sur linux

<div class="mw-body-content" id="bkmrk-%C2%A0%5Bmasquer%5D%C2%A0-1%C2%A0redond"><div class="mw-body-content"><div class="mw-content-ltr" dir="ltr" lang="fr"><div class="mw-parser-output"><div class="toc" id="bkmrk-%C2%A0%5Bmasquer%5D%C2%A0-1%C2%A0redond-0"></div></div></div></div></div># <span class="mw-headline" id="bkmrk-redonder-plusieurs-c-0">Redonder plusieurs cartes réseau sous Linux</span>

## <span class="mw-headline" id="bkmrk-modes-bonding-0">Modes bonding</span>

Les modes peuvent être indiqués numériquement ou par des mots clés

<div class="mw-body-content" id="bkmrk-mode%3D0-ou-mode%3Dbalan"><div class="mw-body-content"><div class="mw-content-ltr" dir="ltr" lang="fr"><div class="mw-parser-output">1. mode=0 ou mode=balance-rr : equilibrage de charge
2. mode=1 ou mode=active-backup : sauvegarde active
3. mode=2 ou mode=balance-xor : balance xor
4. mode=3 ou mode=broadcast : broadcast
5. mode=4 ou mode=802.3ad : Norme 802.3ad
6. mode=5 ou mode=balance-tlb : balance TLB
7. mode=6 ou mode=balance-alb : balance ALB

</div></div></div></div>Le paramètre "miimon" (fréquence de monitoring des 2 interfaces, en millisecondes) est le seul paramètre obligatoire.

## <span class="mw-headline" id="bkmrk-sur-debian-0">Sur Debian</span>

Sur Debian vérifier que le paquet ifenslave-2.6 (pour kernel 2.6) est installé.

### <span class="mw-headline" id="bkmrk-configurer-le-r%C3%A9seau-1">Configurer le réseau</span>

Editer /etc/network/interfaces :

```
# network interface settings
auto lo
iface lo inet loopback

auto bond0
iface bond0 inet static
address 192.168.37.110
netmask 255.255.255.0
network 192.168.37.0
broadcast 192.168.37.255
gateway 192.168.37.254
slaves eth0 eth1
```

### <span class="mw-headline" id="bkmrk-charger-le-module-de-1">Charger le module de « bonding » dans le kernel</span>

Ajouter un fichier de configuration pour le module bonding :

```
vi /etc/modprobe.d/aliases-bond
```

Y ajouter :

```
alias bond0 bonding
options bonding mode=1 miimon=100
```

Pour tester, charger le module de « bonding » puis redémarrer le service réseau :

```
# modprobe bonding
# /etc/init.d/networking restart
```

## <span class="mw-headline" id="bkmrk-sur-centos-0">Sur CentOS</span>

### <span class="mw-headline" id="bkmrk-configurer-le-r%C3%A9seau-2">Configurer le réseau</span>

Créer le fichier de configuration de la carte bond0 dans le fichier /etc/sysconfig/network-scripts/ifcfg-bond0 :

```
DEVICE=bond0
IPADDR=192.168.1.100 //votre adresse ip
NETWORK=192.168.1.0 //l’adresse ip de votre reseau
NETMASK=255.255.255.0 //votre masque de sous-réseau
USERCTL=no
BOOTPROTO=none
ONBOOT=yes
```

Editer les fichiers de configuration des différentes cartes réseau (/etc/sysconfig/network-scripts/ifcfg-XXXX).  
Remplacer ou rajouter les lignes suivantes aux fichiers :

```
DEVICE=XXXX //à modifier avec nom de votre carte « eth? »
USERCTL=no
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none
```

### <span class="mw-headline" id="bkmrk-charger-le-module-de-2">Charger le module de « bonding » dans le kernel</span>

Editer le fichier de configuration des modules de kernel /etc/modprobe.conf, y ajouter :

```
alias bond0 bonding
options bond0 mode=balance-alb miimon=100
```

Pour tester, charger le module de « bonding » puis redémarrer le service réseau :

```
# modprobe bonding
# service network restart
```

## <span class="mw-headline" id="bkmrk-v%C3%A9rifications-0">Vérifications</span>

Vérifier que la carte virtuelle est bien démarrée et que les cartes physique lui sont bien liées :

```
# less /proc/net/bonding/bond0
```

Qui retournera une sortie plus ou moins identique à ça :

```
Bonding Mode: load balancing (round-robin)
MII Status: up
MII Polling Interval (ms): 0
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth0
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:50:56:c0:00:08

Slave Interface: eth1
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:50:56:c0:00:01

Slave Interface: eth2
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:50:56:c0:00:03
```

Débrancher les cartes une à une afin de vérifier que le serveur ne perd pas la connexion (en mode 1, active backup. En load balancing le poste client est connecté sur une seule carte à un instant T et il perd quand même la connexion si c'est cette carte-là qui est débranchée : il faudra relancer la connexion).