Comment accéder à la machine hôte depuis la machine invitée? [fermé]


124

Je viens de créer une nouvelle machine virtuelle Windows XP sur mon Mac à l'aide de VMware Fusion. La VM utilise NAT pour partager la connexion Internet de l'hôte.

Comment accéder à une application Rails, qui est accessible sur le Mac lui-même en utilisant http://localhost:3000?

Réponses:


134

Sur la machine XP, recherchez votre adresse IP en accédant à l'invite de commande et en tapant ipconfig. Essayez de remplacer le dernier nombre par 1 ou 2. Par exemple, si votre adresse IP est 192.168.78.128, utilisez http://192.168.78.1:3000 .


3
m'a sauvé des heures de faff - tapotez-vous sur le dos monsieur!
iancrowther

J'utilise Lion en tant qu'hôte et Win7 en tant qu'invité, mais je n'ai pas pu visiter mon application rails sur mon mac en utilisant cela. Pourquoi?
larryzhao

1
si l'adresse IP de votre réseau local est: 192.168.1.122, vous devez utiliser 192.168.1.122:3000 et cela devrait fonctionner
dbslone

6
Remarque importante: ces solutions ne fonctionnent pas si vous êtes connecté via VPN.
Harshay Buradkar

80

Vous pouvez utiliser le nom `` local '' de votre Mac hôte (ou de tout autre Mac sur le réseau):

http: //macname.local: 3000 /

où macname est le nom de réseau de votre hôte (ou de tout autre Mac souhaité).


1
Superbe. Je ne connaissais pas le bit .local. Merci!
recul du

est-ce uniquement disponible si la machine virtuelle a été configurée sur ce mac? J'ai porté une autre machine virtuelle ailleurs et computername.local ne fonctionne pas pour moi
spankmaster79

7
le ".local" est une chose réservée aux macs. Lorsque vous ouvrez les Préférences Système / Partage, il vous montre en fait le nom de l'ordinateur, et en dessous, il note que pour y accéder sur le réseau local, vous devez utiliser computername.local - cela s'applique pour la connexion au partage de fichiers, au partage Web, etc.
Johnus

1
Cela semble exiger que le réseau VMWare soit configuré pour être NATted (ou, vraisemblablement, ponté); la configuration «hôte uniquement» entraîne l'expiration du délai de connexion au réseau. Je ne vois pas pourquoi cela devrait être le cas, mais ...
Norman Gray

J'utilisais cette méthode et cela fonctionnait très bien! Mais récemment, il a cessé de fonctionner, et je ne sais pas pourquoi. Peut-être qu'il s'est arrêté avec une mise à jour de Snow Leopard ou peut-être qu'il s'est arrêté avec une mise à jour de Fusion. Maintenant, mon machostname.local se résout en une adresse publique sur Internet.
Jason

14

Pour les futurs visiteurs: une fois que vous avez déterminé l'adresse IP, vous pouvez ajouter une entrée au fichier d'hôtes Windows, qui se trouve dans C: \ Windows \ system32 \ drivers \ etc \ hosts, pour mapper l'adresse IP à un nom du serveur (virtuel). Ajoutez une ligne comme celle-ci:

192.168.78.1   myrubyapp

Vous pouvez maintenant accéder au site dans IE à l'adresse http: // myrubyapp: 3000

Si vous utilisez des hôtes virtuels sous Apache, vous en aurez besoin pour fournir le nom de serveur correct.


L'IP est-elle censée rester fixe entre les sessions sur un NAT? Je doute que.
Lothar

10

Comme cette question est assez ancienne et se réfère à XP, voici une alternative pour les nouveaux OS;


Si vous utilisez Vista ou Windows 7 en tant que système d'exploitation invité et que vous avez configuré des hôtes virtuels dans l'hôte via Apache, voici comment procéder:

Dans le système d'exploitation hôte, vous devez vous assurer que la connexion réseau est effectuée via NAT;

  1. Cliquez avec le bouton droit sur l'icône du réseau dans la fenêtre VM (en bas à droite)
  2. Sélectionnez "NAT"
  3. Sélectionnez "Connecter"
  4. Attendez que le système d'exploitation invité se reconnecte au réseau

