How do I access the host machine from the guest machine?

NetworkingVirtual MachineVmware

Networking Problem Overview


I've just created a new Windows XP VM on my Mac using VMware Fusion. The VM is using NAT to share the host's internet connection.

How do I access a Rails application, which is accessible on the Mac itself using http://localhost:3000?

Networking Solutions


Solution 1 - Networking

On the XP machine, find your IP address by going to the command prompt and typing ipconfig. Try replacing the last number with 1 or 2. For example, if your IP address is 192.168.78.128, use http://192.168.78.1:3000.

Solution 2 - Networking

You can use your host Mac's (or any other Mac on the network) 'local' name:

http://macname.local:3000/

where macname is the network name of your host (or other desired) Mac.

Solution 3 - Networking

For future visitors: once you've got the IP address figured out, you can add an entry to the Windows hosts file, which is located at C:\Windows\system32\drivers\etc\hosts, to map the IP address to a (virtual) server name. Add a line like this:

192.168.78.1   myrubyapp

Now you can access the site in IE at the address http://myrubyapp:3000

If you use virtual hosts under Apache you'll need this to provide the correct server name.

Solution 4 - Networking

As this question is quite old and referring to XP, here is an alternative for new OSs;


If you're rocking Vista or Windows 7 as the Guest OS, and you have Virtual Hosts setup in the Host via Apache, here's how to setup:

In the Host OS, you need to ensure the network connection is done via NAT;

  1. Right click the network icon in the VM window (bottom-right)
  2. Select "NAT"
  3. Select "Connect"
  4. Wait for the guest OS reconnect to the network

Then, In the Guest OS;

  1. Click Start > Network > Network & Sharing Center

  2. Click "View Status" next to the network connection

  3. Click "Details"

  4. Find "IPv4 Default Gateway"

  5. Open Wordpad

  6. Edit C:\Windows\System32\drivers\etc\hosts

  7. Add a line to the file such as:

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

  9. Try opening http://www.example.com or http://example.com in IE

http://i.stack.imgur.com/kw8ck.png"><img src="http://i.stack.imgur.com/kw8ck.png" width="441" height="344">

Solution 5 - Networking

  1. On the XP machine, Start -> Connect To -> Show all connections.
  2. Double click Local Area Connection.
  3. Click the Support tab.
  4. Take the Default Gateway IP <gateway-ip> and hit http://<gateway-ip>:3000 in your browser.

Gotcha: You must have http:// in the address or IE will give you "The webpage cannot be displayed".

Solution 6 - Networking

For Django it's important to do the following:

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

because

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

Note that the default IP address, 127.0.0.1, is not accessible from other machines on your network. To make your development server viewable to other machines on the network, use its own IP address (e.g. 192.168.2.1) or 0.0.0.0 or :: (with IPv6 enabled).

Solution 7 - Networking

I just spent an hour trying to get this to work following the steps on SO but mine ended up being a bit different.

VMWare settings

1.) Set VMWare connection to NAT
2.) run > cmd > ipconfig > copy Default Gateway value
3.) edit hosts file (c:/Windows/System32/drivers/etc/hosts)

  • add this to your hosts file:

<gateway-ip> yourserver.local

OS X settings

1.) edit Apache config (e.g., sudo vim /etc/apache2/httpd.conf)

  • add this vhost entry to your httpd.conf file:

NameVirtualHost 127.0.0.1
<VirtualHost 127.0.0.1>
DocumentRoot "/path/to/your/project"
ServerName yourserver.local

&lt;Directory "/path/to/your/project">
    AllowOverride All
    Options All
&lt;/Directory>

</VirtualHost>

  • save & quit (:wq)

2.) Edit your hosts file (sudo vim /etc/hosts)

  • add this line to your hosts file

127.0.0.1 yourserver.local

3.) Restart Apache (sudo apachectl restart)

I found that I had to switch the connection setting on VMWare in order to restart the connection before these settings worked for me. I hope this helps.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionJohn TopleyView Question on Stackoverflow
Solution 1 - NetworkingJW.View Answer on Stackoverflow
Solution 2 - NetworkingMichael LarocqueView Answer on Stackoverflow
Solution 3 - NetworkingJ. PerkinsView Answer on Stackoverflow
Solution 4 - NetworkingJess TelfordView Answer on Stackoverflow
Solution 5 - NetworkingRichard PoirierView Answer on Stackoverflow
Solution 6 - NetworkingGoogolView Answer on Stackoverflow
Solution 7 - NetworkingDennis PlucinikView Answer on Stackoverflow