Outils pour utilisateurs

Outils du site


app:virtualbox:port-forwarding

Ceci est une ancienne révision du document !


Port forwarding

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 NAT (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).

Procédure

  1. Identifier un port libre sur l’hôte
  2. Créer la règle avec la commande de gestion vboxmanage ou l'interface graphique
$ 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"
La configuration du port forwarding se fait VM éteinte. Si celle-ci est en cours d’exécution: prendre un instantané, l’arrêter, configurer la règle et relancer l'instantané pour la retrouver dans le même état.

Accès SSH

On configure ici le NAT pour accéder en ssh depuis l’hôte au système virtualisé.

Noter l'IP de la VM

 

Déterminer un port libre sur l'hôte

Créer la règle de NAT

Démarrer la VM

Se connecter à la VM depuis l'hote via ssh

Depuis l'interface graphique

app/virtualbox/port-forwarding.1504540500.txt.gz · Dernière modification : 2021/02/01 21:51 (modification externe)