web-dev-qa-db-fra.com

Comment accéder à un serveur Web sur une boîte virtuelle à partir de la machine hôte

J'ai une machine Windows Vista sur laquelle VirtualBox exécute Ubuntu.

Dans Ubuntu, j'exécute un serveur Web à l'adresse http://127.0.0.1:3000/

Comment accéder à cette adresse depuis ma machine hôte (la boîte Windows)?

29
Argh

Vous pouvez changer votre mode de mise en réseau invité de NAT à Bridged. Fermez simplement votre invité Ubuntu, accédez à la page Paramètres dans VirtualBox, sélectionnez la catégorie Réseau et modifiez la zone de liste Attaché à de NAT en mode ponté.

Éditer:

Après avoir suivi les étapes ci-dessus, redémarrez Ubuntu et l'IP allouée apparaîtra sur l'écran de bienvenue après le chargement. c'est-à-dire que dans le message de bienvenue, il devrait dire quelque chose comme:

Adresse IP pour eth0: 192.168.1.3

Utilisez cette adresse dans la barre du navigateur de la machine hôte suivie du port que vous utilisez. Si c'est autre chose que le port 80, c'est-à-dire si vous le configurez pour utiliser le port 666, l'adresse serait 192.168.1.3:666

Une autre façon de trouver l'IP est de se connecter au serveur HTTP intégré à votre routeur et de regarder dans les paramètres LAN. Chaque machine du réseau doit être répertoriée par nom d'hôte et IP. Sur mon routeur, la plupart des autres que j'ai eu, vous pouvez le faire en tapant 192.168.1.1 dans la barre d'adresse. en cas d'échec, essayez la même adresse sur le port 81. En cas d'échec, LISEZ LE MANUEL.

28
Alfonso Romero

Dépend de la façon dont vous configurez la mise en réseau sur le système d'exploitation invité Ubuntu. Si vous le configurez pour utiliser NAT et que vous avez un serveur DHCP en cours d'exécution sur votre réseau, exécutez simplement ceci:

ifconfig | grep inet

sur la boîte Ubuntu - vous verrez l'adresse IP attribuée à l'invité Ubuntu.

Exemple:

#ifconfig | grep inet
  inet addr:10.0.0.2  Bcast:10.255.255.255  Mask:255.255.255.0
  inet addr:127.0.0.1  Mask:255.0.0.0

Ensuite, appuyez juste http://10.0.0.2:30

10
fsckin

Votre boîtier Windows et le boîtier Ubuntu (qu'ils soient physiques ou virtuels n'a pas vraiment d'importance dans ce cas) doivent tous deux avoir une adresse IP sur le même sous-réseau pour pouvoir communiquer entre eux via TCP/IP. Vous pouvez attribuer une adresse supplémentaire à chaque système d'exploitation en utilisant l'un des sous-réseaux IP privés (voir RFC 1918 ). Une fois qu'ils ont tous les deux une adresse sur le même sous-réseau, configurez le serveur Web pour écouter celui que vous avez donné à Ubuntu, puis utilisez cette IP dans le navigateur dans Windows pour le charger.

L'IP que vous avez configuré maintenant, 127.0.0.1, est l'adresse de bouclage de l'interface réseau locale. Vous n'utiliseriez jamais cette adresse pour accéder à quelque chose sur un système différent, seulement pour vous référer au même système que vous utilisez. Lorsque vous utilisez un système virtuel, traitez-le comme vous le feriez avec un ordinateur distinct du point de vue du réseau.

4
Justin Scott

Pour résoudre votre problème, je vous suggère d'ajouter un nouveau adaptateur résea et de le configurer comme adaptateur hôte uniquement.

Maintenant, vous exécutez l'instance de boîte virtuelle, puis ce que fsckin a suggéré pour voir quel est le ip du nouveau résea.

De cette façon, vous avez un sous-réseau avec votre ordinateur et votre machine virtuelle.

2
fampinheiro

Tout d'abord, vous devez faire ce que dit la réponse 1:

"Vous pouvez changer le mode de mise en réseau de vos invités de NAT à Bridged. Fermez simplement votre invité Ubuntu, accédez à la page Paramètres dans VirtualBox, sélectionnez la catégorie Réseau et modifiez la zone de liste Attaché à de NAT en mode ponté. "

Ensuite, pour obtenir votre adresse IP:

Sur votre machine virtuelle, ouvrez une invite de commande et procédez comme suit:

ip addr show

Vous verrez probablement une ligne qui ressemble à ceci:

inet 192.168.43.96/24 ....

Il y a aussi une ligne avant cela avec

inet 127.0.0.1

Mais vous n'en voulez pas! Vous voulez l'adresse 192. C'est l'adresse de votre machine virtuelle sur votre réseau local. Il doit être accessible par tout appareil connecté au même réseau local.

Maintenant sur votre machine hôte, éditez le fichier/etc/hosts (pas ~/etc) Le nom du fichier est hôtes (ce n'est pas un nom de dossier)

ajoutez une ligne qui ressemble à ceci:

192.168.43.96 myvm.nameofmywebsite.com

Allez maintenant dans le navigateur de votre machine hôte et saisissez myvm.nameofmywebsite.com

Espérons que cela suffira!

Cependant, vous pouvez avoir un routeur doté de fonctions de sécurité qui vous empêcheront de voir votre adresse locale. Ce que vous pouvez essayer de faire est d'utiliser le hotspot de votre téléphone portable comme réseau. Ça marche pour moi. N'oubliez pas que lorsque vous changez de réseau sur votre machine hôte, vous devez redémarrer votre virtualbox.

0
Andy Weinstein