web-dev-qa-db-fra.com

Connectez-vous à la machine hôte depuis un OS invité de VirtualBox?

J'aimerais essentiellement accéder à mon ordinateur hôte à partir de l'invité de VirtualBox. Existe-t-il une adresse IP pour mon hôte que je peux utiliser à partir de l'invité? Y at-il des étapes supplémentaires nécessaires pour configurer cela? J'aimerais accéder aux services Apache, FTP et SSH de mon hôte.

206
Naftuli Kay

Cette réponse concerne à peu près une configuration d’OS invité dans VirtualBox; il vous suffit d'utiliser l'adresse de la passerelle réseau sur le système d'exploitation invité pour vous connecter au système d'exploitation hôte à partir d'un système d'exploitation invité.

Dans la configuration par défaut de Vagrant, vous devriez pouvoir atteindre votre hôte via la passerelle par défaut.

Sur les invités Windows, vous pouvez facilement déterminer cette adresse IP en exécutant la commande suivante:

ipconfig

Cela devrait évacuer quelque chose comme ceci:

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 l'ordinateur hôte 10.0.2.2.


Sur les invités Unix/Linux, utilisez la commande:

netstat -rn

Cela devrait évacuer quelque chose comme ceci:

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 l'ordinateur hôte 192.168.1.1.

252
Naftuli Kay

L'accès au serveur Web de l'ordinateur hôte à partir de l'invité est facile. Cela peut être fait facilement en utilisant deux méthodes. D'abord faire ce qui suit

  • Allez à Devices et sélectionnez Adaptateurs réseau ...
  • Dans les paramètres de l’adaptateur, recherchez Attaché à .
  • Si la valeur estNAT, suivez les instructions

  • La passerelle par défaut lorsque vous configurez la boîte virtuelle est généralement10.0.2.2comme valeur par défaut. Si vous n'avez rien changé, cela fonctionnera. Mais si vous l'avez changé et que l'ordinateur invité que vous exécutez est windows exécutez la commande suivante et recherchez la passerelle par défaut.

    ipconfig /all

    Si vous êtes sur Linux, Unix ou Mac OS, lancez la commande suivante pour l'obtenir

    netstat -rn | grep 'default' | awk '{print $2}'

  • Accédez au navigateur Web, tapez cette passerelle par défaut et appuyez sur Entrée. Le serveur Web est accessible.

  • Si la valeur est Adaptateur ponté , procédez comme suit
    • trouver l'adresse IP de l'hôte et de l'invité
      • si vous êtes sur Windows, lancez ipconfig et obtenez l'adresse IP
      • si vous êtes sous Linux, Unix ou Mac OS, exécutez ifconfig | grep 'inet' et obtenez l'adresse IP.
      • l'adresse IP est comme 192.168.1.1
    • si vous voulez accéder à l'hôte, lancez le navigateur dans guest et entrez l'adresse IP de l'hôte.
    • si vous souhaitez accéder à l'invité, lancez le navigateur dans l'hôte et entrez l'adresse IP de l'invité.
35
Prabhu

Une autre façon de faire 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 différent du sous-réseau "externe" sur lequel votre ordinateur hôte se trouve. Pour que cela fonctionne, vous devez vous assurer de quelques choses:

  • Votre VM a un adaptateur "hôte uniquement" configuré;
  • Vos services d'accueil doivent être à l'écoute de tous les adaptateurs locaux, ou du moins de ceux que vous souhaitez pouvoir contacter.
  • Votre hôte obtiendra son propre adaptateur virtuel et vous voudrez trouver son adresse IP et l'ajouter au fichier "hosts" de votre système d'exploitation invité (bien que cela fonctionne pour le système d'exploitation invité; sous Windows XP, il ne s'agit que du fichier " "hôtes" dans le fichier C:/WINDOWS/system32/drivers/etc). Donnez-lui le nom que vous souhaitez utiliser pour le nom d'hôte de l'hôte.

Une fois que cela est fait, vous devriez pouvoir "voir" l'hôte à partir de la VM via le nom que vous avez codé dans le fichier de l'hôte.

Par exemple, sur mon hôte Ubuntu 11.04, je reçois une interface virtuelle "vboxnet0" sur 192.168.56.1. Les adaptateurs des machines proposent quelque chose comme 192.168.56.101. Je n'ai pas besoin d'aller dans à mes machines virtuelles, mais je suppose que cela serait possible via une modification symétrique du fichier hôte de l'hôte. J'ajoute

192.168.56.1 mymachine

sur les fichiers hôtes du système d'exploitation invité, et ils peuvent (par exemple) voir le serveur Web de mon ordinateur hôte à l'adresse

http://mymachine/whatever

Vous pouvez bien entendu configurer des adaptateurs pontés et des adaptateurs hôtes uniquement.

8
Pointy

Voici une autre solution à ce problème en utilisant une interface réseau supplémentaire et en configurant le trafic destiné à l'hôte pour l'acheminer sur une interface supplémentaire.

0
programr101

Vous pouvez créer des dossiers partagés dans VirtualBox. Cela créera automatiquement un «partage réseau» dans Virtual Box pour accéder aux dossiers de votre système d'exploitation hôte.

Voici une étape décente dans un OS invité Windows XP:

http://www.giannistsakiris.com/index.php/2007/09/28/virtualbox-access-shared-folders-from-windows-xp-guest-os/

0
kobaltz