Comment puis-je accéder à Apache (sur un invité VirtualBox) à partir de l'hôte?

142

J'ai installé Apache sur une machine virtuelle Ubuntu. Quand je vais dans l'invité et charge Firefox, je peux voir qu'Apache fonctionne bien lorsque je navigue sur localhost.

Je voudrais accéder à cette même page via l'hôte. J'ai essayé d'utiliser l'adresse IP de l'invité mais rien ne se présente.

Dans l’idéal, j'aimerais installer Windows 7 (hôte) sur demande http://guestserver.comdu serveur Apache sur l’invité. Comment puis-je faire ceci?

urok93
la source
J'ai trouvé un site qui m'a aidé à le résoudre. Les réponses ci-dessous sont correctes mais n'indiquent rien sur la création d'un adaptateur virtuel dans la machine virtuelle. Le site que j'ai référé est: christophermaier.name/2010/09/01/…
Sudhir Dhumal

Réponses:

156

Si vous avez besoin que d'autres machines de votre réseau physique puissent atteindre votre machine virtuelle (ou si la machine virtuelle nécessite un accès Internet), utilisez un réseau ponté. Sinon, restez sur le réseau uniquement hôte.

  1. Arrêtez votre machine virtuelle et ouvrez ses paramètres dans le gestionnaire VirtualBox (OSE).
  2. Aller sur l' onglet Réseau
  3. Sélectionnez le mode réseau de votre choix (réseau ponté ou hôte uniquement) (dans l'exemple ci-dessous, j'utilise uniquement l'hôte)

    Si vous souhaitez utiliser un réseau ponté, vous devez sélectionner la bonne carte réseau dans Nom . Pour les connexions filaires, vous devez sélectionner un nom nommé, par exemple eth0. Les connexions sans fil sont généralement nommées wlan0(les nombres peuvent varier)

  4. Enregistrer les paramètres
  5. Démarrer la machine virtuelle Ubuntu
  6. Lorsque vous êtes opérationnel, vous pouvez collecter l'adresse IP en exécutant:

    ifconfig | grep addr
    

    Dans la sortie ci-dessous, 192.168.56.101est l'adresse IP qui peut être utilisée dans votre système hôte Win7 pour accéder à votre machine virtuelle:

    eth0  Link encap:Ethernet  HWaddr 08:00:27:70:27:fe  
          inet addr:192.168.56.101  Bcast:192.168.56.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe7b:25fe/64 Scope:Link
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
    
  7. Dans votre système hôte Windows, éditez en C:\Windows\System32\drivers\etc\hoststant qu'administrateur et ajoutez une ligne:

    192.168.56.101   guestserver.com
    

    Si vous avez un système hôte Ubuntu, éditez en /etc/hostsutilisantsudo nano /etc/hosts

  8. Profit!
Lekensteyn
la source
2
Cela fonctionnait parfaitement pour un réseau uniquement hôte et je peux maintenant accéder à l'invité à partir du navigateur de l'hôte. Cependant, avec une connexion pontée, ce que je voudrais, je n'ai pas accès à Internet depuis l'invité.
urok93
5
ipconfig n'est pas une commande sous Linux, c'est ifconfig. Vouliez-vous dire ça?
Max
7
Le fichier hôte Windows 7/8 se trouve ici: C: \ Windows \ System32 \ drivers \ etc \ hosts
Dalen
2
@begueradj Ces étapes ci-dessus s'appliquent aux réseaux pontés, mais certains réseaux n'autorisent / ne vous donnent pas plusieurs adresses. Sur mon université, je ne pouvais pas utiliser de réseau ponté à cause de cela, dans ce cas, j'utiliserais plutôt un NAT avec un transfert de port.
Lekensteyn
1
L'activation de deux adaptateurs réseau, un NAT et un pont, m'a permis de voir et d'être vu.
Stenci
13

Dans mon cas, j'ai un routeur qui attribue une adresse IP statique à mon ordinateur hôte.

  1. Définissez la carte réseau en tant que pont:

    Paramètres> Réseau> Adaptateur 1 ( Activer l'adaptateur réseau )> Connecté à: ( Adaptateur de pont )> OK

  2. Démarrer la machine virtuelle> se connecter

  3. Changer l'IP de VirtualMachine de dynamique à statique

    sudo nano / etc / network / interfaces

  4. Sous Interface réseau principale, modifiez le mot DHCP en statique et entrez votre nouvelle adresse IP statique ou commentez la ligne et ajoutez-en une nouvelle.

:

#iface eth0 inet dhcp
iface eth0 inet static
        address 192.168.10.110
        netmask 255.255.255.0
        gateway 192.168.10.1
        network 192.168.10.0
        broadcast 192.168.10.255

Remarquez que mon routeur fonctionne à xxx.xxx. 10 .x et le vôtre pourraient être à xxx.xxx. 0 .x ou xxx.xxx. 1 .x ou autre.

Cela fait, vous pouvez avoir une connexion Internet dans les ordinateurs hôte et invité et taper cette adresse IP statique dans votre navigateur Web pour vérifier votre serveur Apache.

Nuc134rB0t
la source
J'ai oublié de dire que vous devez vous assurer que votre / etc / hostname est correctement configuré de cette façon: nameserver [your_isp_primary_dns] et nameserver [your_isp_secondary_dns]
Nuc134rB0t
8

Au lieu d'essayer de définir les adaptateurs sur Adaptateur réseau ponté ou sur hôte uniquement, vous pouvez essayer la redirection de port sous Pare-feu / Autres ports, votre port no étant défini sur les connexions TCP et UDP.

sp123
la source
6

La réponse acceptée ne fonctionnait pas pour moi (j’ai installé virutalbox dans ubuntu 12.04 LTS et dans virtualbox j’ai installé ubuntu 14.04 LTS Server). Je viens d'échanger les paramètres réseau pour Adapter1 et Adapter2, c'est-à-dire configurer Adapter1 pour "réseau ponté" et Adapter2 pour "NAT" et tout a commencé à fonctionner.

Gaurav Pandey
la source
C'était utile, mais changez l'ordre de l'adaptateur pour que l'invité utilise NAT par défaut et puisse se connecter à Internet.
MadeOfAir
Cela a réellement fonctionné pour moi. J'essaie d'accéder à une machine virtuelle Windows à partir d'un hôte Mac.
benjaminz
1
Après des heures passées à lire et à essayer toutes les solutions que je pouvais trouver en ligne, votre idée a fonctionné à merveille. Merci beaucoup de l'avoir écrit! Utiliser Ubuntu 18.04 comme hôte et invité.
Jean
5

Si vous n'avez besoin que d'un port spécifique (par exemple, si vous utilisez une application Web telle que Jetty ou Tomcat), faites simplement:

Paramètres -> Réseau -> Définissez l'un des adaptateurs comme NAT -> Appuyez sur 'Transfert de port' -> Définissez les ports hôte et invité appropriés.

Une fois que vous enregistrez, vous pouvez simplement passer de votre machine locale à localhost: hostport et il sera redirigé vers le port correspondant à la boîte virtuelle et vous avez terminé.

Stationary Traveller
la source
4

Si vous ne pouvez pas vous connecter via ip, vous ne rencontrerez probablement aucun succès avec les noms DNS sur une installation Apache par défaut.

vérifiez les paramètres réseau de l'hôte virtuel, je le mets toujours en pont, il est accessible sur tout le réseau.

PvdL
la source
Je l'ai réglé sur ponté mais l'invité ne se connecte plus à Internet.
urok93
obtenez-vous une adresse IP dans le système d'exploitation de la quête? J'ai l'habitude de configurer plusieurs NIC pour qu'ils correspondent à tous mes NIC physiques. Pouvez-vous peut-être vider votre ifconfig de la quête et de l'hôte
PvdL le
Lorsque je travaille avec le sans fil, cela fonctionne, mais avec le câble non, voici quelques captures d'écran illustrant ma configuration: imageshack.us/photo/my-images/832/guestr.png imageshack.us/photo/my-images/846/virtualbox .png imageshack.fr/photo/my-images/9/hostwin7.png
urok93
aucune aide sur ceci s'il vous plaît?
urok93
il semble que votre ordinateur soit directement connecté à Internet et que cela puisse expliquer pourquoi votre client ne reçoit pas d'adresse IP (v4)
PvdL
3

En mode ponté, si votre hôte utilise une adresse IP statique, vous devez configurer manuellement votre IP invité dans la même plage que celle de l'hôte. Sinon, l'invité ne sera pas automatiquement attribué à une adresse IP valide. HTH.

platine
la source
2

La réponse de Lekensteyn est juste. Mais si vous êtes dans un environnement d'entreprise, vous devrez peut-être désactiver le serveur proxy pour l'adresse IP de votre invité. Par exemple, si vous utilisez Mozilla Firefox sur votre ordinateur hôte et que vous essayez d'accéder à 192.168.56.101/ sur l'invité, vous devez accéder à Outils-> Options-> Avancé-> Réseau-> Paramètres de Firefox et utiliser "Non Proxy "ou" Pas de proxy pour -> 192.168.56.101 ".

SpaceRook
la source
2

Si vous devez accéder à un invité dont l'adresse IP est différente en raison de l'utilisation de DHCP, je vous suggère d'accéder via son nom d'hôte. Cependant, l'accès via l'hôte lorsque l'hôte est Windows peut nécessiter un outil supplémentaire.

Le texte suivant a été copié de ma propre réponse sur superuser.com. :

Je vous suggère d'utiliser DNS multicast pour résoudre ce problème.

Ubuntu l'utilise par défaut via Avahi .

L'hôte Windows a besoin d'un client Avahi pour pouvoir découvrir d'autres services Avahi. Si votre hôte utilise déjà des logiciels Apple, il existe probablement déjà via un service appelé Bonjour. Toutefois, s'il n'est pas déjà installé, une version réduite de Bonjour est disponible au téléchargement ici: Services d'impression Bonjour . Après l’installation, vous devriez pouvoir accéder à votre invité via .local.

Remarque: le système mDNS semble utiliser le postfixe .local par défaut. Ainsi, si votre nom d'hôte est "dev.myapp.com", le nom d'hôte réel sera "dev.myapp.com.local".

Spiralis
la source