Dpdk et Open vSwitch intégrés à Cloonix

Posté par (page perso) . Édité par palm123, Julien Jorge, Davy Defaud, Nÿco, ZeroHeure, Ysabeau et tankey. Modéré par ZeroHeure. Licence CC by-sa.
23
4
juin
2019
Virtualisation

Cloonix est un gestionnaire de machines virtuelles orienté réseau, son utilité principale est la création de démonstrations mettant en œuvre des protocoles de communication entre machines.

Une évolution majeure a été commencée sur ce logiciel, basé jusqu’à présent sur des connexions entre machines virtuelles implémentées par des sockets UNIX, Cloonix utilise maintenant deux logiciels libres de grande qualité : DPDK et Open vSwitch en plus de QEMU‐KVM.

Ces deux logiciels sont spécialisés dans la gestion des flux d’octets la plus performante possible, ils sont donc utilisés dans Cloonix comme remplacement des sockets UNIX.

QEMU/KVM et les VirtioVsock

Posté par (page perso) . Édité par ZeroHeure, Davy Defaud, palm123, Xavier Claude, Nÿco, Pierre Jarillon et NeoX. Modéré par ZeroHeure. Licence CC by-sa.
Tags : aucun
22
27
nov.
2017
Virtualisation

La configuration d’une machine virtuelle que l’on nomme « invitée » nécessite classiquement une adresse IP dans l’invitée pour se connecter par SSH. Cette IP est configurée en dur ou gérée via DHCP pour plus de souplesse ; cette méthode a l’inconvénient de nécessiter une des interfaces virtuelles de la machine invitée et son pendant côté hyperviseur ou machine hôte.

QEMU

Avec les vsock créées sur qemu-kvm par Stefan Hajnoczi, les invités sont accessibles par un socket stream, donc du même type que TCP, sans passer par une interface IP.

Pour avoir un shell distant comme avec SSH, la sécurité en moins, il existe un petit programme client‐serveur qui se trouve sur GitHub :

git clone https://github.com/clownix/cloonix_vsock

Très simple d’utilisation, il peut aider à avoir un shell sans configuration vers des invités utilisant la virtualisation qemu-kvm.

Ce programme peut être testé avec des sockets INET ou UNIX, voici les trois types de sockets stream gérés :

  1. s = socket(AF_INET, SOCK_STREAM, 0); ;
  2. s = socket(PF_UNIX, SOCK_STREAM, 0); ;
  3. s = socket(AF_VSOCK, SOCK_STREAM, 0);.

On peut observer à nouveau la puissance d’UNIX qui permet d’ouvrir des descripteurs de fichiers vers des protocoles très différents, tout en les traitant exactement de la même façon après l’ouverture.

Une nouvelle version de Cloonix est disponible, la v-37-00.

Posté par (page perso) . Édité par ZeroHeure, Davy Defaud, Pierre Jarillon et palm123. Modéré par Xavier Claude. Licence CC by-sa.
Tags :
24
24
juil.
2017
Virtualisation

Cloonix est un projet sans prétention ni financement, pur produit de l’artisanat, c’est un ovni dans un monde où la communication a été transformée en harcèlement publicitaire et où la réduction des coûts et délais prime sur la conscience professionnelle. Le projet Cloonix a déjà 10 ans, il reste discret bien que techniquement mature et efficace.

Logo de Clownix

C’est un outil d’aide à la gestion de la virtualisation de réseaux sous licence AGPL v3, le projet a commencé alors que KVM n’existait pas encore, il est le fruit d’un travail continu motivé par le plaisir de l’artisan.

Son but ultime est de regrouper tous les logiciels libres ayant une composante réseau en un ensemble de démonstrations jouables sans effort de configuration.

Cette nouvelle version est capable de gérer un routeur propriétaire Cisco CSR 1000v. Il a fallu de l’astuce pour parvenir au résultat, c’est ce que la seconde partie expose.

Sortie de Cloonix 33-00

25
4
nov.
2016
Virtualisation

Cloonix est un couple client‐serveur dont le serveur lance et pilote une grappe de machines virtuelles KVM sur demande d’un client cloonix. Ce serveur peut interconnecter ces machines virtuelles, formant ainsi un petit réseau comportant jusqu’à 50 KVM par instance de serveur cloonix.

