Comment se connecter de Windows 7 à localhost sur Ubuntu VirtualBox?

10

Mon OS hôte est Windows 7

J'exécute un serveur (développement Django) sur Ubuntu 10.04 dans VirtualBox.

Je veux me connecter à ce serveur (via mon navigateur) sur mon hôte Windows. Comment puis je faire ça?

mpen
la source

Réponses:

12

Il est également possible de définir le mode de l'adaptateur réseau sur `` ponté '', puis une machine virtuelle sera considérée comme une machine habituelle avec une adresse IP automatique.

éigénéine
la source
Je l'ai réglé sur "Bridged Adapter". http://localhost:8000/fonctionne sur Ubuntu / Guest / VirtualBox mais pas sur ma machine Windows / Host; dit "Firefox ne peut pas établir de connexion avec le serveur sur localhost: 8000".
mpen
Hah! Je l'ai. Nous avons dû passer explicitement dans mon propre adresse IP lors de l' exécution du serveur: ./manage.py runserver <MY_IP>:8000. Ensuite, cela fonctionne sur les deux machines.
mpen
3
Essayez 0.0.0.0:8000 pour ne pas transmettre une adresse IP exacte.
eigenein
@eigenein: J'aime ça. Ensuite, je peux utiliser localhostsur Ubuntu, mais je dois encore utiliser mon IP à partir de Windows.
mpen
@Mark C'est logique parce que votre Ubuntu virtuel est un OS différent sur une machine différente, donc Ubuntu n'est pas localhostpour Windows.
eigenein
6

Cela a fait le travail pour moi:

De mémoire, si vous avez configuré VirtualBox avec un réseau NAT, je pense que vous pouvez accéder aux services exécutés sur l'hôte à partir du système d'exploitation invité. À partir de l'invité (WinXP), l'hôte apparaît sous la forme 10.0.2.2. Donc, si vous pointez votre navigateur Web WinXP vers cette adresse, il doit se connecter à votre serveur Ubuntu Apache. (Pour l'hôte, cela semble être une connexion de localhost, je crois.)

http://ubuntuforums.org/showthread.php?t=682519

tm_lv
la source
Cette solution a également fonctionné pour moi sur Windows 7. J'ai dû l'utiliser 10.0.2.2dans le fichier hosts.
Eric Majerus
3

Pour cela, vous devez transférer le port sur votre machine virtuelle.

Accédez à l'invite de commande et basculez vers votre dossier de boîte virtuelle, vous pouvez y exécuter les commandes suivantes:

VBoxManage.exe setextradata "name of vm" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/http/HostPort" 8888
VBoxManage.exe setextradata "name of vm" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/http/GuestPort" 80
VBoxManage.exe setextradata "name of vm" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/http/Protocol" TCP

Basculez "nom de vm" avec le nom de votre machine virtuelle, ainsi que le GuestPort avec le port que votre serveur Web utilise, car il pourrait utiliser le port 8080, ou quelque chose de différent. Après cela, vous devriez pouvoir accéder au serveur via http: // localhost: 8888 / si je ne me trompe pas.

Edit: PS: pour autant que je me souvienne, vous devez définir votre adaptateur réseau sur "NAT" pour cela

Edit 2: Le manuel VirtualBox qui se trouve ici comprend une section sur la redirection de port, légèrement différente de la manière décrite ici. Lisez-le au chapitre 6.3.1. (Pour la version 3.2.6)

private_meta
la source
Après avoir exécuté ces commandes, je ne peux plus démarrer Ubuntu.
mpen
Cette commande VBoxManage modifyvm "VM name" --natpf1 "djangoserver,tcp,,8000,,8000"ne semble pas fonctionner non plus ... lorsque j'essaie d'y accéder à partir des deux localhost: 8000 sur ma machine invitée et de l'adresse IP donnée par ifconfig.
mpen
Oups ... l'avait toujours sur Bridged. Revenu au NAT et maintenant ça vient juste de se terminer ... je me demande ce que ça veut dire?
mpen
Trouvé cette note dans la documentation Django "Notez que l'adresse IP par défaut, 127.0.0.1, n'est pas accessible à partir d'autres machines de votre réseau. Pour rendre votre serveur de développement visible par les autres machines du réseau, utilisez sa propre adresse IP ou 0.0. 0,0. " - a essayé cela aussi, "prenant trop de temps pour répondre"
mpen
2
Dans ce cas, la redirection de port doit fonctionner de manière à ce que l'accès à "localhost: 8888" ou "127.0.0.1:8888" sur le système hôte se traduise par l'accès à "localhost: 80" ou "127.0.0.1:80" sur la machine invitée, à ma connaissance. Vous pouvez peut-être essayer de transférer SSH ou quelque chose de similaire déjà en cours d'exécution pour voir si la redirection de port fonctionne correctement. Aussi, assurez-vous que le serveur fonctionne sur votre machine invitée (en utilisant des machines invitées firefox et en ouvrant la page?) PS eh bien il semble que vous ayez déjà obtenu votre réponse de toute façon :)
private_meta
1

Mon OS hôte et invité est Windows 7 et la seule façon de les connecter est de configurer la carte réseau en mode "NAT", puis d'utiliser l'IP 10.0.2.2 comme @tm_lv l'a écrit https://superuser.com/a/287323/314495

J'ai essayé de placer l'adaptateur réseau en mode "Brigde". J'ai désactivé les deux pare-feu et utilisé la bonne adresse IP, mais je n'ai pas fonctionné. Je ne sais pas pourquoi.

Kikers25
la source