Outils pour utilisateurs

Outils du site


app:virtualbox:port-forwarding

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
app:virtualbox:port-forwarding [2017/09/05 08:30] yoannapp:virtualbox:port-forwarding [2021/02/01 21:51] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
-{{tag> virtualbox port forwarding nat}}+{{tag> virtualbox forward forwarding nat}}
  
 ====== Accéder à un service réseau de la VM depuis l’hôte ====== ====== Accéder à un service réseau de la VM depuis l’hôte ======
Ligne 5: Ligne 5:
 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). 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 ====+Grâce à la règle de NAT, toute communication arrivant sur un port choisit sur l’hôte sera transférée sur l'invité.
  
-  - Identifier un port libre sur l’hôte+===== Procédure ===== 
 + 
 +Pour pouvoir créer la règle: 
 + 
 +  - Déterminer l'adresse IP du système invité 
 +  - Identifier un port libre sur le système hôte
   - Créer la règle avec la commande de gestion **vboxmanage** ou l'interface graphique   - Créer la règle avec la commande de gestion **vboxmanage** ou l'interface graphique
  
-===== Serveur Web =====+ 
 +==== Déterminer l'IP de l'invité ==== 
 + 
 +Il est possible de retrouver l'adresse IP du système invité depuis l’hôte si les additions invité ont été installés. Dans ce cas, avec **vboxmanage**: 
 + 
 +<code bash> 
 +vboxmanage guestproperty enumerate ma-vm | grep -i ip 
 +</code> 
 + 
 +Sinon récupérer l'IP depuis le système invité via les outils disponibles. 
 + 
 +==== Un port sur l’hôte ===== 
 + 
 +Utiliser un port hors de la plage réservée 0-1024, utiliser **netstat** pour s'assurer que le port est libre. 
 + 
 +<code bash> 
 + netstat -an | grep ":8080" 
 +</code> 
 + 
 +==== Création de la règle NAT ==== 
 + 
 +Depuis l'interface graphique: 
 +  * Sélectionner la VM puis l'option **Configuration...** 
 +  * Section **Réseau**, sur l'onglet de l'interface, déployer **Avancé** 
 +  * Cliquer sur le bouton **Redirection de ports** 
 +  * Ajouter la règle dans la fenêtre **Règles de redirection de ports** 
 + 
 +En ligne de commande, utiliser **vboxmanage** avec l'argument **modifyvm**: 
 + 
 +<code bash> 
 +vboxmanage modifyvm "ma-vm" --natpf1 "nom_regle,tcp,ip-hote,8088,ip-vm,80" 
 +</code> 
 + 
 +La commande **showvminfo** listera la règle nouvellement définie: 
 + 
 +<code bash> 
 +$ vboxmanage showvminfo debian-8 
 +... 
 +NIC 1 Rule(0):   name = ssh, protocol = tcp, host ip = 127.0.0.1, host port = 2222, guest ip = 10.0.2.15, guest port = 22 
 +... 
 +</code> 
 + 
 +<note info> 
 +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. 
 +</note> 
 + 
 +=====Supprimer la règle de forwarding ===== 
 + 
 +En cas d'erreur ou pour supprimer une règle de forwarding devenue inutile: 
 + 
 +<code> 
 +$ vboxmanage modifyvm "ma-vm" --natpf1 delete ma-regle 
 +</code> 
 + 
 +===== Exemples ===== 
 + 
 +==== Serveur Web ====
  
 La commande **netstat** permet de lister les ports en cours d'utilisation sur l’hôte: La commande **netstat** permet de lister les ports en cours d'utilisation sur l’hôte:
Ligne 41: Ligne 102:
  
  
-<note info> +==== Accès SSH ====
-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. +
-</note> +
- +
-===== Accès SSH =====+
  
 On configure ici le **NAT** pour accéder en **ssh** depuis l’hôte au système virtualisé. On configure ici le **NAT** pour accéder en **ssh** depuis l’hôte au système virtualisé.
Ligne 74: Ligne 131:
 $ vboxmanage startvm "ubuntu-16-server" $ vboxmanage startvm "ubuntu-16-server"
 </code> </code>
- 
- 
  
 Se connecter à la VM depuis l’hôte via ssh Se connecter à la VM depuis l’hôte via ssh
app/virtualbox/port-forwarding.1504600230.txt.gz · Dernière modification : 2021/02/01 21:51 (modification externe)