== Détails des étapes de l'atelier VirtualBox == {i} Cette section présente le détail des étapes que nous verrons ensemble pendant l'atelier. Il n'est pas nécessaire de les faire avant. '''Seuls les pré-requis sont indispensables et doivent avoir été préparés avant l'atelier.''' /!\ Vérifiez que vous avez bien le module VirtualBox pour votre noyau actuel : {{{ find /lib/modules/$(uname -r) -name vboxdrv.ko }}} === Configurer une machine virtuelle pour démarrer sur un LiveCD === * Avant toute choses il faut s'ajouter au groupe `vboxusers` si ce n'est pas encore fait : . {{{ sudo adduser jcandre vboxusers }}} * À partir de là vous pouvez lancer VirtualBox depuis le menu `Applications / Outils système`. * Créez une machine virtuelle selon les étapes suivantes : * cliquez sur [Nouveau] puis cliquez sur [Suivant] * entrez pour nom `Machine1` et pour système : `Linux 2.6` puis cliquez sur [Suivant] * choisissez 256 Mo de mémoire vive puis cliquez sur [Suivant] * cliquez sur [Nouveau] pour créer un nouveau disque dur virtuel : * cliquez sur [Suivant] * choisissez un type d'image dynamique puis cliquez sur [Suivant] * entrez pour nom `DisqueMachine1` et pour taille 2 Go puis cliquez sur [Suivant] * cliquez sur [Terminer] * cliquez sur [Suivant] puis sur [Terminer] et '''votre machine virtuelle est prête''' ! * Répétez les mêmes opérations pour créer une seconde machine virtuelle `Machine2` * Sélectionnez une machine virtuelle et cliquez sur [Préférences] : * dans la colonne de gauche, sélectionnez CD/DVD-ROM * cochez la case « Installer un lecteur CD/DVD-ROM » : * sélectionnez l'utilisation d'un Fichier image ISO * cliquez sur l'icône en forme de dossier à droite du choix d'image : (voir [[attachment:sélection-image-iso.png||cette capture]]) * cliquez sur [Ajouter] et sélectionnez votre image ISO puis cliquez sur [Ouvrir] * sélectionnez l'image ISO que vous venez d'ajouter puis cliquez sur [Choisir] * cliquez sur [OK] * Re-sélectionnez cette machine virtuelle et cliquez sur [Démarrer] == Configurer un environnement réseau virtuel (pont Ethernet + masquage) == Quand vous démarrez un système (par exemple un LiveCD) dans une machine virtuelle fraîchement créée, vous remarquerez qu'elle obtient automatiquement une adresse IPv4 dans un réseau `10.x.y.z/24` (par exemple `10.0.2.15`). Ceci est lié à la configuration par défaut de VirtualBox qui intègre un service DHCP et un masquage d'adresse utilisant celle de la machine hôte. Cependant, dans ce mode de fonctionnement, il n'est pas possible pour les machines virtuelles de communiquer ensemble. Nous allons donc créer un réseau virtuel pour nos machines virtuelles. * Ajoutez ceci à la fin de `/etc/network/interfaces` : . {{{ # création d'une interface virtuelle pour une première machine virtuelle auto vbox0 iface vbox0 inet manual virtualbox_user jcandre # création d'une interface virtuelle pour une seconde machine virtuelle auto vbox1 iface vbox1 inet manual virtualbox_user jcandre # création d'un commutateur (switch) virtuel reliant ces interfaces virtuelles auto br0 iface br0 inet static address 192.168.127.1 netmask 255.255.255.0 network 192.168.127.0 broadcast 192.168.127.255 bridge_ports vbox0 vbox1 bridge_stp off bridge_fd 1 bridge_maxwait 0 up /sbin/iptables -t nat -A POSTROUTING -s 192.168.127.0/24 -o ! br0 -j MASQUERADE up /sbin/sysctl -w net.ipv4.ip_forward=1 down /sbin/sysctl -w net.ipv4.ip_forward=0 down /sbin/iptables -t nat -A POSTROUTING -s 192.168.127.0/24 -o ! br0 -j MASQUERADE }}} * Cette configuration sera automatiquement activée lors du prochain démarrage de la machine, mais vous pouvez aussi l'activer immédiatement en utilisant les commandes suivantes : . {{{ sudo ifup vbox0 sudo ifup vbox1 sudo ifup br0 }}} * Vérifiez que l'interface hôte du réseau virtuelle est fonctionnelle avec : . {{{ ping -n 192.168.127.1 }}} == Configurer un mini serveur DHCP local == Nous avons alors besoin de notre propre service DHCP et DNS pour nos machines virtuelles, ce que nous pouvons mettre en place très simplement avec `dnsmasq`. * Ajoutez ces lignes à la fin de `/etc/dnsmasq.conf` : . {{{ # installation des services DHCP et DNS sur le réseau virtuel interface=br0 bind-interfaces # intervalle d'adresses IP disponibles, renouvelées toutes les heures dhcp-range=192.168.127.33,192.168.127.126,1h # blocage des résolutions DNS inverse pour notre réseau virtuel local=/127.168.192.in-addr.arpa/ }}} * Puis relancez le service avec : {{{sudo invoke-rc.d dnsmasq restart}}} == Tester le réseau virtuel (interne + externe) == Maintenant configurons nos machines virtuelles pour utiliser ce réseau virtuel ! * Si vos machines virtuelles sont en fonctionnement, commencez par les arrêter * Sélectionner ensuite une machine virtuelle puis cliquez sur [Préférences] : * dans la colonne de gauche, sélectionnez Réseau * dans Adaptateur 0, cochez la case Activer l'adaptateur réseau si ce n'est pas encore le cas * choisissez de l'attacher à un Adaptateur réseau hôte * cochez la case Câble relié le cas échéant * entrez `vbox0` comme Nom de l'interface * cliquez sur [OK] et '''votre machine virtuelle est reliée au réseau virtuel''' ! * Refaites les mêmes opérations pour la seconde machine virtuelle en utilisant `vbox1` au lieu de `vbox0` * Démarrez vos deux machines virtuelles sur un (ou deux) LiveCD * Vérifiez les adresses IP dans chacune d'elles, elles devraient être de la forme `192.168.127.x` * Faites un `ping` de l'une des machines virtuelles vers l'autre => '''le réseau virtuel fonctionne''' ! * Faites un `ping` d'une machine virtuelle vers l'hôte (adresse `192.168.127.1` sur `br0`) * Faites un `ping` d'une machine virtuelle vers `www.auf.org` => '''le DNS et le masquage fonctionnent''' ! '''Félicitations : vous êtes prêt pour les ateliers suivants !''' :-)