Sortie de Cloonix 22.2

28
23
juil.
2013
Virtualisation

Cloonix, simulateur virtuel de réseau, permet de gérer la topologie de réseaux virtuels. Il permet de créer à la volée, par glisser-déposer, des machines virtuelles et de les connecter par manipulations graphiques.

Comme Virsh, cloonix aide à lancer et connecter des machines virtuelles, il fait des appels à qemu-kvm dont les lignes de commandes sont assez complexes. Cloonix prépare le lancement par création d'un disque de configuration passé à l'invité, puis génère la ligne de commande intégrant les paramètres utilisateurs comme la RAM ou le nombre d'interfaces Ethernet, puis lance l'invité dans un process (sorte de fork) puis crée une connexion socket par interface Ethernet de l'invité.

L'utilisateur peut alors diriger les flux des interfaces où il le désire. Cloonix présente la topologie sur un graphe et permet l’accès simple au bureau spice, à une console ttyS0 dans un tmux, un ssh et scp ne passant pas par la pile IP.

Le but officiel de cloonix est le test multi-machine de code spécialisé réseau. Cloonix est actuellement utilisé chez Thalès pour remplacer VMware par KVM sans avoir les soucis de ligne de commande qemu-kvm et configuration de bridge. Bref cloonix facilite l'utilisation de qemu-kvm en se focalisant sur l'aspect réseau.

Dans la fourniture actuelle de cloonix, il y a en plus de précieux scripts qui permettent de produire from scratch (à partir de rien, façon debootstrap) la plupart des grandes distributions.

Cette version, avec une machine moderne permet de tester cloonix dans chaque distribution grâce à la virtualisation "nested": nous avons compilé, puis fait tourner des invités dans les invités des différentes distributions pour valider le portage du code sur ces distributions.

Cloonix

But de cloonix

Le but de Cloonix est de faciliter la création, l'interaction et la mise en réseau des machines virtuelles. Donnant une vision réseau d'une topologie avec possibilité de modifier le réseau. La principale innovation (en réalité une série d'astuces) permet une automatisation complète d'une démonstration réseau avec une liberté TOTALE sur le réseau IP :

 iptables -P INPUT DROP
 iptables -P OUTPUT DROP
 iptables -F

est une manipulation alors possible sans perdre nos accés scp et ssh que l'on aime tant.

Nouvelles fonctionnalités de la version 22.2

La version 22.2 vient d'être publiée et voici les nouvelles fonctionnalités principales :

Accès innovant aux machines invitées par plusieurs astuces :

  1. Un disque de configuration ext2 est généré à la volée, peuplé avec 2 binaires utiles à l'accès aux machines invitées, un cloonix_agent et un cloonix_dropbear, serveur SSH dropbear patché.
  2. Un accès série de type "console virtuelle" est demandé à qemu, dans les machines invitées, cet accès correspond à un /dev/hvc0 qui est configuré en auto-login root dans les invitées (c'est notre porte d'entrée).
  3. Cloonix frappe régulièrement à cette porte d'entrée tant qu'il ne perçoit pas l'agent à l'intérieur de l'invité. Cloonix demande le montage du disque virtuel et le démarrage de son agent à travers /dev/hvc0.
  4. Le démon cloonix_agent se branche sur un port virtuel communiquant aussi avec cloonix hôte, des « hello » réguliers sont émis entre l'hôte et l'agent. Sur rupture, l'action de rebranchement est initiée (la rupture arrive lors d'un reboot de l'invitée).
  5. Cette connexion hôte/agent transporte les flux pseudo-ssh et pseudo-scp ainsi que les forwarding X11 sans configuration ip.

Utilisation de cloonix pour tester en environnements divers

La compilation et les tests élémentaires d'une invitée kvm openwrt se passe bien et en automatique (grâce à cloonix) dans les invitées suivantes (une seule 32 bits) : wheezy, wheezy_i386, jessie, ubuntu-13.04, fedora-18, centos-6.4, opensuse-12.3, archlinux, mageia-3.

Ces invitées étant elles-mêmes dans un framework cloonix tournant dans une Debian wheezy, la "nested" virtualisation est très pratique.

Il n'y a pas d'autre doc que le readme dans le paquet, nous avons des problèmes de temps dans l'équipe cloonix.

Toutes les distributions téléchargeables sont non seulement utilisables dans cloonix mais aussi en standalone avec les commandes kvm de base, ces commandes sont d'ailleurs données dans le README de l'arbre cloonix. Toutes les machines téléchargeables ont été créées from scratch sans cdrom mais avec un accès Internet uniquement. Ces scripts sont tous soit à base de debootstrap, soit avec des astuces équivalentes. La plus difficile de ces machines a été la Mageia car le urpmi n'est pas de base dans ma distribution, pour avoir le premier chroot avec urpmi, il a fallu utiliser rpm en prenant les packages dans l'ordre… Pour les autres non-debian, yum au départ est une bonne méthode. Arch fournit un super petit système de départ pour pacman, ils pensent aux développeurs :). Pour elle, les scripts fonctionnent à coup sûr dans une Debian wheezy mais ils n'ont pas d'attache particulière à la distribution, ils sont dans l'arbre cloonix.