Ensuite, dans le système d'exploitation invité;

  1. Cliquez sur Démarrer> Réseau> Centre Réseau et partage
  2. Cliquez sur "Afficher l'état" à côté de la connexion réseau
  3. Cliquez sur "Détails"
  4. Recherchez «Passerelle par défaut IPv4»
  5. Ouvrez Wordpad
  6. Modifiez C: \ Windows \ System32 \ drivers \ etc \ hosts
  7. Ajoutez une ligne au fichier telle que:

    [default-gateway-IP] www.example.com
    [default-gateway-IP] example.com
    
  8. sauver

  9. Essayez d'ouvrir http://www.example.comou http://example.comdans IE


C'est très bizarre mais j'ai dû soustraire 1 de l'IP de la passerelle. En fait, cela a fonctionné pour moi de le savoir en envoyant un ping à l'hôte: ping <my-mac-host>.localet en mettant cette adresse IP dans le fichier hosts
Cristian

1
À la place des étapes 1 à 4 dans le système d'exploitation invité, vous pouvez également ouvrir la boîte de dialogue Exécuter, tapez cmd+ <enter>, puis tapez: ipconfig /all+ <enter> et recherchez la «passerelle par défaut».
Jess Telford

Merci Jess !. ipconfig /allétait plus rapide aussi
Emerson Rocha

9
  1. Sur la machine XP, Démarrer -> Se connecter à -> Afficher toutes les connexions.
  2. Double-cliquez sur Connexion au réseau local.
  3. Cliquez sur l'onglet Support.
  4. Prenez l'adresse IP de la passerelle par défaut <gateway-ip> et appuyez sur http: // <gateway-ip>: 3000 dans votre navigateur.

Gotcha: Vous devez avoir http: // dans l'adresse ou IE vous donnera "La page Web ne peut pas être affichée".


6

Pour Django, il est important de faire ce qui suit:

./manage.py runserver [default-gateway-IP]: 8000

car

https://docs.djangoproject.com/en/dev/ref/django-admin/

Notez que l'adresse IP par défaut, 127.0.0.1, n'est pas accessible depuis les autres machines de votre réseau. Pour rendre votre serveur de développement visible à d'autres machines sur le réseau, utilisez sa propre adresse IP (par exemple 192.168.2.1) ou 0.0.0.0 ou :: (avec IPv6 activé).


5

Je viens de passer une heure à essayer de faire fonctionner cela en suivant les étapes de SO, mais la mienne a fini par être un peu différente.

Paramètres VMWare

1.) Définissez la connexion VMWare sur NAT
2.) exécutez> cmd> ipconfig> copiez la valeur de la passerelle par défaut
3.) modifiez le fichier d'hôtes (c: / Windows / System32 / drivers / etc / hosts)

  • ajoutez ceci à votre fichier hosts:

<gateway-ip> yourserver.local

Paramètres OS X

1.) modifier la configuration d'Apache (par exemple, sudo vim /etc/apache2/httpd.conf)

  • ajoutez cette entrée vhost à votre fichier httpd.conf:
NomVirtualHost 127.0.0.1
<VirtualHost 127.0.0.1>
    DocumentRoot "/ chemin / vers / votre / projet"
    ServerName yourserver.local

    <Répertoire "/ chemin / vers / votre / projet">
        AllowOverride All
        Options Tout
    </Directory>
</VirtualHost>
  • enregistrer et quitter (: wq)

2.) Modifiez votre fichier hosts (sudo vim / etc / hosts)

  • ajoutez cette ligne à votre fichier hosts

127.0.0.1 yourserver.local

3.) Redémarrez Apache (redémarrage sudo apachectl)

J'ai constaté que je devais changer le paramètre de connexion sur VMWare afin de redémarrer la connexion avant que ces paramètres ne fonctionnent pour moi. J'espère que ça aide.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.