Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

My host OS is Windows 7

I'm running a (Django development) server on Ubuntu 10.04 in VirtualBox.

I want to connect to that server (through my browser) on my Windows host. How can I do that?

share|improve this question
up vote 11 down vote accepted

It's also possible to set network adapter mode to 'bridged', then a VM will be seen as a usual machine with self IP address.

share|improve this answer
I set it to "Bridged Adapter". http://localhost:8000/ works on Ubuntu/Guest/VirtualBox but not from my Windows/Host machine; says "Firefox can't establish a connection to the server at localhost:8000." – mpen Aug 5 '10 at 1:43
Hah! Got it. Had to explicitly pass in my own IP address when running the server: ./ runserver <MY_IP>:8000. Then it works on both machines. – mpen Aug 5 '10 at 2:17
Try to not pass an exact IP. – eigenein Aug 5 '10 at 12:18
@eigenein: I like that. Then I can use localhost on ubuntu, but I still have to use my IP from windows. – mpen Aug 9 '10 at 2:22
@Mark It's logical because your virtual Ubuntu is a different OS on a different machine, so Ubuntu is not localhost for Windows. – eigenein Aug 9 '10 at 15:03

This did the job for me:

From memory, if you have set up VirtualBox with NAT networking, I think you can access services running on the host from the guest OS. From the guest (WinXP), the host appears as So if you point your WinXP web browser to that address, it should connect to your Ubuntu Apache server. (To the host, this appears to be a connection from localhost, I believe.)

share|improve this answer

For that you have to forward the port on your Virtual Machine.

Go to the command prompt and switch to your virtual box folder, there you can issue the following commands:

VBoxManage.exe setextradata "name of vm" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/http/HostPort" 8888
VBoxManage.exe setextradata "name of vm" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/http/GuestPort" 80
VBoxManage.exe setextradata "name of vm" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/http/Protocol" TCP

Switch "name of vm" with the name of your virtual machine, as well as the GuestPort with the port your web server is using, as it might use port 8080, or something different. After that you should be able to access the server via http://localhost:8888/ if I'm not mistaken.

Edit: P.S.: as far as I remember, you need to set your network adapter on "NAT" for that

Edit 2: The VirtualBox Manual which can be found here includes a section about port forwarding, done slightly different to the way described here. Read it in chapter 6.3.1. (For version 3.2.6)

share|improve this answer
After running those commands, I can no longer boot up Ubuntu. – mpen Aug 5 '10 at 1:45
This command VBoxManage modifyvm "VM name" --natpf1 "djangoserver,tcp,,8000,,8000" doesn't seem to work either... when I try accessing it from both localhost:8000 on my guest machine, and the IP address given by ifconfig. – mpen Aug 5 '10 at 1:56
Oops... still had it on Bridged. Switched back to NAT and now it's just timing out... wonder what that means? – mpen Aug 5 '10 at 2:00
Found this note in the Django docs "Note that the default IP address,, 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 or" -- tried this too, still "taking too long to respond" – mpen Aug 5 '10 at 2:07
Port forwarding in this case should work in a way that accessing "localhost:8888" or "" on the host system translates to accessing "localhost:80" or "" on the guest machine, to my knowledge. Maybe you can try forward SSH or something similar already running to see if port forwarding works correctly. Also, have made sure that the server works on your guest machine (by using guest machines firefox and opening the page?) P.S. well it seems you got your answer already anyway :) – private_meta Aug 5 '10 at 9:49

My host and guest OS is Windows 7 and the only way to connect them is configure the network adapter on "NAT" mode and then use the IP like @tm_lv wrote

I tried to set the network adapter to "Brigde" mode. I disabled both firewalls and used the right IP but didn't work. I don't know why.

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .