Comment accéder à mon serveur local sur ma machine virtuelle VirtualBox?

9

Voici ma configuration:

  • J'ai un serveur local en cours d'exécution sur ma machine (Mac OS, Snow Leopard). Je peux y accéder via mon navigateur en faisant

    localhost: 3000

  • J'ai une machine virtuelle utilisant Virtual Box fonctionnant sous Windows XP. Si j'essaie d'accéder à l'aide de localhost: 3000, cela échoue. Même chose si j'utilise l'ip de la machine Mac.

  • La machine virtuelle a accès à Internet.

Comment puis-je accéder à mon serveur local dans ma machine virtuelle?

marcgg
la source
si vous essayez d'accéder à "localhost" sur la machine virtuelle, il essaie de se connecter à lui-même, plutôt qu'au serveur macosx. Je pense que les réponses jusqu'à présent ont manqué ce point
brandstaetter
1
Je sais que c'est un vieux fil, mais voici la réponse stackoverflow.com/questions/1261975/…
deiga

Réponses:

16

Comment avez-vous la configuration de votre réseau dans la machine virtuelle?

Il semble que vous puissiez le configurer à l'aide de NAT. Dans cette situation, si votre machine hôte (Mac) a une adresse IP non routable (privée) telle que 192.168.xx, vous ne pourrez pas atteindre l'hôte depuis la machine virtuelle. La raison pour laquelle vous ne pouvez pas atteindre l'hôte à partir de l'invité est que vous configurez essentiellement 2 réseaux privés distincts. Votre ordinateur Mac est sur un (192.168.xx) et votre machine virtuelle sur un autre (peut-être 10.xxx) et vous avez essentiellement un routeur entre eux. Étant donné que les routeurs n'achemineront pas d'adresses IP privées, les deux réseaux ne peuvent jamais communiquer directement entre eux.

Si vous souhaitez que vos machines hôtes et invitées puissent communiquer, vous souhaiterez probablement configurer votre carte réseau VirtualBox pour qu'elle soit connectée à la "carte pontée". Cela partagera votre connexion Internet avec la machine virtuelle et permettra à votre machine invitée de parler à l'hôte. Dans cette situation, vous ajoutez essentiellement votre machine virtuelle en tant que nœud supplémentaire au réseau local sur lequel votre Mac est déjà installé.

lourd
la source
Sous "Adaptateur ponté", l'hôte et l'invité auront tous deux des adresses IP sous le même sous-réseau (c'est-à-dire 192.168.xx), n'est-ce pas?
kdbanman
@kdbanman, correct (en supposant que le réseau hôte utilise DHCP), la machine virtuelle apparaîtra comme une autre machine sur le réseau hôte.
lourd
Cela semble être un moyen beaucoup plus naturel de configurer une machine virtuelle. Pourquoi utiliserait-on un réseau privé séparé avec NAT? Sécurité?
kdbanman
1
Oui, NAT fournit l'isolement. De plus, certains réseaux ne permettent pas à n'importe quel hôte de se connecter, donc l'utilisation de NAT peut permettre à la machine virtuelle d'accéder aux ressources réseau via l'interface des hôtes. C'est également utilisé par défaut pour cette raison, c'est une configuration moins sujette aux erreurs, mais je conviens que je préfère ponté dans la plupart des situations.
lourd
1

Selon les paramètres réseau de votre VM, vous devrez probablement ajouter une IP supplémentaire au système d'exploitation hôte qui se trouve sur le même sous-réseau que votre VM afin qu'ils puissent communiquer. Votre VM a probablement une adresse 192.168.xx, alors ajoutez une adresse similaire à la machine Mac:

Par exemple, si le VM a 192.168.1.99 et le masque de sous-réseau 255.255.255.0, vous pouvez le faire à votre hôte:

ifconfig eth0: 0 192.168.1.199 masque de réseau 255.255.255.0 up

vous devrez probablement également redémarrer l'adaptateur.

John T
la source
1

J'ai eu le même problème exact, seulement j'utilisais Windows 7 en tant qu'invité.

Ce que j'ai fait était Démarrer -> Exécuter -> cmdpour afficher la ligne de commande.

ipconfigpour afficher les détails de la connexion. Recherchez l'adresse qui ressemble à 10.xxx, c'est votre Mac.

Maintenant, utilisez-le pour vous connecter à votre serveur local sur votre Mac.

Pour moi, c'est généralement quelque chose comme http://10.0.2.2:80/blah

Austin Hyde
la source