Oleksandr - Fotolia
SDN : donnez une chance au routeur libre Quagga
Le routeur open source Quagga a séduit de multiples utilisateurs cherchant à expérimenter avec les réseaux SDN. Flexible et gratuit, il est facile à configurer pour peu que le matériel utilisé soit adapté.
Quagga est une suite de protocole de routage open source, qu’il est possible d’installer pour prototyper un réseau,tester des concepts de SDN ou mettre en place une solution de routage économique dans son environnement. La pile logicielle est née d’un fork du projet de routage open source GNU Zebra, créé en 1996 par Kunihiro Ishiguro, avant qu’il ne fonde IP Infusion (racheté par Access) et ne crée l’OS de routage propriétaire ZebOS.
Dans la plupart des datacenters, des routeurs physiques ont en charge d’envoyer des paquets d’un réseau à un autre. Quagga est une alternative purement logicielle à cette approche. Quagga implémente la plupart des protocoles de routage majeurs comme OSPFv2 et v3; RIP version 1, 2 et NG; et même BGP( Border Gateway Protocol). La suite Quagga est disponible pour la plupart des systèmes Unix, notamment FreeBSD, NetBSD et Solaris ainsi que sous Linux.
Utiliser Quagga
Un routeur complet a besoin d’une pile de forwarding de trafic et d’une pile de routage qui fournit un niveau d’intelligence plus élevé pour le forwarding de paquet. Quagga ne fournit que la pile de routage. Dans Linux, c’est historiquement le noyau qui fournit les services de forwarding. Mais quagga peut aussi s’appuyer sur une couche de forwarding distribuée comme OpenFlow.
Quagga est fréquemment utilisé dans des environnements académiques ou dans des environnements de recherche, où les utilisateurs cherchent à développer de nouveaux standards ou à tester de nouvelles approches réseaux. Il est aussi utilisé dans de grands datacenters et par des hébergeurs. La suite permet aussi de simuler des réseaux avec un minimum de moyens.
Un routeur Quagga
Pour mettre en œuvre un routeur basé sur Quagga, le type d’équipement utilisé aura un impact sur la performance. Il n’y a pas de spécifications précises en matière de matériel, mais il est préférable de prêter attention à la performance CPU, à la vitesse des bus et à la capacité mémoire. De même la performance des cartes réseaux est importante. De préférence, le CPU doit avoir un large cache. La performance des processeurs influence en effet la vitesse des mises à jour de tables de routage, la convergence des routes et les recherches de routes. Un routeur Juniper ou Cisco s’appuie sur des ASIC spécialisés qui peuvent répondre à une requête de route en quelques nanosecondes. Un PC d’entrée de gamme pourrait quant à lui nécessiter quelques millisecondes pour répondre à la même requête..
Comment démarrer
Quagga est présent dans les dépôts de nombreuses distributions Linux comme CentOS, ce qui simplifie l’installation de la suite de routage.
Il faut tout d’abord installer le logiciel puis spécifier les démons de routage à démarrer (chaque protocole est implémenté comme un démon autonome et le démon zebra agit comme un démon maitre). Les démons à lancer sont listés dans le fichier /etc/quagga/daemons. Typiquement, vous n’activerez que les processus de routage dont vous avez besoin.
La configuration générale du routeur et des interfaces s’effectue via le fichier etc/quagga/zebra.conf. Ensuite il faut configurer les fichiers de configuration de chaque protocole de routage (bgpd.cong pour BGP, ospfd.conf pour OSPF, etc.). La sémantique utilisée est proche de celle utilisée par Cisco dans IOS (quoique parfois avec de subtiles variations). Une fois les différents processus démarrés, ils commenceront à échanger sur votre réseau.
A propos de l’auteur: Sander van Vugt est un formateur indépendant et un consultant basé aux Pays-Bas. Il est spécialisé dans la virtualisation, la performance et la haute disponibilité des environnements Linux. Il est aussi l’auteur de plusieurs ouvrages sur Linux dont Beginning the Linux Command Line, Beginning Ubuntu LTS Server Administration etPro Ubuntu Server Administration.