pfSense: aggrégation de liens (LAGG)

pfSense: aggrégation de liens (LAGG)

13 septembre 2020 0 Par Mairien Anthony

Rapide article expliquant comment aggréger des liens entre eux sur un routeur pfSense.

Il est courant en entreprise de réaliser de l’aggrégation de liens, que ce soit pour augmenter la bande passante et la vitesse de transfert, ou simplement pour augmenter la tolérance aux pannes.

Ici nous allons donc voir comment sur pfSense aggréger ensemble plusieurs liens et quelles sont les options possibles.

Sans plus attendre, allons-y !

I) Aggrégation de liens, Etherchannel, LAGG…

Le concept de base, c’est donc de regrouper plusieurs interfaces physiques en une seule interface logique. Le but, comme dit plus en haut, c’est de pouvoir :

  • Augmenter la bande passante disponible ;
  • Augmenter la vitesse de connexion ;
  • Augmenter la redondance en cas de perte d’un des liens ;

Ensuite, un peu de vocabulaire… car l’aggrégation de liens peut utiliser plusieurs protocoles, dépendant du constructeur.

Chez Cisco, on parlera d’Etherchannel ou de Portchannel, mais le principe reste identique. Il faut simplement savoir que c’est un protocole propriétaire, et qu’il en existe bien d’autre (une erreur assez répandue est de parler directement d’Etherchannel quand on parle d’aggrégation, ce qui est donc faux).

Mise à part ce protocole, on retrouvera aussi LACP, pour Link Aggregation Control Protocol, qui est lui aussi très répandu car standardisé par l’IEEE.

En plus de ces deux là, on peut citer l’algorithme d’ordonnancement Round Robin, qui n’est donc pas à proprement parlé un protocole mais qui peut être utilisé sur pfSense et qui permet de faire transiter les paquets sur un lien, puis l’autre, et ainsi de suite, à la manière d’un tourniquet.

Bref, assez de blabla, allons voir comment mettre ça en place chez pfSense !

II) Mise en place de l’interface LAGG

Dans cet exemple mon pfSense est fraîchement installé et configuré, il dispose de cinq interfaces, à savoir :

  • WAN, en 192.168.1.50 ;
  • LAN, en 192.168.2.1 ;
  • em2, em3, em4 : non-attribuées ;

La première chose que je vais faire ici, c’est supprimer mon interface LAN, de sorte à pouvoir ensuite utiliser quatre interfaces et en faire une seule logique. Pour cela, on se rend dans l’onglet Interfaces, puis Assignements :

Ici rien de très sorcier, je supprime mon interface LAN, puis je passe ensuite sur l’onglet LAGGs. A noter comme indiqué dans l’encadré bleu, les interfaces membres d’une interface LAGG ne sont pas affichées ici, toujours bon à savoir.

Ici rien de très compliqué non plus ! On choisi nos interfaces encore non-attribuées (car oui, il faut impérativement que celles-ci ne le soient pas sinon elles ne s’afficheront pas) puis on choisi le protocle utilisé, et enfin une description facultative :

Comme vous pouvez le voir, pfSense supporte LACP qui est un standard, mais il supporte aussi le Failover, le FEC (équivalent de l’Etherchannel), le Loadbalancing classique, ou encore le Round Robin.

On valide, et le tour est joué !

III) Connexion à un commutateur Cisco

Maintenant imaginons que vous souhaitiez connecter vos interfaces à un switch de marque Cisco, supportant l’Etherchannel (pas le cas sur tous !), et bien la configuration « classique » à faire serait la suivante :

Switch-07(config)# interface range fa0/0 – 3 
Switch-07(config-if-range)# channel-group 1 on

Rien de plus, rien de moins ! Enfin, si vous souhaitez quelque chose de basique, car il va sans dire que l’on peut affiner la configuration pour jouer avec les modes de négociation, la vitesse, etc etc.

Pour ensuite vérifier l’état de votre groupe de ports :

Switch-07# show int etherchannel

Et le tour est joué ! Rien de très compliqué en soit, mais ce genre de rappel ne fait jamais de mal 😉

C’est donc déjà la fin de cet article, comme d’habitude j’espère que celui-ci vous aura appris quelques bricoles !

Je sais que dernier est assez léger mais je travaille sur d’assez gros labs sur le côté, et je n’ai donc pas forcément le temps de rédiger des articles très conséquents… sur ce, à la prochaine !

N'hésitez pas à soutenir le blog, chaque article demande un certain travail de recherche, rédaction ainsi que la réalisation de divers tests !