Création / Gestion des machines virtuelles et port forwarding

posté par Anthony Heukmes le 23-01-2007

Cet article est la suite de "Installation de VWmare server"

Création des machines virtuelles

La création d'une machine virtuelle via l'assistant en cliquant sur le bouton "Create a new virtual machine" est très simple et se déroule en quelques secondes.

Ayant eu quelques difficultés pour la création d'un disque SCSI, je vous conseille vivement de choisir l'option "custom" dans l'assistant puis une fois arrivé aux choix du type de disque de choisir l'option "IDE" plutôt que "SCSI".

Vous allez patienter quelques instants pendant que les fichiers nécessaires à la machine sont créés (par défaut dans le répertoire /etc/lib/vmware/Virtual Machines).
Une fois cette étape terminée, votre machine virtuelle est créée et prête à l'emploi.

Vous pouvez alors insérer le CD bootable du système d'exploitation que vous désirez installer dans votre lecteur et démarrer la machine virtuelle.
Si le CD n'est pas pris en compte et que vous avez un message d'erreur, il faut configurer la machine pour qu'elle démarre sur le lecteur CD.
Cette opération se fait très simplement via les options : il suffit de sélectionner Auto detect pour le device dans l'onglet CDROM.

Machine virtuelle boot CD

Vous aurez remarqué qu'il faut cliquer dans le cadre de la machine virtuelle pour "prendre la main" sur celle-ci et pouvoir interagir via le clavier et/ou la souris.
Pour reprendre la main sur la machine principale, vous devez enfoncer les touches Ctrl+Alt.

Après l'installation du système d'exploitation vous pouvez configurer la machine comme bon vous semble et découvrir la puissance de VMware.
La résolution d'écran, le déplacement de la souris etc. peuvent être otpimisés en installant les VMware-tools (je n'en parlerai pas dans ce tutorial).

Une question peut encore se poser : comment dupliquer une machine virtuelle? La réponse est simple : en faisant un copier/coller du répertoire où se situe la machine virtuelle à dupliquer. Placez vous alors dans ce répertoire et renommez les fichiers .vmsd et .vmx avec le nom de la nouvelle machine. Attention de ne pas renommer les autres fichiers, la virtual machine pourrait en effet ne plus démarrer! Ouvrez alors une machine virtuelle via la console VMware en spécifiant votre nouveau répertoire comme source. Lorsque vous démarrerez la machine dupliquée, un avertissement va s'afficher à propos de l'id de la machine, cliquez sur OK et la machine se lance...

Mise en réseau des machines virtuelles

Vous avez maintenant configuré toutes vos machines virtuelles et vous souhaitez rendre leurs services (serveur mail? web? cvs?) accessibles via Internet?

Deux solutions s'offrent à vous : le mode bridge (pont) ou NAT.
Avec le mode bridge, chaque machine virtuelle est considérée comme étant à part sur le réseau et a donc sa propre adresse publique.
Avec le mode NAT, les machines virtuelles sont sur un réseau privé et seule la machine principale possède une adresse IP publique. Elle joue le rôle de passerelle pour les machines virtuelles et effectue notamment la translation de leurs adresses privées vers l'adresse publique.
Le mode peut être configuré pour chaque machine via la console VMware.

Les explications qui suivent sont à utiliser pour le mode NAT.
Prenons l'exemple d'un serveur web : vous achetez un tout nouveau serveur, installez VMware et créez vos machines virtuelles.
Vous avez une adresse IP publique fixe pour le serveur principal, les machines virtuelles sont quant à elle sur un réseau privé naté.
Vous avez une VM où tourne votre serveur web Apache (son adresse privée est 192.168.1.3), une qui propose un serveur mail (192.168.1.4) et une autre qui propose un serveur CVS (192.168.1.5). Votre serveur principal est accessible via Internet grâce à son adresse publique mais ce n'est pas le cas de vos machines virtuelles.
Pour pouvoir accéder aux différents services, il faut utiliser un mécanisme de port forwarding.
Tous les paquets qui arriveront sur le port 80 (Apache) du serveur principal seront redirigés vers la machine 192.168.1.3, le traffic sur les ports 25 et 110 (SMTP et POP3) vers 192.168.1.4 et enfin les paquets en direction du port 2401 (CVS) seront redirigés vers la machine 192.168.1.5.

Cela peut paraître compliqué mais c'est en fait très simple à mettre en place, VMware a tout prévu!
Il suffit en effet d'éditer le fichier /etc/vmware/vmnet8/nat/nat.conf et d'y ajouter les lignes suivantes :

# Traffic web (Apache)
80 = 192.168.1.3:80

# Traffic SMTP et POP
25 = 192.168.1.4:25
110 = 192.168.1.4:110

# Traffic CVS
2401 = 192.168.1.5:2401

Vous devez alors redémarrer VMware par l'intermédiaire de la commande :
# service vmware restart

Il est assez pratique de redémarrer vmnet-natd sans redémarrer complètement vmware :
# ps -ax | grep vmnet-natd
17975 ? Ss 0:00 /usr/bin/vmnet-natd -d /var/run/vmnet-natd-8.pid -m /var/run/vmnet-natd-8.mac -c /etc/vmware/vmnet8/nat/nat.conf
# kill -9 17975
# /usr/bin/vmnet-natd -d /var/run/vmnet-natd-8.pid -m /var/run/vmnet-natd-8.mac -c /etc/vmware/vmnet8/nat/nat.conf

Si la redirection ne fonctionne pas, tapez la commande ps -A et cherchez le processus vmnet-natd.
Si il ne se trouve pas dans la liste c'est qu'il n'a pas su démarrer. La raison la plus fréquente est que vous avez fait une redirection vers un port
sur lequel le serveur principal écoute déjà. Par exemple, sendmail tourne par défaut sur le serveur principal et écoute sur le port 25. Si vous avez fait une redirection vers le port 25 pour une de vos machines virtuelles, natd n'a pas su démarrer car il y a un conflit. La solution est simple : arrêter sendmail sur le serveur principal!

N'oubliez pas que pour que tout ceci fonctionne vos machines virtuelles doivent être correctement configurées. Vous devez avoir spécifier le mode NAT et bien configuré les adresses IP ainsi que la passerelle par défaut qui est x.x.x.2.

Un autre avantage du port forwarding est de permettre un accès SSH à toutes les machines virtuelles. Il suffirait en effet d'ajouter les lignes suivantes :
3022 = 192.168.1.3:22
4022 = 192.168.1.4:22
5022 = 192.168.1.5:22

Il ne vous reste plus qu'à vous connecter avec un client SSH en spécifiant le port adéquat pour chaque machine...



  Version imprimable


Commentaires

Pseudo :
Code anti-spam : (recopier : )



00:02:c7:85:3d:2f
3.2 0e-b
Posté par raiden le 29-05-2007



© 2dconcept Tous droits réservés 2007 | Plan du site | Hébergement par Netux