Ceci est une ancienne révision du document !
Le but: Accéder à un service réseau fournit par la VM depuis l’hôte.
Par défaut, la VM est configurée avec une interface Ethernet en mode NAT. Dans ce mode, le service Virtualbox joue le rôle d'un routeur, la VM se trouve dans un réseau virtuel, derrière le routeur Virtualbox. Pour pouvoir accéder au service souhaité fournit par la VM depuis la machine hôte (externe au réseau virtuel) il faut donc configurer une règle de port forwarding (de la même manière qu'il faut le faire pour accéder a un service depuis Internet lorsqu'il est fournit par une machine sur un réseau privé derrière un routeur).
$ netstat -an | grep ":80" tcp6 0 0 :::80 :::* LISTEN $
Ici le port 80 de l'hôte est utilisé, on essai de déterminer si un autre port est libre, par exemple le port 8080
$ netstat -an | grep ":8080" $
Au second essai, le port 8080 n'est pas listé. Il n'est pas utilisé par un service sur l’hôte. On peut donc l'utiliser pour la création de la règle. La syntaxe de création de règle:
vboxmanage modifyvm "ma-vm" --natpf1 "nom_regle,tcp,ip-hote,8088,ip-vm,80"
$ vboxmanage modifyvm "ubuntu-server-14.04" --natpf1 "srv_web,tcp,127.0.0.1,8080,10.0.2.15,80"