sécuriser vos liens réseaux avec les channel bonding

10

Upload: neodec

Post on 08-Jul-2015

83 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sécuriser vos liens réseaux avec les Channel Bonding

5/10/2018 S curiser vos liens r seaux avec les Channel Bonding - slidepdf.com

http://slidepdf.com/reader/full/securiser-vos-liens-reseaux-avec-les-channel-bonding

Securiser vos liens reseaux par Ie Channel Bonding

Article publie dans Ie hors serie special Haute Disponibilite du GNUILinux Magazine France,

numero 18(Fevrier/Mars 2004).

Introduction

Comment ameliorer la disponibilite d'un serveur Linux sur le reseau ?

En securisant les differents elements materiels composant le serveur si lion considere que c'est le plus

souvent la panne de l'un de ces composants qui va conduire brutalement a l'arret de la machine(jusqu'au remplacement de l'element defectueux) et dans une moindre mesure un probleme logiciel

qui peut alors etre plus facilement resolu (on redemarre le logiciel en cause voire directement la

machine dans les cas les plus bloquants).

Securiser peut signifier choisir un compos ant offrant une duree de vie suffisante (exprime en MTBF,

«Mean Time Between Failures », soit le temps moyen ecoule entre deux pannes) par rapport au

besoin exprime,

Une autre approche, moins optimiste, considere qu'un composant est faillible par nature et qu'il

convient done de prevoir la panne : Disposer de composants de secours qui viendront immediatement(et automatiquement) prendre la releve d'un composant defaillant est une reponse adaptee a ce delicatprobleme.

La memoire de masse (par exemple les disques durs avec une solution RAID), le ventilateur (pour

eviter les cas de surchauffe) ou encore l'alimentation sont des elements qui peuvent facilement etre

dupliques sans trop de difficultes,

Mais peu de gens savent qu'il est aussi tres simple de securiser les interfaces Ethernet en utilisant une

fonctionnalite du noyau Linux appelee «Channel Bonding ».

Cette technique consiste a surveiller l'etat de la couche reseau pour pallier a la panne d'un controleurou a la deconnexion d'un cable : On regroupe de facon logicielle (et transparente pour l'utilisateur)

plusieurs controleurs reseaux en une seu1e et meme interface Ethernet virtuelle afin de disposer de

plusieurs chemins physiques pour recevoir ou transmettre un meme flux de donnees; On multiplie les

chemins pour garantir la continuite du service.

Le support de cette fonctionnalite sous Linux se fait a travers le driver bonding dont la version

actuellement presente dans le noyau 2.4 (et 2.6) est directement derivee du travail effectue par Donald

Becker, le gourou des drivers reseaux sous Linux. Une documentation en ligne est directement

disponible dans les sources du noyau sous [1] ( a lire et a relire car c'est quasiment la seule sourced'informations disponible).

Le Channel Bonding utilise sous Linux est l'equivalent du Trunking de SUN, du Port Trunking de D-

LINK ou encore de l'EtherChannel de CISCO. Tous ces systemes ou equipements sont conformant a

la norme IEEE 802.3ad.

Pour etre precis, il faut differencier l'agregation dynamique de l'agregation statique dans la norme

802.3ad:

• L'agregation de liens statique (souvent appelee « trunking ») impose de configurer manuellement

et individuellement chaque systeme ou equipement, Plusieurs algorithmes sont proposees par la

norme pour garantir le bon acheminement des donnees ;

• A l'inverse, l'agregation dynamique 802.3ad se base sur un echange dynamique d'informations

pour faciliter la creation de groupes d'agregation, Le protocole LACP (Link Agregation Control

Protocol) est utilise a cette intention : La methode d'agregation est choisie statiquement par

l'administrateur ou bien dynamiquement par LACP (l'administrateur peut aussi imposer des

contraintes d'agregation puis laisser faire le protocole).

De fait, il n'existe pas un seul mais bien plusieurs algorithmes implementes par le driver bonding:

Page 2: Sécuriser vos liens réseaux avec les Channel Bonding

5/10/2018 S curiser vos liens r seaux avec les Channel Bonding - slidepdf.com

http://slidepdf.com/reader/full/securiser-vos-liens-reseaux-avec-les-channel-bonding

• Active-backup (Sauvegarde active) : Seule une des interfaces est reellement utilisee, En cas de