Cloonix

La version 33 est un saut pour plusieurs raisons :

  • la décision de faire une vraie gestion de configuration, sous GitHub ;
  • après plusieurs années de licence RPL (Reciprocal Public License) retour à la GPL v3 ;
  • grosses modifications dans la façon d’installer cloonix, maintenant très simple ;
  • nettoyage de l’objet réseau ayant le rôle de cable, le lan est maintenant un processus brassant les flux d’octets par sockets UNIX uniquement ; l’option shared memory a été effacée, code trop complexe amenant moins d’un facteur 2 de gain de performance, l’atout de cloonix étant son côté pratique, pas sa performance ;
  • création du client hyperzor, un soft GTK qui supervise et controle plusieurs serveurs cloonix ;
  • API enfin stabilisée, pour les clients : cloonix_cli, cloonix_gui, cloonix_zor, cloonix_ssh, cloonix_scp et pour le serveur cloonix_net ;
  • création de l’objet réseau a2b, qui se met en coupure sur un lien et contrôle les flux entre 2 réseaux ;
  • l’objet c2c, qui joint deux cloonix distants par TCP, possède maintenant les performances d’une connexion TCP, un bogue en diminuait le débit.

Pilotez un réseau en overlay avec cloonix

Posté par (page perso) . Édité par Benoît Sibaud, ZeroHeure et palm123. Modéré par Pierre Jarillon. Licence CC by-sa.
Tags :
15
18
oct.
2015
Virtualisation

Le réseau en overlay est un réseau virtuel ou logique s'appuyant sur un réseau de machines physique réel.

Cloonix est un couple client-serveur dont le serveur lance et pilote un Cluster de machines virtuelles KVM sur demande d'un client cloonix. Ce serveur peut inter-connecter ces machines virtuelles formant ainsi un petit réseau comportant jusqu'à 50 KVM par instance de serveur cloonix.

Un serveur cloonix gère donc les connexions intra-Cluster mais peut aussi demander une connexion inter-cloonix à un autre serveur cloonix, cette connexion nommée c2c est basée sur TCP.

Ceci ouvre la possibilité de gérer à partir d'un client cloonix unique, un gros réseau virtuel en surcouche ("overlay") d'un réseau physique existant.

Il n'y a pas pour l'instant de sécurisation sur le contrôle du serveur et les accès aux machines, il est donc déconseillé pour l'instant de lancer un serveur cloonix sur une machine hôte accessible du web.

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

Mettez un Cisco dans votre PC

Posté par (page perso) . Édité par Nÿco, Xavier Claude, Xavier Teyssier et baud123. Modéré par patrick_g. Licence CC by-sa.
18
11
fév.
2013
Linux

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.

Un PC sous Linux peut héberger un Cisco et un Windows 7 dans le même réseau virtuel Cloonix. Dynamips, émulateur de routeur Cisco, revient dans Cloonix, il avait été supprimé il y a des années pour un mélange de raisons, en voilà déjà quatre, toujours valables :

  • ségrégation anti-monopole : la diffusion de connaissance du cli Cisco n'aide pas la concurrence ;
  • la loi : Cisco n'autorise pas l'utilisation de son IOS ;
  • la maintenance : l'auteur de Dynamips est parti sur d'autres projets ;
  • la techno : émulation peu performante.

Gns3 qui est l'utilisateur le plus populaire de Dynamips semble le maintenir un minimum, ce qui change pas mal de choses. Ceci étant associé à une demande d'utilisateurs Cloonix, le code de gestion Cisco/Dynamips a été réintégré dans Cloonix.

Cloonix, qemu-kvm et spice, virtualisation simple et puissante

35
8
jan.
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.

Cloonix avait adopté qemu-kvm dont les sources sont recompilées, et maintenant Cloonix vient d'adopter Spice dont les sources sont aussi recompilées. Cette méthode permet d'avoir une bonne cohérence entre les versions utilisées, surtout quand ces versions sont issues de développements récents tels que Spice. Le lien entre le dernier Qemu et Spice est assez fort pour justifier ce choix, Red Hat participant aux deux projets.

