134 votes

Le système d'exploitation invité VirtualBox accède au serveur local du système d'exploitation hôte.

Sur mon hôte Ubuntu, j'ai mon serveur web local. J'ai installé VirtualBox et Debian en tant qu'invité.

J'aimerais que l'invité Debian soit capable d'accéder à mon serveur web fonctionnant sur mon hôte Ubuntu (par exemple, je tape juste http://localhost:8080/ dans le navigateur sous Debian).

Comment cela peut-il être fait ?

217voto

Melvyn Points 2657

Activez la carte réseau ONE. Réglez-la sur NAT et démarrez votre machine. Vous n'avez pas besoin de configurer quoi que ce soit.

Sur le navigateur de la machine invitée, tapez http://10.0.2.2 qui vous montrera le même contenu que "localhost" dans l'OS hôte.

10.0.2.2 est la "passerelle par défaut" pour les connexions NAT et l'IP de votre système d'exploitation invité est 10.0.2.15.

Bien sûr, vous pouvez définir un "HOST-ONLY" ou un "Internal Network" qui vous permettra d'autres configurations avancées. Je recommande de rester avec NAT.

Profitez de

M.

6voto

Paul Points 61

De plus, si vous utilisez l'adresse IP de 10.0.2.2, il faut ajouter le numéro de port :8888 si vous utilisez MAMP par exemple. http://10.0.2.2:8888

4voto

M.Pagani Points 759

La manière la plus simple de permettre un accès ininterrompu à votre machine invitée VirtualBox est de configurer le périphérique réseau comme un 'pont' vers votre eth0 sur votre LAN.

La machine invitée obtiendra une IP de réseau local via DHCP depuis votre routeur.

2voto

Boris Points 497

Ce qui a résolu le problème pour moi, c'est de m'assurer que l'adaptateur Windows VirtualHost-Only était défini sur l'adresse .1 pour la plage d'adresses IP. Ainsi, mon adaptateur VirtualHost-Only était 192.168.58.20 mais l'adresse IP de l'adaptateur Windows était 192.168.58.1.

2voto

Matas Vaitkevicius Points 1059

Si la solution de @Melvyn ne fonctionne pas, vous pouvez également configurer votre carte réseau pour qu'elle soit pontée.
Aller à Settings -> Network -> puis changer Attached to à l'adaptateur ponté.

enter image description here

Vous devriez être en mesure d'appeler le parent par son nom d'hôte ou son adresse IP externe. Vous pouvez l'obtenir en allant à l'invite de commande et en tapant ipconfig /all enter image description here

enter image description here

Mise à jour Si vous déboguez avec Visual Studio et utilisez IIS Express.

aller à C:\Users\[uesername]\Documents\IISExpress\config\applicationhost.config

trouver votre site web dans <configuration>/<system.applicationHost>/<sites>/<site> (le nom peut être trompeur, essayez de vérifier l'emplacement sur le disque dans la section physicalPath attribut)

puis ajouter dans <bindings> section nouvelle reliure

<bindings>
    <binding protocol="http" bindingInformation="*:50766:localhost" />
    <binding protocol="http" bindingInformation="*:50766:48qzr12" />
</bindings>

où bindingInformation est *:[port]:[machineName]

J'espère que cela vous fera gagner du temps.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X