panne, l'interface active suivante prend la releve ;

• Broadcast (Diffusion) : Les donnees sont envoyees Iitoutes les interfaces actives;• Balance-rr (Equilibrage de charge) : Les donnees sont transmises sequentiellement de la

premiere interface active Iila demiere (de facon continue et cyclique) pour augmenter Ie nombre depaquets envoyes et done ameliorer la bande passante ;

• Balance-xor (Mode XOR) : Permet d'utiliser toujours la meme interface active pour les paquets

IP envoyes Ii une meme adresse physique sur Ie reseau (adresse MAC) et ameli ore done les

performances en parallelisant les transferts ;

Les algorithmes suivants sont disponibles depuis la version 2.4.22 du noyau (dont l'agregation

dynamique 802.3ad) :

• balance-tlb (Equilibrage de charge auto-adaptatif en emission) : Le trafic en sortie est adapte Ii lacharge de chaque interface active. Par contre, chaque interface recoit en entree les flux qu'il initie :

Si cette demiere ne peut plus recevoir les donnees (passage en mode inactif), une autre interface

active recupere son adresse physique et done ses donnees ;

• balance-alb (Equilibrage de charge auto-adaptatif en emission et en reception) : Tout comme Iemode balance-tlb, Ie trafic en sortie est adapte Ii la charge des interfaces actives. La difference se

situe dans la capacite de ce mode Iiequilibrer la charge en entree en interceptant les requetes ARPet en les redistribuant pour diriger Ie flux vers l'interface la moins chargee;

• 802.3ad (Agregation dynamique des liens) : Permet de creer des groupes de liens qui partagent Ie

meme parametrage. L'interet est de disposer d'un mode qui ne necessite pas forcement de

configuration manuelle : Les liens se decouvrent mutuellement et sont agreges automatiquement.

Tous ces modes offrent la meme resistance aux pannes : En cas de probleme sur une interface, cette

derniere est automatiquement retiree de la liste des interfaces actives sans que la continuite du service

ne soit perturbee.

Certains de ces modes imposent que Ie systeme ou l'equipement (switch ou hub) qui se trouve en face

supporte cette technologie :

• Dans Ie cas de deux machines sous Linux, il n'y a bien evidemment pas de problemes ;

• Dans Ie cas d'un equipement reseau, cela depend du mode que l'on souhaite utiliser :

• Si vous voulez utiliser les modes active-backup, balance-tlb ou balance-alb, vous n'etes pas

contraint par Ie choix d'un equipement specifique (preferez toutefois Ie switch au hub sauf dans

Ie cas du mode active-backup) ;

• Pour les autres modes, il faut que les equipements (obligatoirement de type switchs

parametrables) supportent l'agregation de liens conformement Ii la norme IEEE 802.3ad. Les

modes broadcast, balance-rr et balance-xor ont besoin d'un switch qui accepte Ie trunking(plus courant sur Ie marche) alors que Ie mode 802.3ad necessite un modele supportant

l'agregation dynamique. Hors de question d'utiliser un equipement conventionnel : Celui ci

serait notamment rendu inefficace par Ie fait que la meme adresse physique (adresse MAC)

apparaitrait sur plusieurs ports simultanement,

Le mode active-backup nous interesse tout particulierement car il va nous permettre de mettre en

oeuvre une solution reposant sur un equipement reseau standard (indifferemment de type hub ou

switch). Deux cables ou plus sont connectes sur l'equipement : Un seul lien est actif et peut rendre

immediatement la main Ii une interface de secours si un probleme apparait. Une fonctionnalite

interessante permet de privilegier une interface par rapport Iiune autre : Si vous disposez de deuxinterfaces, l'une en 100 Mb/s et l'autre en 10 Mb/s, il semble judicieux d'utiliser en priorite l'interface

la plus puissante. Une bonne solution pour recycler vos cartes reseaux obsoletes.

Les modes balance-tlb et balance-alb sont Iiprivilegier si vous disposez d'un switch standard et quevous souhaitez ameliorer en meme temps les performances.

Page 3: Sécuriser vos liens réseaux avec les Channel Bonding

5/10/2018 S curiser vos liens r seaux avec les Channel Bonding - slidepdf.com

http://slidepdf.com/reader/full/securiser-vos-liens-reseaux-avec-les-channel-bonding

Surveillance du lien reseau