Pour faciliter la vie de l'utilisateur, les membres de Cloonix ont aussi créé de multiples machines (les « spice guests ») qui montrent leurs beaux bureaux sous un Spice dernière génération. Parmi les machines disponibles dans les « spice guests » : Lubuntu, Fedora 17 (avec Xfce ou Lxde), Crunchbang, Knoppix…

Grâce à ces machines « toujours vierges », l'équipe de Cloonix a pu tester la compilation « from scratch » sur ces distributions ainsi que le « nested cloonix kvm spice », c'est-à-dire l'utilisation de Cloonix dans chacune de ces « guest spices » qui elles-même tournaient dans un autre Cloonix (sur un hôte Debian Wheezy).

Bien sûr, Cloonix a surtout pour vocation la création de démonstrations de réseaux virtuels, la version 20 peut maintenant fonctionner sur une machine x86 32 bits, un utilisateur ayant eu besoin d'un réseau virtuel de démonstration sur une clef USB sous la distribution Knoppix.

Utilisation du Copy On Write sur les qemu-kvm de cloonix

Posté par (page perso) . Édité par Benoît Sibaud et baud123. Modéré par baud123.
Tags :
19
18
nov.
2012
Virtualisation

Lorsque cloonix a commencé à utiliser spice comme bureau distant pour des machines invitées qemu-kvm, la gestion des fichiers disques virtuels cloonix a dû évoluer.

Les machines invitées proposées pour tester spice font quelques GiB car elles contiennent une distribution complète avec bureau.

Le logiciel cloonix étant prévu au départ pour multiplier des petits invités, la méthode par défaut était une copie complète du fichier disque virtuel avant démarrage.

Ceux qui ont essayé comprennent très bien le problème que cela posait : une longue attente avant le début du démarrage de l'invité visible dans cloonix par le passage au rouge vif de la représentation de la machine.

La version 19 de cloonix corrige cela grâce au Copy On Write ; au lieu de copier un fichier de référence, on fabrique un autre fichier qui a un lien interne sur la référence cette fabrication se fait en quelques secondes et le fichier produit réagit comme une copie par cp.

Virtualisation avec bureau SPICE

Posté par (page perso) . Édité par Davy Defaud, Florent Zara et NeoX. Modéré par Xavier Claude.
31
31
oct.
2012
Virtualisation

La version 18 de Cloonix est sortie. Elle inclut SPICE dans la configuration de la solution de virtualisation QEMU-KVM.

SPICE — Simple Protocol for Independent Computing Environments — est un protocole d’affichage et d’interaction à distance dédié aux machines virtuelles. Sachant que SPICE a été créé par la société Qumranet, tout comme la virtualisation KVM, il est logique d’utiliser ces deux technologies ensemble.

Cloonix est un ensemble de logiciels développés en C, sous licence GPL v3, qui est spécialisé dans l’aide à la création de machines virtuelles et des liens entre celles‐ci. Son domaine d’application est le prototypage ou maquettage d’un réseau de machines virtuelles invitées au sein d’une machine hôte. Sa fonctionnalité centrale est la virtualisation du réseau local avec ses câbles et commutateurs réseaux — switches — reliant les machines virtuelles.

cloonix-15

Posté par (page perso) . Édité par Benoît Sibaud, baud123, Pierre Jarillon, Xavier Claude et patrick_g. Modéré par patrick_g.
22
31
juil.
2012
Linux

cloonix-15 est arrivé, et cette fois avec de la documentation !

Pour ceux qui ne savent pas, cloonix est un framework d'aide à la gestion de machines virtuelles en réseau : le réseau y est dynamiquement configurable et l'outil permet de créer des maquettes d'une façon simple.

Les évolutions de la version 15 : les systèmes de fichiers Cloonix_kvm peuvent être sauvés et réutilisés.

Cloonix est en quelque sorte une émulation d'infrastructure réseau complète virtualisant commutateurs réseau (« switchs »), liens et machines.

La réalité opérationnelle commence à ressembler à Cloonix : il y a un courant visant à permettre une infrastructure de moins en moins tangible, de façon industrielle, avec la virtualisation des switchs et une nouvelle façon de les contrôler grâce à Openflow, qui apporte plus de flexibilité.

OpenVswitch implémente Openflow, il remplace déjà brctl de bridge-utils dans le noyau.

