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?


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.

  • 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: ./manage.py runserver <MY_IP>:8000. Then it works on both machines.
    – mpen
    Aug 5 '10 at 2:17
  • 3
    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.)


  • This solution also worked for me on Windows 7. I had to use in the hosts file. Aug 9 '19 at 13:13

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)

  • 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
  • 2
    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 :) 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 https://superuser.com/a/287323/314495

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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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