¿Cómo accedo a la máquina host desde la máquina invitada? [cerrado]

124

Acabo de crear una nueva VM de Windows XP en mi Mac usando VMware Fusion. La VM está utilizando NAT para compartir la conexión a Internet del host.

¿Cómo accedo a una aplicación Rails, a la que se puede acceder desde la propia Mac http://localhost:3000?

John Topley
fuente

Respuestas:

134

En la máquina XP, encuentre su dirección IP yendo al símbolo del sistema y escribiendo ipconfig. Intente reemplazar el último número con 1 o 2. Por ejemplo, si su dirección IP es 192.168.78.128, use http://192.168.78.1:3000 .

JW
fuente
3
me ahorró horas de faff - ¡palmadita en la espalda señor!
iancrowther
Estoy usando Lion como Host y Win7 como Guest, pero no pude visitar mi aplicación rails en mi Mac usando esto. ¿Por qué?
larryzhao
1
si su dirección IP de la red local es: 192.168.1.122, entonces debería usar 192.168.1.122:3000 y que debe trabajar
dbslone
66
Nota importante: estas soluciones no funcionan si está conectado mediante VPN.
Harshay Buradkar
80

Puede usar el nombre 'local' de su Mac host (o cualquier otra Mac en la red):

http: //macname.local: 3000 /

donde macname es el nombre de red de su host (u otro Mac deseado).

Michael Larocque
fuente
1
Magnífico. No sabía sobre el bit local. ¡Gracias!
retrocedió el
¿está disponible solo si la VM se configuró en esa Mac? Porté otra máquina virtual desde otro lugar y computername.local no funciona para mí
spankmaster79
77
el ".local" es una cosa solo para mac. Cuando abre Preferencias / Uso compartido del sistema, en realidad le muestra el nombre de la computadora, y debajo de él se observa que para acceder a ella en la red local debe usar computername.local: esto se aplica para la conexión para compartir archivos, compartir en la web, etc.
Johnus
1
Esto parece requerir que la red VMWare esté configurada para ser NAT (o, presumiblemente, puenteada); la configuración 'solo host' da como resultado que la conexión de red agote el tiempo de espera. No me queda claro por qué este debería ser el caso, pero ...
Norman Gray
Solía ​​usar este método y funcionó muy bien. Pero recientemente dejó de funcionar, y no estoy seguro de por qué. Tal vez se detuvo con una actualización de Snow Leopard o tal vez se detuvo con una actualización de Fusion. Ahora mi machostname.local se resuelve en una dirección pública en Internet.
Jason
14

Para futuros visitantes: una vez que se haya resuelto la dirección IP, puede agregar una entrada al archivo de hosts de Windows, que se encuentra en C: \ Windows \ system32 \ drivers \ etc \ hosts, para asignar la dirección IP a (virtual) nombre del servidor. Agregue una línea como esta:

192.168.78.1   myrubyapp

Ahora puede acceder al sitio en IE en la dirección http: // myrubyapp: 3000

Si usa hosts virtuales en Apache, necesitará esto para proporcionar el nombre correcto del servidor.

J. Perkins
fuente
¿Se supone que la IP debe permanecer fija en todas las sesiones en un NAT? Dudo que.
Lothar
10

Como esta pregunta es bastante antigua y se refiere a XP, aquí hay una alternativa para los nuevos sistemas operativos;


Si está usando Vista o Windows 7 como sistema operativo invitado y tiene la configuración de Hosts virtuales en el Host a través de Apache, aquí le mostramos cómo configurar:

En el sistema operativo host, debe asegurarse de que la conexión de red se realice a través de NAT;

  1. Haga clic derecho en el icono de red en la ventana de VM (abajo a la derecha)
  2. Seleccione "NAT"
  3. Seleccione "Conectar"
  4. Espere a que el SO invitado se vuelva a conectar a la red

Luego, en el SO invitado;

  1. Haga clic en Inicio> Red> Centro de redes y recursos compartidos
  2. Haga clic en "Ver estado" junto a la conexión de red
  3. Haga clic en "Detalles"
  4. Busque "Puerta de enlace predeterminada IPv4"
  5. Abrir Wordpad
  6. Editar C: \ Windows \ System32 \ drivers \ etc \ hosts
  7. Agregue una línea al archivo como:

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

  9. Intenta abrir http://www.example.como http://example.comen IE

Jess Telford
fuente
Es muy extraño, pero tuve que restar 1 de la puerta de enlace ip. En realidad, me funcionó averiguarlo haciendo ping al host: ping <my-mac-host>.localy poniendo esa ip en el archivo de hosts
Cristian
1
En lugar de los pasos 1-4 en el SO invitado, también puede abrir el Diálogo de ejecución, escribir cmd+ <enter>, luego escribir: ipconfig /all+ <enter>, y encontrar la "Puerta de enlace predeterminada" allí.
Jess Telford
Gracias Jess! ipconfig /allfue más rápido también
Emerson Rocha
9
  1. En la máquina XP, Inicio -> Conectar a -> Mostrar todas las conexiones.
  2. Haga doble clic en Conexión de área local.
  3. Haz clic en la pestaña Soporte.
  4. Tome la IP de la puerta de enlace predeterminada <gateway-ip> y presione http: // <gateway-ip>: 3000 en su navegador.

Gotcha: debe tener http: // en la dirección o IE le dará "No se puede mostrar la página web".

Richard Poirier
fuente
6

Para Django es importante hacer lo siguiente:

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

porque

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

Tenga en cuenta que la dirección IP predeterminada, 127.0.0.1, no es accesible desde otras máquinas en su red. Para que su servidor de desarrollo sea visible para otras máquinas en la red, use su propia dirección IP (por ejemplo, 192.168.2.1) o 0.0.0.0 o :: (con IPv6 habilitado).

Googol
fuente
5

Acabo de pasar una hora tratando de hacer que esto funcione siguiendo los pasos de SO, pero el mío terminó siendo un poco diferente.

Configuraciones de VMWare

1.) Establezca la conexión VMWare a NAT
2.) ejecute> cmd> ipconfig> copie el valor de la puerta de enlace predeterminada
3.) edite el archivo de hosts (c: / Windows / System32 / drivers / etc / hosts)

  • agregue esto a su archivo de hosts:

<gateway-ip> yourserver.local

Configuración de OS X

1.) edite la configuración de Apache (por ejemplo, sudo vim /etc/apache2/httpd.conf)

  • agregue esta entrada vhost a su archivo httpd.conf:
NameVirtualHost 127.0.0.1
<VirtualHost 127.0.0.1>
    DocumentRoot "/ ruta / a / su / proyecto"
    ServerName yourserver.local

    <Directorio "/ ruta / a / su / proyecto">
        Permitir anular todo
        Opciones todas
    </Directory>
</VirtualHost>
  • guardar y salir (: wq)

2.) Edite su archivo de hosts (sudo vim / etc / hosts)

  • agregue esta línea a su archivo de hosts

127.0.0.1 yourserver.local

3.) Reinicie Apache (sudo apachectl restart)

Descubrí que tenía que cambiar la configuración de conexión en VMWare para reiniciar la conexión antes de que esta configuración funcionara para mí. Espero que esto ayude.

Dennis Plucinik
fuente