Démo Cloonix

Posté par (page perso) . Édité par Nÿco, Xavier Claude, tuiu pol, Xavier Teyssier et Benoît Sibaud. Modéré par Xavier Claude.
17
2
fév.
2012
Linux

Cloonix est un simulateur virtuel de réseau. Il permet de gérer dynamiquement la topologie du réseau et aide à la création et à la configuration des machines virtuelles sur ce réseau. Comme prévu lors de ma précédente dépêche sur Cloonix, voici une démo « plug-and-play » qui met en jeu un réseau de routage OSPF (Open Shortest Path First), une machine jouant le rôle du DNS, un navigateur (Iceweasel) d'un côté du réseau et un Apache 2 de l'autre.

Avec une commande (après installation de cloonix-13.1 et après le téléchargement de la machine virtuelle de 200 Mo comme mentionné dans le README de la démo), on a une plate-forme configurée de sept machines virtuelles sur laquelle on peut demander une page Web à l'apache2 à travers un réseau OSPF. Dans Iceweasel, le nom apache2 suffit car la machine DNS résout l'adresse.

Même sans essayer l'outil, vous pouvez comprendre la mécanique de Cloonix en téléchargeant les 6 kilo-octets de démo et avec find et vi comme outils d'investigation.

Plusieurs prérequis pour la vraie démo : savoir compiler, avoir une machine qui accepte l'insertion du module KVM et de préférence être en Debian Squeeze amd64 (les tests ont été faits sur la Debian 6.03 en amd64). Ceux qui ont la version 12 de Cloonix auront un échec à cause d'un nouvel objet nommé sniffer qui fabrique un fichier pcap sur demande par double-clics, donc ceux-ci doivent mettre à jour leur Cloonix, le pcap est ensuite lisible par Wireshark ou par tshark.

Merci d'avance à ceux qui font l'effort d'essayer le nouveau concept de partage de configurations/connaissances par partage de démos cloonix :).

QEMU, KVM, Cloonix

Posté par (page perso) . Édité par Xavier Claude, Benoît Sibaud, baud123 et Malicia. Modéré par Xavier Claude.
30
2
jan.
2012
Linux

Le noyau Linux peut gèrer la virtualisation au travers du module KVM. Pour utiliser la fonctionnalité KVM, on avait seulement QEMU jusqu'à ce que Pekka Enberg, appartenant à la communauté du noyau Linux, lance la création d'un logiciel plus léger pour remplacer QEMU dans les cas simples d'utilisation.

Cloonix est un logiciel qui se place en utilisateur de machines virtuelles de 3 types : UML, KVM et LXC. Son rôle est de les démarrer, de les configurer, de les superviser et enfin de créer un réseau dynamique entre elles.

Grâce à la nouvelle machine de Pekka Enberg de code très simple, une nouvelle machine utilisant le module KVM existe maintenant : la CLOONIX_KVM, provenant d'un fork de celle de Pekka Enberg, est intégrée à cloonix-12.0.

Cloonix : soyez administrateur réseau sans mot de passe root

Posté par (page perso) . Modéré par baud123.
Tags :
16
30
mai
2010
Linux
Vous êtes en froid avec l'administrateur de votre machine (Linux) et vous avez des manipulations réseau à valider ? La solution est Cloonix, qui sort en version 6.7 !

Cloonix est un ensemble de logiciels en C (sous licence GPL v3) qui prennent en charge la gestion de vos machines virtuelles ainsi que d'un réseau virtuel sous-jacent totalement configurable à chaud.

Les atouts de Cloonix sont les suivants :
  • Interaction graphique avec représentation « WYSIWYG » de la topologie ;

  • Isolation complète de votre réseau du réel (on n'a pas le mot de passe) ;

  • Accès Internet pour toutes les machines virtuelles sur un hôte connecté ;

  • Connexion inter-Cloonix pour étendre votre réseau sur plusieurs machines ;

  • Ensemble fourni avec les dernières OpenWrt, Debian et Ubuntu ;

  • Authentification de toutes les commandes passées au réseau virtuel ;

  • Authentification et chiffrement des flux de trafic sortant et entrant dans le réseau virtuel.

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

Posté par (page perso) . Modéré par patrick_g.
Tags :
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).