Comment le driver bonding sait qu'un cable a ete debranche ? La plupart des cartes Ethernet recentes

contiennent des registres que l'on peut adresser sous Linux et qui pennettent d'interroger l'etat du lien

ou de changer le type de negociation de la carte.

Trois methodes sont disponibles :

• La consultation des registres MIl [2] par l'utilisation de l'ioctl SIOCGMIIPHY ;

• L'utilisation de l'ioctl SIOCETHTOOL (registres ETHTOOL) ;

• Depuis la version 2.4.22, la primitive netif_ carrier_okf) du noyau.

Bien evidemment, si une interface ne supporte pas l'une de ces trois methodes, la deconnexion de son

cable Ethernet ne sera pas detectee (une fonctionnalite absolument inutile si l'on souhaite uniquement

ameliorer la bande passante du reseau),

Les outils mii-tool et ethtool pennettent d'interroger les registres ETHTOOL et MIl et donnent

quelques indications pour savoir si vos cartes sont adaptees pour la haute disponibilite :

# mii-tool ethO

ethO : negotiated lOObaseTx-FD flow-control, link ok

# ethtool ethO

Link detected: yes

Quelle que soit la distribution, la commande mii-tool est issue du paquet net-tools alors que ethtool

possede son propre paquet du meme nom (voir [3]).

Si vous ne disposez pas d'interfaces supportant l'une de ces differentes techniques, il existe une

derniere methode qui consiste Ii envoyer regulierement des requetes ARP sur certaines adresses IP

presentes sur votre reseau afin de valider la disponibilite du trafic (une requete ARP, acronyme de

«

Address Resolution Protocol », pennet de recuperer l'adresse physique d'une adresse IP passee enparametre ).

Ce mode est interessant Iiplus d'un titre car autorisant la detection d'une panne bien au dela de la

surveillance des registres presents sur la carte. En effet, si l'equipement reseau sur lequel est branche

une de vos interfaces devait etre coupe du reseau, la surveillance de ces registres ne vous sera

d'aucune utilite (le lien sera toujours marque actif). Seule la methode mettant en oeuvre une

surveillance ARP donnera de bon resultats.

II n'est par contre pas possible de cumuler la surveillance de vos cartes reseaux avec la surveillance

basee sur ARP : II vous faudra done choisir.

Commande ifenslaveLa commande ifenslave va nous pennettre de construire l'interface bond en agregeant plusieurs

devices reseaux passes en parametre (dans la suite de cet article, on utilisera le tenne bond pour

designer l'ensemble des interfaces physiques appartenant Iiune interface virtuelle de type Channel

Bonding). II est peu courant que cette commande soit disponible directement dans un paquet de votre

distribution (en dehors, Iirna connaissance, de la distribution Redhat dans le paquet iputils) : Le plussimple va etre de la compiler Iipartir de ses sources : Ceci est meme preferable pour disposer d'unversion compatible avec la version courante du driver bonding.

Les noyaux de version 2.4.12 et superieurs mettent en effet Ii disposition une version adaptee

directement dans le repertoire /usr/src/linux/Documentation/network.

Suivez les instructions suivantes sous root pour compiler et installer la commande (en considerant queles sources du noyau ainsi que les outils de compilation GNU sont installes) :

Page 4: Sécuriser vos liens réseaux avec les Channel Bonding

5/10/2018 S curiser vos liens r seaux avec les Channel Bonding - slidepdf.com

http://slidepdf.com/reader/full/securiser-vos-liens-reseaux-avec-les-channel-bonding

# cd /usr/sre/linux/Doeumentation/network

# gee -Wall -Wstriet-prototypes -0 -I/usr/sre/linux/inelude ifenslave.e -0

ifenslave

# mv ifenslave /sbin

Parametrage d'une interface bond

II est habituel d'appeler le driver bonding autant de fois que nous voulons creer d'interfaces virtuelles

dans notre systeme (bondO, bondl , ...) : Chaque interface ainsi creee pourra ainsi etre parametree

separement (on peut eviter de lancer plusieurs fois le driver en utilisant l'option max_bonds mais

elles partageront toutes dans ce cas le meme parametrage).

Le tableau suivant presente les differentes options utilisables lors de l'appel du driver:

Option Description

mode Permet de selectionner le comportement du driver:

• balance-rr ou 0 : Transmission des paquets IP de facon cyclique de la

