Recent Changes - Search:

Général

Sécurité

Windows

Linux

Systeme

Réseaux

XBMC

Liens

PmWiki

edit SideBar

ConfigurationInterfaceMachineVirtuelleSousVirtualBox

Ce qu'il faut savoir pour utiliser le réseau pour les machines virtuelles. Deux solutions :

  • utiliser la fonction NAT native de VirtualBox
  • utiliser la fonction bridging

L'inconvénient de la première est que toutes les connexions entrante vers la machine virtuelle seront filtrés (à cause du NAT). L'inconvénient de la seconde est la mise en oeuvre : il faut mettre les mains dans le camboui...

Utilisation du NAT

Par défaut, VirtualBox embarque un serveur DHCP. Les machines virtuelles obtiennent leur adresse IP de ce serveur embarqué. Le principal souci est qu'il est impossible en natif d'accéder (ouverture de connexion) via la machine hôte ou les autres machines du réseau à la machine virtuelle.

Pour cela il suffit de faire du "mapping" de port (Source : http://doc.ubuntu-fr.org/virtualbox).Le mapping de port se met en œuvre avec les commandes suivantes (à faire une fois l'OS invité éteint) :

   vboxmanage setextradata "{nom de machine virtuelle}" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/{nom du mapping}/Protocol" TCP/UDP
   vboxmanage setextradata "{nom de machine virtuelle}" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/{nom du mapping}/GuestPort" {port machine virtuelle}
   vboxmanage setextradata "{nom de machine virtuelle}" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/{nom du mapping}/HostPort" {port machine hôte}
  • {nom de machine virtuelle} est à remplacer par le nom de la machine virtuelle à configurer.
  • {nom du mapping} est à remplacer par une simple chaine de caractères indiquant la nature du mapping (par exemple ftp, http, ssh, etc.).

Exemple :

   VBoxManage setextradata VMachine "VBoxInternal/Devices/pcnet/0/LUN#0/Config/http/HostPort" 8080
   VBoxManage setextradata VMachine "VBoxInternal/Devices/pcnet/0/LUN#0/Config/http/GuestPort" 80
   VBoxManage setextradata VMachine "VBoxInternal/Devices/pcnet/0/LUN#0/Config/http/Protocol" TCP

Ces commandes auront pour effet de rediriger les paquets TCP reçus sur le port 8080 de l'OS hôte (venant de toutes ses interfaces) vers le port 80 de l'OS invité.

Pour l'accès, à partir d'un navigateur web :

Pour annuler le mapping de port, il suffit de relancer ces trois commandes sans leur dernier argument.

Utilisation du Bridging ou Host interface networking

Installer les paquets suivants :

   apt-get install bridge-utils uml-utilities

Configurer le réseau de la machine hôte (modification du fichier /etc/network/interfaces)

   # L'interface réseau physique de la machine
   auto eth0
   iface eth0 inet manual

   # L'interface qui sera utilisée par VirtualBox
   auto tap0
   iface tap0 inet manual
       tunctl_user user

   # Le bridge, permettant au réseau d’être accessible aux deux interfaces réseaux.
   auto br0
   iface br0 inet dhcp
       post-up chmod ugo+rw /dev/net/tun
       bridge-ports eth0 tap0
       bridge-ageing 7200
       bridge-fd 0

Il faut définir la valeur user à la valeur de l’utilisateur sous lequel VirtualBox sera lancé et ajouter cet utilisateur au groupe uml-net :

   addgroup user uml-net

Redémarrer le réseau.

   /etc/init.d/networking restart

Surveiller les différents messages affichés lors de cette opération, ceux ci pourront être utiles pour repérer une erreur de configuration.

Configuration de la machine virtuelle

Il est nécessaire que la machine virtuelle soit arrêtée. A partir de l’interface graphique , dans la partie Réseau des Préférences d’une machine virtuelle, il suffit de spécifier les deux valeurs Attaché à et Nom de l’interface respectivement à Adaptateur réseau hôte et tap0 comme dans la capture ci-dessous.

S'il y a plusieurs machines virtuelles, il est possible de déclarer plusieurs tapx dans /etc/network/interfaces.

Edit - History - Print - Recent Changes - Search
Page last modified on April 19, 2008, at 12:32 AM