Vyatta, un JunOS like et une alternative sérieuse a Quagga

Si vous faites mumuse avec les réseaux, il y a de fortes chances que vous ayez utilisé Zebra/Quagga.

Pour ceux qui ne connaîtrait pas, il s’agit d’un logiciel de routage pour les plateformes Linux/*BSD, implémentant de nombreux protocoles comme OSPF et BGP.

Ce qui le rend intéressant, c’est son approche à la « Cisco », avec des commandes en mode « configure » très proche des IOS, ce qui le classe dans la catégorie des cisco-like.

Suite a la mise en place de diverses architectures de test, j’ai vite trouvé des limites à son utilisation (NAT, VRRP, VPN etc…) et alors que je me préparais a coller un nouveau Cisco matériel pour résoudre tout cela, je suis tombé sur un produit OpenSource bluffant : VYATTA.

Ne soyez pas effrayé par les prix, il existe une version communautaire gratuite (la VC5 a l’heure où j’écris ses lignes).

L’enregistrement vous donne accès à l’ensemble de la documentation au format PDF. Documentation d’ailleurs très bien fournie qui vous permet d’aborder toutes les possibilités de Vyatta.

Le choix de l’utilisation de Vyatta est un vrai bonheur : livecd, installation sur disque dur, machine virtuelle VMWare, image Citrix XEN server….

Pour ma part, j’ai opté pour l’installation sur disque dur, sur un petit pc avec une carte réseau relié en trunk sur un de mes switchs.

Je vous passe l’installation, on ne peut plus simple, pour aborder la syntaxe particulière des commandes.

Ceux qui utilisent des JunOS (type Juniper) seront moins perdu que les habitués de l’IOS.

exemple :

vyatta@vyatta:~$ configure
[edit]
vyatta@vyatta# show interfaces ethernet eth0
address 10.10.10.1/22
duplex full
hw-id 00:01:02:03:04:05
speed 100
vif 1 {
address 192.168.1.1/24
}
[edit]

Tout comme sur les équipements professionnels, un appui sur la touche TAB vous donne accès aux commandes disponibles :

vyatta@vyatta# show
Possible completions:
interfaces    Configure network interfaces
service       Configure specified service
system        Configure system parameters
 
[edit]

La configuration se retrouve dans un fichier facilement compréhensible de type « arbre » :

interfaces {
ethernet eth0 {
address 10.10.10.1/22
duplex full
hw-id 00:01:02:03:04:05
speed 100
vif 1 {
address 192.168.1.5/24
}
}
loopback lo {
}
}
service {
https
ssh {
allow-root false
port 22
protocol-version v2
}
}

Bien sûr l’ensemble tourne sur un Linux de type Debian avec un repository dédié qui vous permet de rajouter des paquets manquants.

Les services offerts par Vyatta sont impressionnants :

cluster, firewall statefull, Vrrp, VPN ipsec, VPN pptp, VPN ssl OpenVPN, load balancing, etc….

De plus, outre l’accès SSH, une interface web en https vous permet de configurer plus facilement votre « routeur ».

Interface Vyatta

Interface Vyatta

Interface web Vyatta

Interface web Vyatta

Je vous invite a tester rapidement ce petit bijou qui, outre le fait de vous familiariser avec les commandes JunOS, permet de remplacer sans rougir un équipement plus onéreux.

Enfin, sachez que l’éditeur vend également son produit sur des appliances dédiés.

Amusez vous bien :-)

EDIT : Si vous voulez en savoir encore un peu plus, Crashdump nous a pondu un petit tuto de derrière les fagots pour la mise en oeuvre d’un load-balancing avec Vyatta. Pour le billet, c’est ICI .

Ce billet a été posté dans linux, réseau et taggé , . Bookmark ce permalink.

12 commentaires sur “Vyatta, un JunOS like et une alternative sérieuse a Quagga

  1. Salut,

    Je trouve ton blog super complet et précis.
    Je taf pour une start-up qui travaille sur un projet qui pourrait t’intéresser.
    Es-ce que tu pourrais m’envoyer ton mail et ton phone pour que l’on discute un peu ?

    Merci

  2. Excellentissime, je viens de mettre en place un Routeur / Firewall / 2x Wan (adsl) Load Balancing sur un machine low cost en moins de 20 minutes. C’est tout simplement génial.
    Merci.

  3. Awilu : hop hop hop … c’est notre guigui à nous donc pas touche, non mais !!!!!
    M’enfin c’est quoi cette façon de débaucher notre geek préféré !!!
    Hey guigui tu vas pas nous lâcher hein … hey … ho … t’es bien dans notre « stop down » non ???

  4. Dans le même esprit il y a pfSense qui supporte également le load balancing et qui s’installe très vite (5min sur une machine correcte) ;) Beau billet !

  5. Bonjour Monsieur,
    je fais une memoire sur la virtualisation des réseaux en utilisant XEN, j’ai pas encore préciser mon sujet de recherche, mais j’ai trouvé une idée d’un autre collége et voulais améliorer et j’ai besoin de votre aide si possible.
    l’idées consiste a connecté 4 noeuds physique en mettant dans chaque noeud deux machines virtuels qui fonctionnes avec des services critiques comme (voip , mysql, transfert de fichier, apache etc).
    on génére un trafic tcp et udp .
    problemme: lorsqu’il arrive un « graceful failures » le noeud tombe en panne, alors le heartbeat surveille les noeuds ainsi les machines virtuelles .
    lorsque le noeud tombe en panne, le heartbeat migre les machines virtuelle dans un autre noeud qui est en mode actif pour garder la haute disponibilité de service.
    mon idée est ce que on peut mettre une autre couche de heartbeat pour controler les services critique qui fonctionnent dans les machines virtuelles et cohabitent avec eux. c.a.d le heartbeat avoir l’accée direct au service critique(voip, mysql,serveur web…) pour voir si les service fonctionne dans les machines virtuelles ou non.
    merci d’avance
    Sami

  6. Bonjour,

    heartbeat de surveille pas les « services », c’est Mon qui fait cela.
    Aucune impossibilité donc à ce que Mon soit installé sur les machines virtuelles pour surveiller les services et alerter Heartbeat de la défaillance d’un de ceux ci.

    http://www.linux-ha.org/mon

  7. Bonjour Messieurs,

    J’ai déjà utilisé un ensemble de 24 Machines Virtuelles VC4 sur un même serveur VMWare ESX dans le cadre d’un cours MPLS. 12 routeurs utilisaient OSPF en périphérie du cloud MPLS et 12 autres utilisaient RIP dans des réseaux privés MPLS.

    Pour utiliser des services de VoIP avec des routeurs Vyatta virtuels (btw, j’ai aussi essayé un pare-feu Endian Firewall Virtuel et VoIP Gateway Asterisk Virtuel et VoIP Gateway SIPExecs Virtuel), il faut réduire le temps passé dans chaque machine virtuelle au minimum (je ne me rappelle plus quel est le paramètre système dans VMWare ESX, 100ms je crois). Malheureusement, il faut faire attention à la distribution des système virtuels sur les machines physiques. Malgré cela, La QoS est affectée et les communications vocales souffrent de jitter de temps à autre.

    Bref, La virtualisation des routeurs, des Firewall et des VoIP Gateway c’est super tant qu’il n’est pas requis d’avoir la QoS.

    Paul ;-)

  8. Beau retour d’expérience. Mais pour moi, il est hors de question de virtualiser un service réseau. Si la virtualisation d’un serveur applicatif (hors BDD) est satisfaisante, rajouter la couche réseau vmware par dessus un serveur type Vyatta ou autre me parait un peu lourd.
    Le traitement sur la carte réseau est conséquent dans une grosse infra et la latence induite par le module vmnet n’est pas pour aider a gérer correctement le temps de traitement.

    Merci en tout cas pour cet exemple.

  9. Pingback: Troll #1 : Vyatta vs Cisco | Walkyr

  10. Pingback: Du load-balancing avec vyatta | Debian or not to be ? 2.0

  11. Très bon explicatif,

    Je connais Vyatta depuis peu, c’est vrai que c’est une bonne alternative à Cisco / Juniper qui peut s’avérer très efficace.