premiere interface active Ii la derniere. Ce mode equilibre le trafic surtoutes les interfaces. Active par defaut si l'option n'est pas specifiee

• active-backup ou 1 : Une seule des interfaces presentes dans le bond

est active

• balance-xor ou 2 : Ce mode permet de selectionner constamment le

meme controleur pour tous les paquets IP Ii destination d'une meme

adresse physique (done d'une meme machine). Ce comportement

permet d'equilibrer la charge sur toutes les interfaces actives. Le choix

de l'interface est base sur l'algorithme suivant : (adresse_source XOR

adresse _destination) % nombre_interfaces

• broadcast ou 3 : Diffusion des donnees vers toutes les interfacesactives. Ce mode est tolerant aux pannes (perte d'un controleur ou d'un

cable)

• 802.3ad ou 4 : Agregation de liens conformement Ii la norme IEEE

802.3ad. Creation dynamique de groupes qui partagent tous le meme

parametrage

• balance-tlb ou 5 : Equilibrage du trafic sortant en distribuant les

donnees sur les interfaces actives les moins chargees, Ce mode

necessite par contre de disposer de la surveillance par ETHTOOL dans

le driver de la carte reseau

• balance-alb ou 6 : Equilibrage du trafic entrant et sortant en utilisant

judicieusement les requetes ARP. Ce mode implique de disposer de la

surveillance par ETHTOOL dans le driver de la carte reseau et de

pouvoir changer l'adresse physique (MAC) de la carte meme si le

device est ouvert

max bonds Permet de parametrer le nombre de devices bond Ii creer pour cette

instance du driver : Cela permet d'eviter de lancer plusieurs fois le driver

mais impose un parametrage identique (uniquement Ii partir du noyau

2.4.21)

miimon Frequence de surveillance des registres MIl ou ETHTOOL en milli-

secondes. La valeur par defaut est 0 qui desactive la surveillance descontroleurs. Si les registres MIl ne sont pas supportes par le driver de la

carte, c'est le registre ETHTOOL qui est utilise

Page 5: Sécuriser vos liens réseaux avec les Channel Bonding

5/10/2018 S curiser vos liens r seaux avec les Channel Bonding - slidepdf.com

http://slidepdf.com/reader/full/securiser-vos-liens-reseaux-avec-les-channel-bonding

Option Description

down delay Permet de specifier la valeur en millisecondes permettant de desactiver une

interface apres detection d'un probleme (link down). La valeur doit etre un

multiple de miimon. La valeur par defaut est 0

updelay Permet de specifier la valeur en millisecondes permettant d'activer une

interface lors de la detection d'une reconnexion sur un lien (link up). Lavaleur doit etre un multiple de miimon. La valeur par defaut est 0

use carrier On demande a l'algorithme de surveillance d'utiliser la primitive

netif_carrier_okO a la place de la surveillance des registres MIl ou

ETHTOOL. Toutes les cartes ne supportent pas cette primitive (auquel cas,

le lien est toujours considere actif) et cette option n'est apparue quia partir

de la version 2.4.22 du noyau. La valeur par defaut est 1

arp_interval Permet de preciser la frequence d'envoi des requetes ARP de surveillance

du lien reseau dans le cas ou l'on n'utilise pas le parametre miimon (les

deux modes de surveillance ne peuvent pas cohabiter). Si des paquets IP

n'ont pas ete recus ni envoyes en dessous de la periode arp _interval, une

requete ARP est envoyee vers une liste d'adresses IP precisee dans le

parametre arp_ip_target. Si aucune reponse n'est recue apres cette

demande, l'interface est consideree comme perdue. La valeur par defaut est

o qui desactive la surveillance par ARP

arp _ip_target Si la surveillance par requete ARP est activee, ce parametre permet de

specifier jusqu'a 16 adresses IP en concurrence sur le reseau. Les

differentes adresses IP utilisent le separateur virgule. Au moins une

adresse IP doit etre listee pour que la surveillance ARP fonctionne

primary Permet de favoriser une interface dans le mode active-backup : Cette

interface prioritaire est utilisee en premier lors de l'activation du bond.

Lorsque cette interface est marquee en faute par le driver (par exemple,deconnexion du cable), le trafic est naturellement dirige vers une interface

de secours. Cependant, en cas de reactivation de l'interface prioritaire dans

le bond, le trafic sera de nouveau redirige vers cette interface (parametre

disponible seulement a partir de la version 2.4.21 du noyau)

multicast Support du multicast sur le lien Ethernet virtuel :

• 0: Pas de support du multicast

· 1: Active sur le noeud actif seulement dans le cas du mode active-

backup

• 2: Active sur toutes les interfaces (configuration par defaut)lacp_rate Cette option permet de parametrer la frequence d'envoi des paquets

LCPDV dans le cas de l'agregation dynamique 802.3ad

• slow ou 0 : Transmission des paquets toutes les 30 secondes (par

defaut)

• fast ou 1:Transmission des paquets toutes les 1 seconde

Dans le cas du parametre miimon, il est preferable de ne pas descendre en dessous de 10 ms : Une

valeur plus petite perturberait la fluidite de votre systeme (sur architecture x86, la frequence

d'interruption de l'horloge du noyau 2.4 fonctionne sur une frequence de 100 Hz et done utilise des

tranches de temps de 10 ms). La valeur minimale conseillee est de 100 msLe parametre downdelay est utile dans le cas d'une connexion avec un switch parametrable

(supportant le trunking) dont la prise en compte d'un probleme sur un port est moins rapide que celIe

Page 6: Sécuriser vos liens réseaux avec les Channel Bonding

5/10/2018 S curiser vos liens r seaux avec les Channel Bonding - slidepdf.com

http://slidepdf.com/reader/full/securiser-vos-liens-reseaux-avec-les-channel-bonding

du driver bonding sous Linux. Ce parametre pennet de decaler le moment ou le controleur est marque

comme inactif dans le bond.

Certains switchs presentent leurs ports actifs avant que la connexion reseau ne soit reellement

operationnelle (dans le cas d'un reboot, par exemple). Le parametre updelay pennet de prendre en

compte cette particularite. Par contre, si toutes les interfaces sont marquees en echec, le driver

bonding utilisera immediatement la premiere interface active sans tenir compte de ce parametre,

Passons a fa pratique

II est essentiel de disposer du driver bonding compile en module pour pouvoir lui passer des

parametres, ce qui est le cas dans la majorite des distributions.

Vous ne possedez qu'une seule interface ? Pas de panique, les exemples suivants fonctionnent aussi

avec une seule interface (meme si cela ne sert pas a grand chose).

Si l'on veut que le bond soit active directement au demarrage de la machine, la premiere chose a faire

est d'ajouter la ligne suivante dans le fichier fetclmodules.conf :

alias bondO bonding

Cette ligne va pennettre d'associer le device Ethernet bondO avec le driver bonding. On peut bien

entendu ajouter plusieurs devices de type bond sur un meme systeme en incrementant le numero du

device comme avec une interface Ethernet standard.

On ajoute ensuite la liste des parametres que l'on va passer en option lors de l'appel du driver (on

s'assure de bien charger le driver des cartes reseaux avant celle du Channel Bonding) :

probeall bondO ethO ethl ... eth[x] bonding

options bondO mode=active-backup miimon=lOO

La possibilite de configurer le mode directement a partir de son libelle (active-backup) plutot que de

son numero (1) n'est disponible quia partir du noyau 2.4.2l.Pour de simples tests, il est possible de passer les parametres directement en ligne de commande

comme dans l'exemple suivant :

# modprobe bonding mode=active-backup miimon=lOO

II reste a activer l'interface dans la phase de demarrage de votre systeme : Certaines distributions

(comme la Redhat et ses derives) sont capables de directement prendre en charge cette etape dans

leurs fichiers de configuration. Je vous renvoie au manuel d'utilisation de la distribution Redhat pour

ceux que cela interesse.

Une solution plus generique consiste a creer un script que nous allons placer dans le repertoire fetcfinit.d si lion suit les recommandations du Linux Standard Base (LSB) :

Page 7: Sécuriser vos liens réseaux avec les Channel Bonding

5/10/2018 S curiser vos liens r seaux avec les Channel Bonding - slidepdf.com

http://slidepdf.com/reader/full/securiser-vos-liens-reseaux-avec-les-channel-bonding

#!/bin/bash

#

# Bonding configuration

#

# /etc/init.d/bonding

#

### BEGIN INIT INFO

# Provides: bonding# Required-Start: $network

# Required-Stop:

# Default-Start: 3 5

# Default-Stop:

# Description: Configurer le Channel Bonding

### END INIT INFO

BOND ADDR="192.l68.4.l/24"

LISTE ETH="ethO eth1"

#ETH ADDR="XX:XX:XX:XX:XX:XX"

case "$1" in

start)ip link set dev bondO down

if [ "$ETHER_ADDR" != "" ] ; then

ip link set dev bondO addr ${ETHER_ADDR}

fi

ip addr add ${BOND_ADDR} brd + dev bondO

ip link set dev bondO up

ifenslave bondO ${LISTE_ETH}

stop)

ip link set dev bondO down

,,

*)

