Configurer le port forwarding sur une VM VirtualBox
I. Présentation
Lorsqu’on configure la carte réseau d’une machine virtuelle en mode « NAT », votre machine est dans un sous-réseau et l’application VirtualBox joue le rôle de routeur entre ce sous-réseau et le réseau auquel vous êtes connecté à votre carte physique.
De ce fait, si vous avez besoin d’accéder à votre VM à distance vous ne pourrez pas étant donné que le NAT « protège » les machines du LAN et donc dans ce cas, votre machine virtuelle. C’est comme si, d’internet vous essayez d’accéder à une machine située dans votre réseau local, ça ne fonctionne pas naturellement. Il est nécessaire de configurer la box/le routeur, qui dans ce cas est remplacée par l’application VirtualBox.
C’est le même principe qu’une redirection sur une box pour ceux qui l’ont déjà fait, sauf que là c’est dans des conditions différentes avec la présence de la virtualisation.
Pour résoudre ce problème il faut utiliser la fonction de « port forwarding » proposée par VirtualBox qui permet de faire une redirection. Le but c’est que lorsque le client va saisir l’adresse IP de la carte réseau physique du PC en précisant un port précis, il soit redirigé vers l’adresse IP de la machine virtuelle sur un port précis.
II. Exemple
Exemple si l’on héberge un serveur web (écoute sur le port 80) sur la machine virtuelle
- IP de la machine physique : 192.168.1.50
- IP de la machine virtuelle : 10.0.2.15
http://192.168.1.50:800 ----> http://10.0.2.15:80
Note : Le port 800 peut être remplacé par un autre port.
III. Configuration de VirtualBox
- Accédez à la configuration de la machine virtuelle en faisant clic droit dessus puis « Settings ».
- Cliquez sur la section « Network » (réseau).
- Cliquez sur « Port Forwarding ».
- Cliquez sur l’icône où il y a un "+" pour créer une nouvelle règle.
- Remplissez les différents champs :
- Name : Correspond au nom que vous souhaitez donner à la règle,
- Protocol : Indiquez le protocole de transport utilisé,
- Host IP : Indiquez l’adresse IP de votre carte réseau physique c'est-à-dire celle du système hôte,
- Host Port : Indiquez le port sur lequel il faudra faire la demande pour que VirtualBox fasse la redirection,
- Guest IP : Indiquez l’adresse IP de la machine virtuelle,
- Guest Port : Indiquez le port utilisé par l’application située sur votre VM. Par exemple, pour un serveur Web on indique le port par défaut qui est le « 80 ».
Vous n’avez plus qu’à valider et à vérifier que la redirection fonctionne.
Bonjour
Pourquoi lorsque l’on suit scrupuleusement votre tuto cela ne fonctionne-t-il pas ?
Phil
Bonjour,
Peut être que si vous preniez quelques secondes pour nous expliquer le problème que vous rencontrez, nous pourrions vous aider à le résoudre.
Nous avons un forum pour cela : http://www.it-connect.fr/forum/
Bonjour ,
comment configurer le routeur pour la redirection si le pc hote n’est pas un serveur et n’utilise donc pas le port 80 ?
Doit on indiquer dans la box les redirections pour les adresses du pc hote et de la machine virtuelle ?
Merci d’éclairer ma lanterne
Très bien écrit! Extrêmement simple! C’est exactement ce que je cherchais.
Merci!
Ca marche très bien. Merci
Simple, claire, efficace… MERCI !
Bonjour,
ça fonctionne très bien si sur la machine hôte j’utilise un port différent, par exemple si j’indique une url en précisant le port 8080, ça pointe bien vers le serveur de la VM sur le port 80.
Mais je ne trouve pas le moyen de faire la même chose en laissant le port par défaut de la machine hôte, c’est à dire du port 80 vers le serveur sur le port 80. Est-ce que j,aurais raté un détail dans la documentation ?
Je précise que je voudrais transférer tout mon serveur local dans cette machine virtuelle. Par ailleurs, j’utilise des VirtualHost avec une extension propre qui est configurée pour mes différents projets dans le fichier host de Windows. Devoir préciser à chaque fois un port différent est un peu handicapant et je ne peux pas indiquer de port spécifique dans le fichier host pour rediriger sur un autre port. Par exemple, si dans le fichier host j’indiquais par exemple 127.0.0.1:80 localhost:8080 pour me dispenser de l’indiquer dans l’url du navigateur, ça ne fonctionne pas.
bonjour Cyrano,
Je suis dans le même cas que vous. Avez vous trouver un moyen ?
Merci
Pour plus de facilité, réglez le mode d’accès au réseau sur « Accès par pont ». Le système de votre VM récupérera une IP en du type 192.168.0.0 comme vos autres machines de votre réseau et donc plus aucun problème pour accéder à votre/vos sites hébergés sur la VM et pas besoin de redirections (sauf sur votre BOX si vous voulez qu’ils soient accessible depuis internet).
Bonjour,
A mon poste de travail, j’ai installé une Vm ubuntu 16.04 32 bit, systeme hote (windows7).
j’ai configuré le NAT avec redirection de port comme expliqué là-haut, et je ping google, les paquets sont transmis mais je ne reçois rien en réponse.Donc pas de conection internet.
j’arrive a faire le ping avec le systeme hote sans probléme.
Merci !
je confirme sa ne marche pas pour la redirection de port
avant je fessait en bridge mais depuis que ubuntu ont tous changer avec leur système de netplan a la con
la config et devenue du charabia
et si sa ce trouve c’est a cause de c’est modif de config a la con que sa marche plus
sadou sa doit être le dns qui ne résout pas c’est asser courant sur les vm en ubuntu
essaie de ping non pas google.fr mais 8.8.8.8
si sa marche dans ce cas tu fait sa
sudo su -c ‘echo « nameserver 8.8.8.8 » > /etc/resolv.conf’
a noter il faudra lancer cette commande a chaque reboot
Comment fair pour que dans la machine virtuelle le SSID de la carte wifi virtuelle soit celui du vrai reseau wifi ? certains logiciels comme Eufy utilise ce nom de reseau.