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

portforward1

- 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 ».

portforward2

Vous n’avez plus qu’à valider et à vérifier que la redirection fonctionne.

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Florian B.

Consultant chez Délibérata le jour, blogueur pour IT-Connect la nuit, je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.

florian has 2374 posts and counting.See all posts by florian

10 pensées sur “Configurer le port forwarding sur une VM VirtualBox

  • Bonjour
    Pourquoi lorsque l’on suit scrupuleusement votre tuto cela ne fonctionne-t-il pas ?

    Phil

    Répondre
  • 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

    Répondre
  • Très bien écrit! Extrêmement simple! C’est exactement ce que je cherchais.
    Merci!

    Répondre
  • 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.

    Répondre
    • bonjour Cyrano,

      Je suis dans le même cas que vous. Avez vous trouver un moyen ?
      Merci

      Répondre
  • 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).

    Répondre
  • 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 !

    Répondre

Répondre à Cyrano Annuler la réponse

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

 

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.