echo "Usage: $0 [startlstop]"

exit 1

esac

Adaptez b ien evidemment le script precedent Ii votre configuration.

J'u tilise p ar a illeu rs la comman de ip d u p aq uet ip ro ute2 m ais j'au rais p u to ut au ssi b ien u tiliser le

classique ifconfig Ii la place :

ifconfig bondO 192.168.4.1 netmask 255.255.255.0 broadcast 192.168.1.255 up

/sbin/ifenslave bondO ethO eth1

Nous vou lons app ele r n ot re s cr ip t j us te apres le c ha rg emen t d e la c ou ch e reseau d an s le s r un lev els 3

e t 5 (l'o ptio n -d p ermet d e desactiver le demarrage du sc rip t) :

# chkconfig -s bonding 35

I Inous res te Ii demarrer not re s cr ip t manuellemen t la p rem ie re f ois :

/etc/init.d/bonding start

Si l'on observe les caracteristiques de l'interface bondO (ip link show bondO ), on s'apercoit que

l'a dresse p hysiq ue et celles d e tou tes les in terfaces esclav es p arta gen t la meme v aleu r. II s'a git en

realite de l 'adre ss e phys ique de la premiere int er fa ce reseau ajoutee dans le bond , e thOdans no tr e cas .On peu t s ouha ite r c on fig ur er soi-meme cette ad resse p hy siq ue en ajou tan t l a lign e su iva nte au to ut

d eb ut d e la se ctio n sta rt :

Page 8: Sécuriser vos liens réseaux avec les Channel Bonding

5/10/2018 S curiser vos liens r seaux avec les Channel Bonding - slidepdf.com

http://slidepdf.com/reader/full/securiser-vos-liens-reseaux-avec-les-channel-bonding

ip link set dev bondO addr XX:XX:XX:XX:XX:XX

Pour recouvrir la configuration initiale des adresses MAC de chaque carte reseau, il faut arreter les

interfaces reseaux, supprimer puis recharger les drivers.

Comment connaitre la configuration ou surveiller l'etat de notre bond? Le plus simple est de consulter

le fichier virtuel /proc/netlbond[x]/info (ou [x] correspond au numero de votre bond). Cela peut

notamment permettre de connaitre le nombre de fois qu'une interface a ete desactivee depuis ledemarrage du serveur.

Par exemple, dans le cas de notre interface bondO :

# cat /proc/net/bondO/info

Bonding Mode: active-backup

Currently Active Slave: ethO

MIl Status: up

MIl Polling Interval (ms): 100

Up Delay (ms): 0

Down Delay (ms): 0

Slave Interface: eth1

MIl Status: up

Link Failure Count: 0

Slave Interface: ethO

MIl Status: up

Link Failure Count: 2

N'hesitez pas a consulter le demon syslog (/var/log/messages) pour suivre les changements dans

votre bond et tracer les eventuels dysfonctionnements. Par exemple, dans le cas de perte d'une

interface:

bondO : link status definitely down for interface ethO, disabling it and making

interface eth1 the active one

Exemp/es de mise en oeuvre

Plusieurs architectures sont possibles si vous souhaitez mettre en oeuvre le Channel Bonding :

Certaines de ces configurations vous demanderons de disposer d'un Switch supportant le trunking ou

l'agregation dynamique 802.3ad, d'autres vous permettrons d'utiliser un equipement reseau standard

ou de brancher 2 machines Linux en point a point par l'intermediaire de cables croises,

Pour chaque cas de figure, vous devrez faire un choix entre un ou plusieurs algorithmes :

• Securiser l'acces a un equipement reseau standard: Vous devez disposer de deux cartes reseaux ouplus et utiliser le mode active-backup, balance-tlb ou balance-alb;

• Securiser l'acces a un equipement reseau supportant le trunking : Vous devez disposer de deux

cartes reseaux ou plus et utiliser l'un des modes balance-rr, balance-xor ou broadcast. Les

modes balance-rr et balance-xor vous pennettront d'ameliorer en plus les performances du reseau

• Si vous disposez d'un equipement reseau supportant la norme 802.3ad dynamique, n'hesitez pas et

utilisez le mode 802.3ad ;

• Si vous ne disposez pas d'equipement reseau supportant la norme 802.3ad (dynamique ou statique)

mais que vous souhaitez ameliorer les performances, vous pouvez utiliser a la place une seconde

Page 9: Sécuriser vos liens réseaux avec les Channel Bonding

5/10/2018 S curiser vos liens r seaux avec les Channel Bonding - slidepdf.com

http://slidepdf.com/reader/full/securiser-vos-liens-reseaux-avec-les-channel-bonding

machine Linux idealement configuree : Parfait pour securiser les donnees transferees et ameliorer

les performances (avec deux cartes Ethernet 100MB/s, vous pouvez facilement disposer d'un lien

reseau pouvant transferer 20MB utiles par seconde au lieu de 10!).

Dans le schema suivant, nous avons branche deux cables reseaux croises entre les cartes Ethernet de

deux serveurs sous Linux. Quelque soit le mode choisi, si nous debranchons l'un des cables, le reseau

entre les deux machines continue de fonctionner. Si vous ambitionnez de mettre en place un cluster de

haute disponibilite avec HeartBeat, cette solution vous tend les bras.

Dans cet autre exemple, nous disposons d'un serveur sous Linux avec deux interfaces Ethernet et d'un

equipement reseau : Si l'equipement est standard, utilisez obligatoirement le mode active-backup,

balance-tlb ou balance-alb ; Sinon vous etes libre de choisir le mode de votre choix.

Conclusion

Apres avoir lu cet article, vous vous demandez peut etre si il est encore possible d'ameliorer la

disponibilite du serveur sur le reseau apres avoir securise tous les composants possibles et en

particulier les interfaces Ethernet ? On peut repondre par l'affirmative car si la perte d'une interface

n'est pas synonyme dans ce cas d'arret immediat de la machine, il faudra songer Iiremplacer l'elementdefectueux assez vite : Soit vous pouvez prevoir un arret de maintenance (changement du composant

defectueux Ii froid), soit vous etes contraint Ii la haute disponibilite de vos services et un arret du