Aller plus loin

  • # Hack writing

    Posté par  . Évalué à 5.

    Cet article a été écrit dans un style plus digne d'un hacker que d'un journaliste. Il est quand même pertinent en présentant un projet pas forcément indispensable mais qui pourrait améliorer grandement l'efficacité du travail pour certains projets en développement ou en éducation. Donc, je pertinente.

    J'essaierai Cloonix.

    • [^] # Re: Hack writing

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

      Cet article a été écrit dans un style plus digne d'un hacker que d'un journaliste.

      Peut-être parce qu'en général il n'y a pas de journalistes qui écrivent les news ?

      En fait en lisant le commentaire on y trouve une connotation négative, entre autre « Il est quand même pertinent ». Ça veut dire que les articles écrits par des hackers ne le sont pas ?

      • [^] # Re: Hack writing

        Posté par  . Évalué à 5.

        Ça veut dire que les articles écrits par des hackers ne le sont pas ?

        C'est juste que les articles écrits par des hackers sont généralement surtout lisibles par d'autres hackers, et peu compréhensibles par les autres.

        Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

        • [^] # Re: Hack writing

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

          Ha oui mais ça c'est lié à cl{oo|w}nix ;-)
          Quelqu'un pour expliquer facilement et de manière compréhensible (par tout le monde) ce que ça fait ?

          • [^] # Re: Hack writing

            Posté par  . Évalué à 6.

            Quelqu'un pour expliquer facilement et de manière compréhensible (par tout le monde) ce que ça fait ?

            Je crois que j'ai compris mais je ne suis pas sûr de pouvoir expliquer ça clairement. En gros, ça permet de lancer des machines virtuels avec Qemu/KVM afin, notamment, de simuler facilement les réseaux entre ces machines. Par exemple, dans l'image ici http://clownix.net/siteweb/build/html/_images/demo_web.png , il y a un client qui accède à un serveur avec plusieurs routeurs au milieu.

            Le gros avantage de clownix, c'est d'éviter l'écriture de toutes les lignes de commandes pour lancer les machines virtuelles.

            « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

          • [^] # Re: Hack writing

            Posté par  . Évalué à -1.

            C'est à peu près la même chose que le french Marionnet, mais qui lui utilise le cloisonnement plutôt que la virtualisation.

            Ou plus près de moi la même chose que Common Open Research Emulator

            ça fait de la simulation. Comme une femme, mais en plus technologique ;-D

            • [^] # Re: Hack writing

              Posté par  . Évalué à 1.

              À l'IUT (je suis étudiant) on utilise Marionnet mais le projet a l'air un peu dormant (surtout quand on regarde le wiki) et Common Open Research Center ça a pas l'air d'être pour les étudiants…
              Du coup quand je vois Cloonix je me dis que ça a l'air vachement sympa quand même non?

              Écrit en Bépo selon l’orthographe de 1990

              • [^] # Re: Hack writing

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

                En effet, cloonix c'est pour la formation des pirates (gentils ou méchants) aux techniques attaques/défenses réseau.
                Une maquette cloonix du site web à attaquer/défendre puis le pirate s'entraine d'une façon réaliste…

                Et aussi pour aider les étudiants à se former aux routages divers…ils peuvent même intégrer un cisco tournant sur dynamips dans leur maquette.

              • [^] # Re: Hack writing

                Posté par  . Évalué à 1.

                Je pense que vous utilisez Marionnet parce qu'il emploie du cloisonnement plutôt que de la virtualisation. Ce qui permet de simuler des réseaux complexes en utilisant beaucoup moins de ressources.

                Quand un projet n'est plus actif c'est plutôt bon signe : ça veut dire qu'il a abouti ;-D

                Sinon CORE est très bien fait et très bien documenté. C'est pas parce qu'il y a un .mil dans le dns que ce n'est pas pour les étudiants.

          • [^] # Re: Hack writing

            Posté par  . Évalué à 1.

            Ha oui mais ça c'est lié à cl{oo|w}nix ;-)

            Faut réviser ta syntaxe, c'est clo{o|w}nix plutôt! ^^

            Écrit en Bépo selon l’orthographe de 1990

  • # Le logo ?

    Posté par  . Évalué à 10.

    Merci beaucoup pour cette info très pertinente. Cela dit, le logo me rappelle furieusement celui d'un moteur de recherche populaire, mais je n'arrive pas à retrouver le lien entre les deux, ni dans cette dépêche ni sur le site donné en lien.

    Quelqu'un peut m'éclairer ?

    • [^] # Re: Le logo ?

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

      Aucun lien, nom coloré (clownix autrefois) + (oo de cloonix maintenant)
      + l'inspiration "volé" à google.
      Je ne pense pas qu'il y ait un copyright sur des lettres de couleur…

      • [^] # Re: Le logo ?

        Posté par  . Évalué à 5.

        Je ne pense pas qu'il y ait un copyright sur des lettres de couleur…

        Personnellement, ça ne me défrise pas et ce n'est sûrement pas moi qui irai me « plaindre » :-)

        Par contre, en cas d'action de la part du géant américain, il y a clairement un 'copyright' sur les « lettres de couleur » si le modèle est déposé et/ou si le juge estime qu'il y a matière à induire le quidam en erreur. C'est arrivé lors d'affaires assez scandaleuses comme celle de Mobilix ou bien Milka Couture, alors que c'était son vrai prénom et qu'elle avait le malheur d'avoir un site au fond rosacé, mais très différent du célèbre mauve du chocolatier. Il avait également Jeune et Linux qui était ouvertement une parodie, censée être légale en droit français. Le fait que toutes ces structures soient modestes ou sans but lucratif n'a rien changé à l'affaire.

        Enfin, la toute récente affaire Linkéo montre que des compagnies bien rodées attaquent pour n'importe quoi.

      • [^] # Re: Le logo ?

        Posté par  . Évalué à 6.

        C'est aussi la même police de caractère et exactement les mêmes couleurs que Google. Ça fait déjà pas mal (très difficile de ne pas penser au moteur de recherche quand on voit le logo de Cloonix !).

  • # Site inaccessible

    Posté par  . Évalué à 1.

    Le lien vers le site me donne une erreur 403: "Forbidden, You don't have access to this page".

    Dommage, j'aurais bien aimé voir quelques captures d'écran :)

  • # Dans la même Catégorie, ProxmoxVE

    Posté par  . Évalué à 0.

    Je voulais juste vous dire que ProxmoxVE, qui est dans la même catégorie, avance bien, depuis hier en version teste ça gère même le protocole SPICE.
    C'est un projet que j'utilise beaucoup.
    Notre ami Alexandre DERUMIER qui fait parie de l'équipe de développement peut nous dire un mot, si il a un peu temps.

    Merci.

  • # Excellent!

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

    Ca pourrait meme etre utilise a l'INRIA pour faire
    des experiences.

Suivre le flux des commentaires

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