Notes et astuces sur les systèmes libres basés sur GNU/Linux

Aller au contenu | Aller au menu | Aller à la recherche

Netkit, UML et Qemu sont dans un bateau Archlinux ... qui tombent à l'eau ?

Hi,

Boussole
Cet article est un résumé de mon expérience de la veille, cela me permettra de savoir ce que j'ai testé et ce qui n'a pas fonctionné mais j'espère que cela vous fera découvrir des solutions.
Un article riche en lien et en expérience, j'espère que cela vous sera utile.

Le besoin :

Comme vous le savez maintenant, je suis en train de configurer mon serveur dedié Online aux petits ognons (nouveaux).
Pour ce faire, je me suis monté une petite infrastructure passionnante.
Pour être un peu plus proche de ma configuration réelle, je m'étais dit qu'il me fallait un système qui me permettrait de simuler mes Iptables et le contexte réseau autour de mon serveur.
J'avais pensé utiliser Virtualbox ou kvm mais la procédure d'installation me paraissait longue et lourde (installation de l'hyperviseur, génération d'un fichier disque dur, installation de l'os virtualisé sur le disque dur) pour un si petit besoin. ...
Par pur fainéantise et commodité, je souhaitais un logiciel prêt à l'emploi.

Netkit : Une solution clé en main intéressante pour simuler des labos virtuels

Netkit était idéal car je n'avais qu'à installer, indiquer le nombre de VM et lancer la vm.
Si vous ne connaissez pas ce projet, je vous invite à consulter les ressources en-dessous pour vous faire une petite idée.
Je dégaine mon yaourt. Un paquet existe. Je lance la compile ...
Crack pas assez de place dans tmp... Faudra que je me penche sur ce problème déjà rencontré, mais je pare au plus pressé, je change de cheval.

UML (UserMode Linux) : Un trousse à outil pour virtualiser une machine

Je prends l’élément de base de netkit, je tombe sur UML.
Wikipedia me dit que c'est nul mais je lis quelques articles et cela semble prometteur et customisable.
Je compile le paquet, je télécharge tout comme il faut, paf ça ne marche pas, cela boucle au démarrage, j'ai dû louper une étape.

QEMU :

Le temps file et les solutions défilent, je vais donc revenir aux vrais valeurs, je réinstalle vite fait un kvm-qemu.
Le paquet a changé de nom depuis mon dernier article, je vais donc feuilleter le wiki fr Archlinux mais il n'est pas à jour.
Peut être que les paquets évoluent trop vite pour notre wiki francophone ...
Il faudra que je m'inscrive pour modifier le wiki.

Comme dit plus haut, je ne voulais pas me farcir l'installation d'un OS juste pour une VM, je pensais donc réutiliser l'image disque Debian téléchargée sur le site UML..
L'image disque n'est plus bootable, je télécharge le kernel mais cela ne marche pas mieux, décidément je suis maudit, je n'ai pas envie de chercher plus longtemps.

Le renoncement ...

On revient à la base de la base, je télécharge une image netinst de Debian et je suis parti.
Tout marche comme il faut, out of box.
Youpii, enfin.
Un petit bémol, la solution "réseau privé" fournie par Qemu ne me convient pas car la machine n'est pas dans le même réseau que ma machine réelle, je devrais donc utiliser des redirections pour tester mon firewall.
Or, quand je teste des règles de pare-feu, il vaut mieux avoir une architecture simple sans redirection foireuse par dessus.
Dans mon optique de réutilisation et de gain de temps, qui a été une pure réussite jusqu'à présent, j'essaye de créer une interface virtuelle et de l'ajouter à mon pont à la mode lxc.
Après quelques incompréhensions, je tombe sur l'explication de lxc sur le réseau veth..
Je me dis qu'il faut juste prendre le numéro de process de mon kvm pour que cela fonctionne mais non cela aurait été trop simple, cela ne fonctionne pas.
J'essaye la solution simple du Wiki archlinuxfr : la création d'une interface virtuelle.
Bien entendu, le paquet uml_utilities a disparu ce qui n'arrange pas mes affaires.
Je me rabats sur la solution openvpn mais je l'abandonne car je peux utiliser la fonction dédiée dans Iproutes2.
Il faudra vraiment que je m'inscrive pour apporter ma pierre à l'édifice Wiki Archlinux.

La partie utile :

#Installation de Qemu
yaourt -S qemu
#Creation du disque dur
qemu-img create debian.raw -f raw 4G
#Installation de l'os virtuel sur le disque virtuel
qemu-system-x86_64 -enable-kvm -m 512 -k fr -drive file=debian.raw,if=virtio,media=disk -usb -usbdevice tablet -cdrom votre_iso.iso -boot d
#Creation de l'interface virtuel
sudo ip tuntap add dev tap1 mode tap
#On monte l'interface
sudo ip link set tap1 up

On l'ajoute au pont (pré-requis la configuration du pont cf : mon article lxc)

brctl addif br0 tun1
#On boot sur le système tout beau :
qemu-system-x86_64 -enable-kvm -m 512 -k fr -drive file=debian-7-amd64.raw,if=virtio,media=disk -usb -usbdevice tablet -net nic -net tap,ifname=tap1,script=no --curses

L'option : curses permet de ne pas ouvrir une nouvelle fenêtre et de n'afficher qu'une fenêtre console, cela permet d'économiser des ressources.
Pour ceux qui ne veulent pas du tout de sortie console, il y a l'option nographic.

Et voilà, plus le temps manque plus on en perds à chercher quelque chose qui fonctionne.
J'arriverai même à penser qu'avoir une distribution rolling release n'est peut être pas l'idéal pour la documentation de la communauté.

                           Au plaisir !!!

Ressources :

Netkit : Un pdf intérressant , Quelques exemples à picorer
UML : Tutoriel pas à pas UML Utilisation d'UML pour monter des labos Le wiki d'Ubuntu
Qemu : Présentation détaillée de Qemu dans un contexte pédagogique L'architecture réseau de Qemu

Ajouter un commentaire

Les commentaires peuvent être formatés en utilisant une syntaxe wiki simplifiée.

Fil des commentaires de ce billet