Je voudrais essentiellement accéder à mon ordinateur hôte depuis l'invité dans VirtualBox. Y a-t-il une adresse IP donnée pour mon hôte que je peux utiliser à partir de l'invité ? Y a-t-il des étapes supplémentaires à suivre pour configurer cela ? J'aimerais accéder aux services Apache, FTP et SSH de mon hôte.
Réponses
Trop de publicités?Cette réponse concerne à peu près la configuration d'un OS invité dans VirtualBox ; il suffit d'utiliser l'adresse de la passerelle réseau sur l'OS invité pour se connecter à l'OS hôte depuis un OS invité.
Dans la configuration par défaut de Vagrant, vous devriez pouvoir atteindre votre hôte par la passerelle par défaut.
Sur les invités sous Windows, vous pouvez facilement déterminer cette adresse IP en exécutant la commande :
ipconfig
Ça devrait donner quelque chose comme ça :
Windows IP Configuration
Ethernet adapter Local Area Connection:
Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : 10.0.2.15
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 10.0.2.2
Dans cet exemple, l'invité peut atteindre la machine hôte 10.0.2.2
.
Sur les invités basés sur Unix/Linux, utilisez la commande :
netstat -rn
Ça devrait donner quelque chose comme ça :
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 wlan0
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 wlan0
Dans cet exemple, l'invité peut atteindre la machine hôte 192.168.1.1
.
L'accès au serveur web de l'ordinateur hôte depuis l'invité est facile. Cela peut être fait facilement en utilisant deux méthodes. Faites d'abord ce qui suit
-
Dans VirtualBox, allez dans Dispositifs et sélectionnez Adaptateurs réseau...
-
Dans les paramètres de l'adaptateur, vérifiez Attaché à .
-
Si la valeur est NAT font ce qui suit
-
La passerelle par défaut lorsque vous configurez Virtual box est généralement
10.0.2.2
comme valeur par défaut. Si vous n'avez rien changé, cela fonctionnera. Mais si vous l'avez changé et que la machine invitée que vous exécutez exécutez est Windows Exécutez la commande suivante et trouvez la valeur par défaut par défautipconfig /all
Si vous êtes sur Linux, Unix ou Mac OS, exécutez la commande suivante pour l'obtenir
netstat -rn | grep 'default' | awk '{print $2}'
-
Allez dans le navigateur web et tapez cette passerelle par défaut et appuyez sur entrée. Le serveur web est accessible.
-
Si la valeur est Adaptateur ponté font ce qui suit
- trouver l'adresse IP de l'hôte et de l'invité
- si vous êtes sous Windows, exécutez
ipconfig
et obtenir l'adresse IP - si vous êtes sous Linux, Unix, ou Mac OS, exécutez
ifconfig | grep 'inet'
et obtenir l'adresse IP - l'adresse IP est comme 192.168.1.1
- si vous êtes sous Windows, exécutez
- si vous voulez accéder à l'hôte, lancez le navigateur en tant qu'invité et entrez l'adresse IP de l'hôte.
- si vous voulez accéder à l'invité, lancez le navigateur dans l'hôte et entrez l'adresse IP de l'invité.
- trouver l'adresse IP de l'hôte et de l'invité
Une autre façon de procéder consiste à utiliser un réseau virtuel de type "hôte". Cela vous donne une interface dans l'OS invité avec une adresse sur un sous-réseau local. 別 du ou des sous-réseaux du "monde extérieur" sur lesquels se trouve votre machine hôte. Pour que cela fonctionne, vous devez vous assurer de certaines choses :
- Votre VM a un adaptateur "hôte seulement" configuré ;
- Vos services hôtes doivent être à l'écoute de tous les adaptateurs locaux, ou du moins de ceux que vous voulez pouvoir contacter ;
- Votre hôte aura son propre adaptateur virtuel, et vous devrez déterminer son adresse IP et l'ajouter au fichier "hosts" de votre système d'exploitation invité (quel que soit le système d'exploitation invité ; sous Windows XP, il s'agit simplement du fichier "hosts" caché dans C:/Windows/system32/drivers/etc). Donnez-lui un nom que vous voulez utiliser pour le nom d'hôte de l'hôte.
Une fois que vous avez fait cela, vous devriez être en mesure de "voir" l'hôte depuis la VM via le nom que vous avez codé dans le fichier hôte.
Par exemple, sur mon hôte Ubuntu 11.04, j'ai une interface virtuelle "vboxnet0" sur 192.168.56.1. Les adaptateurs des machines affichent quelque chose comme 192.168.56.101. Je n'ai pas besoin d'aller sur à mes VMs, mais je présume que cela serait possible via une modification symétrique du fichier hôte de l'hôte. J'ajoute
192.168.56.1 mymachine
aux fichiers hôtes de l'OS invité, et ils peuvent (par exemple) voir le serveur web de ma machine hôte à l'adresse
http://mymachine/whatever
Vous pouvez bien sûr configurer à la fois des adaptateurs pontés et des adaptateurs hôtes uniquement.
2 votes
Difficile à résoudre sans aucun indice sur la configuration réseau de votre invité. Certaines ne permettent pas l'accès à l'hôte. Essayez l'adresse de la passerelle par défaut de l'invité.
12 votes
Il s'avère que je peux l'atteindre via ma passerelle par défaut à 10.0.2.2.
0 votes
En rapport : stackoverflow.com/q/19933550/1157054 stackoverflow.com/q/16244601/1157054