Toujours avec mon joujou, ce matin j'ai mis en place le bonding et par dessus la couche vlan. Je ne vais pas vous détailler ce que c'est, si vous faites des recherches sur le sujet c'est que vous savez où vous allez. Je vais juste vous donner la configuration.
Première étape créer vos vlan sur les switchs. Oui histoire de compliquer un peu la tâche j'ai deux switchs, deux vlan différents et quatre interfaces réseaux sur mon serveur.
Deuxième étape : Tout noter sur un papier ;)
- vlan id 2 va être raccorder avec les interfaces eth0 et eth2;
- vlan id 7 va être raccorder avec les interfaces eth1 et eth3.
Mon serveur est sous RedHat 5.5, je vous laisse adapter suivant votre distribution. Copier les fichiers ifcfg-eth* dans un autre répertoire pour les sauvegarder. Maintenant nous allons les éditer :
Troisième étape : créer le bonding ou l'agrégation de liens.
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 USERCTL=no ONBOOT=yes BOOTPROTO=none MASTER=bond1 SLAVE=yes TYPE=Ethernet
/etc/sysconfig/network-scripts/ifcfg-eth2
DEVICE=eth2 ONBOOT=yes BOOTPROTO=none USERCTL=no MASTER=bond1 SLAVE=yes TYPE=Ethernet
Créer un fichier ifcfg-bond1 et copier le contenue
DEVICE=bond1 ONBOOT=yes BOOTPROTO=none USERCTL=no TYPE=Bonding
Ajouter la couche vlan, créer un fichier ifcfg-bond1.2, le .2 correspond au vlan id 2. Éditer le et copier le contenue :
DEVICE=bond1.2 ONBOOT=yes BOOTPROTO=static IPADDR=192.168.5.18 NETMASK=255.255.255.0 GATEWAY=192.168.5.254 USERCTL=no VLAN=yes TYPE=Bonding
Modifier votre fichier /etc/modprobe.conf pour ajouter le module de bonding
alias bond0 bonding options bond0 miimom=100 mode=0 arp_interval=1000 arp_ip_target=192.168.5.254
Relancer votre réseaux
service network reload
Faite vos essais en lançant un ping, si ça répond faite le test en débranchant un câble, normalement vous devriez avoir un message qui vous dit qu'une interface est débranché mais le ping devrait continuer.
Notre premier lien est créé, reste plus qu'à faire de même avec notre deuxième lien. /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1 ONBOOT=yes BOOTPROT=none MASTER=bond0 SLAVE=yes USERCTL=no TYPE=Ethernet
/etc/sysconfig/network-scripts/ifcfg-eth3
DEVICE=eth3 ONBOOT=yes BOOTPROTO=none USERCTL=no MASTER=bond0 SLAVE=yes TYPE=Ethernet
Créer un fichier ifcfg-bond0 et copier le contenue
DEVICE=bond0 ONBOOT=yes BOOTPROTO=none USERCTL=no TYPE=Bonding
Créer un fichier ifcfg-bond0.7, le .7 correspond au vlan id 7. Éditer le et copier le contenue :
DEVICE=bond0.7 ONBOOT=yes BOOTPROTO=static IPADDR=192.168.7.41 NETMASK=255.255.255.0 USERCTL=no VLAN=yes TYPE=Bonding
Modifier votre fichier /etc/modprobe.conf pour ajouter le module de bonding
alias bond0 bonding options bond1 miimom=100 mode=0 arp_interval=1000
Relancer votre réseau, pour ce dernier vlan je n'ai pas mis de gateway tout simplement parce que je n'en ai pas besoin. Si vous utilisez le VLAN 1 sur des switch HP il est possible que vous ayez ce message :
Activation de l'interface bond1.1 : Added VLAN with VID == 1 to IF -:bond1:- WARNING: VLAN 1 does not work with many switches, consider another number if you have problems.
En gros il dit qu'il ne peut pas utiliser ce vlan parce qu'il est le vlan par défaut du switch (celui ou il y a tout les ports hors vlan). La solution est de créer un vlan dédié à votre serveur de le tagué et aussi tagué le vlan 1 pour qu'ils puissent communiquer entre eux.