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?

John Topley
la source

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 .

JW.
la source
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é).

Michael Larocque
la source
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.

J. Perkins
la source
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

Jess Telford
la source
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".

Richard Poirier
la source
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é).

Googol
la source
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.

Dennis Plucinik
la source