serveur est absolument Iiproscrire.Dans ce dernier cas, une seu1e solution : Le changement Iichaud du composant. Vous devez utiliserpour cela obligatoirement des composants CompactPCI (si votre serveur supporte ce type d'interface).

Page 10: Sécuriser vos liens réseaux avec les Channel Bonding

5/10/2018 S curiser vos liens r seaux avec les Channel Bonding - slidepdf.com

http://slidepdf.com/reader/full/securiser-vos-liens-reseaux-avec-les-channel-bonding

Le regroupement PCIMG (PCI Industrial Manufacturers Group) a mis en place une ensemble de

standards autour des composants CompactPCI pour faciliter la maintenance a chaud. Toute la chainelogicielle ou materielle doit pouvoir supporter cette norme : Pour ceux que cela interesse, je vous

conseille de vous dirigez vers le site officiel du support CompactPCI sous Linux [4] (PCIMGR

standard 2.12) et vers un article tres interessant qui a ete publie sur le site linuxdevices.com [5].

Pour conclure, n'hesitez pas a faire un petit tour sur le site [6] traitant du Channel Bonding sous Linuxsi vous souhaitez suivre l'evolution de ce driver assez meconnu mais qui meriterait d'etre plus souvent

utilise et deploye (a quand une configuration en standard dans toutes les distributions ?).

Lionel Tricon

Bookmarks

[1] Documentation officielle : lusrlsrc/linux/Documentationinetworking/bonding. txt

[2] Outils de diagnostics reseaux (registres MIl) : http://www.scyld.comldiagl

[3] Ethtool: http://www/.sourceforge.net/projects/gkemel

[4] PCIMG Hot-Swap site: http://www.sourceforge.net/projects/pcimg212-hs

[5] Support du CompactPCI : http://www.linuxdevices.comlarticles/AT8382728818.html

[6] Driver Channel Bonding sous Linux : http://www.sourceforge.net/projects/bonding