Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I have a windows Vista machine upon which VirtualBox is running ubuntu.

In ubuntu I am running a webserver at the address http://127.0.0.1:3000/

How do I access this address from my host machine (the windows box)?

share|improve this question

4 Answers 4

You can change your guest networking mode from NAT to Bridged. Just close your Ubuntu guest, go to the Settings page in VirtualBox, select the Network category and change the Attached to listbox from NAT to Bridged Mode.

Edit:

After following the above steps restart Ubuntu and the allocated IP will show on the welcome screen after load. i.e. In the welcome message it should say something like:

IP address for eth0: 192.168.1.3

Use this address in the browser bar of the host machine followed by the port your using. If its anything other than port 80. i.e. if you set it up to use port 666 then the address would be 192.168.1.3:666

Another way to find the IP is to connect to the HTTP server built into your router and look in LAN settings. Every machine on the network should be listed by host name and IP. On my router most others I've had, you can do this by typing 192.168.1.1 in the address bar. if that fails try same address at port 81. If that fails READ THE MANUAL.

share|improve this answer
    
But then how can you find out what the IP address is? Thx –  SSH This Jan 23 '13 at 22:27

Your Windows box and the Ubuntu box (whether they are physical or virtual doesn't really matter in this instance) both need to have an IP address on the same subnet so they can talk to one another via TCP/IP. You can assign an additional address to each OS using one of the private IP subnets (see RFC 1918). Once they both have an address on the same subnet, configure the web server to listen on the one you gave Ubuntu, and then use that IP in the browser within Windows to load it up.

The IP you have configured now, 127.0.0.1, is the loopback address for the local network interface. You would never use that address to access something on a different system, only to refer back to the same system you're on. When using a virtual system, treat it just like you would a separate computer from a networking standpoint.

share|improve this answer

Depends how you setup networking on the Ubuntu guest OS. If you set it up to use NAT and you have a DHCP server running on your network, then just run this:

ifconfig | grep inet

on the Ubuntu box -- you'll see the IP address assigned to the Ubuntu guest.

Example:

#ifconfig | grep inet
  inet addr:10.0.0.2  Bcast:10.255.255.255  Mask:255.255.255.0
  inet addr:127.0.0.1  Mask:255.0.0.0

Then just hit up http://10.0.0.2:3000

share|improve this answer
    
Well in my case the address should be 10.0.2.15:3000/public and by default vista runs in DHCP mode..(the ubuntu machine is also configured to use NAT) however I'm not getting a response :( –  Argh Apr 28 '10 at 18:13
    
Hmmm just realised that I dont have a DHCP server - I'm running vista home... –  Argh Apr 28 '10 at 18:15
    
VirtualBox has it's own DHCP server that handles virtual machines - otherwise virtual machines wouldn't automatically get an IP address without setting them statically. I think your problem might be that you're not having Apache listen on all interfaces - just localhost (127.0.0.1). Make sure that in /etc/apache2/sites-available/default the Listen directive says 80, not 127.0.0.1:80 per help.ubuntu.com/9.04/serverguide/C/httpd.html –  Cory Plastek Apr 28 '10 at 19:22
    
This is probably the cause. –  fsckin Apr 30 '10 at 18:44

To solve your problem i sugest that you add a new network adapter and configure it as Host-only adapter.

Now you run the virtual box instance and then what fsckin sugested to see what is the ip of the new network.

This way you have a subnet with your computer and your virtual machine.

share|improve this answer
    
So... I did as you said grabbed my IP address. I then tried to access the webserver (which I can access within the guest as 127.0.0.1:3000) using allocatedIP:3000 and I didnt get a response. I could however ping the ip from the host –  Argh Apr 29 '10 at 9:58
    
You need to open the firewall on port 3000. –  fampinheiro May 16 '10 at 7:07
    
Host-only won't work out of the box: serverfault.com/questions/205477/… –  givanse Nov 24 '10 at 17:17

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.