Émulateur de réseau basé sur des machines virtuelles

Posté par  (site web personnel) . Modéré par patrick_g.
14
12
nov.
2009
Linux
La version 3.0 de Cloonix-Net permet de créer un réseau complet en moins d'une minute après le téléchargement de cloonix-3.0. Ce réseau est équipé de machines basées sur une distribution ultra-légère : OpenWrt. Trois autres types de machines peuvent être téléchargés en plus : Fedora 11, Debian sid, Ubuntu Jaunty.

Le principe de Cloonix-Net est simple : on crée une "démo" qui est constituée d'un fichier de topologie et de fichiers de configurations qui seront "injectés" dans les machines avant que celles-ci ne démarrent leurs services. Les fichiers de configurations injectés par Cloonix-Net configurent les interfaces et lancent les services adaptés en fonction de la situation de chaque machine dans le réseau. Puis Cloonix-Net s'occupe des liaisons entre machines, en fonction de la configuration passée dans le fichier de topologie.

Cloonix-Net existe principalement grâce à la virtualisation (UML et KVM). Rappels sur les technologies de virtualisation :
1. Émulation (qemu)
Création d'une enveloppe en hardware émulée dans le monde user.
Hardware->noyau->(soft d'émulation)->VM
La VM ne sait pas qu'elle n'est que virtuelle.

2. Full Virtualization (vmware)
La machine repose sur un "hyperviseur", une couche logiciel entre le hardware et la machine invitée.
Hardware->(noyau hyperviseur)->VM
La VM ne sait pas qu'elle n'est que virtuelle.

3. Para-Virtualization (xen)
Hardware->(noyau hyperviseur)->VM
La VM sait qu'elle n'est que virtuelle, gain de temps. Par exemple, il est inutile d'émuler des interruptions matériels.

4. Operating system-level virtualization (openvz)
Hardware->(noyau compartimenté)->(VM ayant le même noyau que l'hôte)

Les Virtualisations qui concernent Cloonix-Net :
  • UML (para-virtualisation) ;
  • KVM (full-virtualisation).

UML : Jeff Dike commence en 2000 un logiciel qui fait tourner un noyau Linux complet dans le monde user. UML entre dans le Linux "mainstream" version 2.5 autour de 2002. Pour créer l'applicatif UML, il suffit de compiler le linux officiel avec l'option de compilation ARCH=um.
Les premières utilisations de UML sont de former les administrateurs systèmes à des restaurations de systèmes après crash ainsi qu'à la création de "honeypot", une machine virtuelle qui sert de leurre pour piéger les pirates et les observer leurs actions sans risques.
Puis les simulations de réseaux sont arrivées, les plus connues sont : Netkit, Vde, Vnuml, Marionnet et Cloonix-Net.

KVM : Linus a créé une surprise lors de la sortie du noyau 2.6.20, alors que Xen existait depuis longtemps en tant que patch soutenu par Red-Hat. Puisque Linus a tranché en faveur de KVM et que celui-ci est maintenant dans la "mainline", il n'y a plus qu'à aider à accroître sa popularité et son efficacité en l'utilisant. Pour l'utiliser, qemu-kvm est la commande user de création de la machine. Cette commande est appelée par Cloonix-Net si vous avez choisi une machine KVM.

Cloonix-Net existe depuis longtemps, mais avait jusqu'à présent l'inconvénient de ne pas avoir de machine téléchargeable rapidement, grâce à OpenWrt, le cloonix-3.0 est une application autonome.

OpenWrt est une distribution spécialisée pour le routage et l'embarqué. Il se caractérise par une très grande légèreté ainsi qu'une grande facilité de création à partir des sources, de binaires pour des matériels très divers. De base, dans cloonix-3.0, il y a deux machines OpenWrt, une UML et une KVM.

Aller plus loin

  • # Dans le même genre: marionnet

    Posté par  (site web personnel) . Évalué à 5.

    http://www.marionnet.org/

    Développé par des personnes de l'IUT de Paris 13.

    A la lecture, je verrais plus marionnet pour l'enseignement, et cloonix pour des tests d'architecture (rien n'empêchant de croiser les utilisations).

    Python 3 - Apprendre à programmer dans l'écosystème Python → https://www.dunod.com/EAN/9782100809141

    • [^] # Re: Dans le même genre: marionnet

      Posté par  (site web personnel) . Évalué à 2.

      Ah oui, merci, je cherchais le nom !
      J'avais vu une présentation de marionnet au ML workshop 2007, et j'avais trouvé ça vraiment bath comme logiciel !

      Je me demande quand même si c'est répandu, ce genre d'applications…

      À noter, une fois qu'on a un beau réseau, y a plein d'applis sympas pour installer des logiciels partout (TakTuk, GXP, etc)
      • [^] # Re: Dans le même genre: marionnet

        Posté par  (site web personnel) . Évalué à 2.

        "Je me demande quand même si c'est répandu, ce genre d'applications…"

        C'est un collègue qui me l'a indiqué, ils l'utilisent à l'IUT d'Orsay pour les TPs réseau.
        Donc c'est au moins un peu utilisé :-)

        Python 3 - Apprendre à programmer dans l'écosystème Python → https://www.dunod.com/EAN/9782100809141

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.