HINTS! Internet connectivity w/ Ubuntu 7.04 Guest & NAT
Posted: 25. Oct 2007, 16:01
NOTE: My solution is written with Ubuntu 7.04 in mind. For the uuber users, all we're doing here is setting the guest to use a static IP and netmask (whatever VB would serve anyway), but manually entering in the actual DNS servers used by the host instead of trying to let them filter in via DHCP.
I had to goof with this a few days so I figured I'd put up a post. I'm writing this for Noobs, so bear with me if you're more technically inclined.
This will apply, most likely, to those running at least UBUNTU 7.04 as a guest on a Windows or other system AND with a Wireless or other Router/Gateway between you and the 'net, with the router itself serving up DHCP requests information, including DNS.
I do not know why, but this combo failed utterly when I tried out VB for the first time using NAT connectivity. In fact, it also failed using a HOST adaptor bridged in XP, but I did not mess with it long enough to figure out why.
I do know that with NAT, disabling the host system's software firewall (or giving explicit everything permission) did not help; nor did putting the Host computer's IP in the "demilitarized zone" or even turning off all security on the router (which is dumb anyway).
While running UBUNTU, there simply was no getting through to the internet, no web pages searched or accessed, and Synaptic and the Ubuntu software updaters could not see the 'net.
I was about to write off Virtual Box when, out of morbid curiosity, I installed a Windows 98 Virtualization. It looked horrible with 16 colors and 640x480 resolution, BUT it promptly DHCP'd everything it needed and connected to the internet!
The Problem: Best I can tell, some combination of Host systems, VB, UBUNTU, and home routers do not play well together when it comes to getting working DNS information all the way into Ubunto in Virtual Box. I'd guess Ubunto so strictly implements the protocol that something gets lost and it simply fails.
On to the solution.
Its several steps:
First, on your host machine, you need to figure out what DNS servers that box is using. On a Windows host, the easiest way to do this is to:
START:RUN (type in "command" and hit enter).
Then, type "IPCONFIG /all" and hit enter. (Don't type the quotes)
You'll see a print out. Write down the two or three addresses it shows for DNS servers. You'll need those later.
Next, set your VB network Virtualization to NAT, boot into Ubuntu Linux with VirtualBox and go to the network configuration utility in the upper right. (Its on the menu bar and looks like two monitors behind each other). Confirm set up of the network for DHCP and reboot the Ubuntu virtualization.
Next, back in Ubuntu, go to the System:Administration:Network Tools. Switch the pulldown menu in the middle to Ethernet Interface, and get a read on what Ubuntu pulled from VB in terms of IP address, etc. You'll need to write down the IP address and NetMask. In the same utility, go into the "NetStat" tab and click the green arrow to get routing table information. You want to look in the column labeled Gateway. The values, save one, will be zeros. Write down the one that's not a bunch of zeros.
Next go back into the manual configuration utility on the main Ubunto menu bar and do the following:
1. Get the "properties" for the ethernet connection. Set the thing to static IP. Enter the IP address, NetMask, and Gateway you found above into the "properties" tab for the ethernet connection. Close out of that.
2. Back in the manual configuration utility go to the DNS tab. Delete anything in the DNS Servers list that comes up. Now type in the DNS server addresses you pulled off your host computer earlier. Click "+add", then type the address just as you wrote it down and hit "enter" to make it stick. Do this for all the addresses.
Close it down and reboot the virtualization (may be unnecessary to reboot, but can't hurt). You should be able to access the internet now via FireFox and install the first round of 100+ Ubuntu updates. (Importantly, this fixes the issue where the Ubuntu software selector won't let you download anything because it's mis - perceiving the processor on the VB virtualization).
Good luck!
This is GREAT software, by the way.
I had to goof with this a few days so I figured I'd put up a post. I'm writing this for Noobs, so bear with me if you're more technically inclined.
This will apply, most likely, to those running at least UBUNTU 7.04 as a guest on a Windows or other system AND with a Wireless or other Router/Gateway between you and the 'net, with the router itself serving up DHCP requests information, including DNS.
I do not know why, but this combo failed utterly when I tried out VB for the first time using NAT connectivity. In fact, it also failed using a HOST adaptor bridged in XP, but I did not mess with it long enough to figure out why.
I do know that with NAT, disabling the host system's software firewall (or giving explicit everything permission) did not help; nor did putting the Host computer's IP in the "demilitarized zone" or even turning off all security on the router (which is dumb anyway).
While running UBUNTU, there simply was no getting through to the internet, no web pages searched or accessed, and Synaptic and the Ubuntu software updaters could not see the 'net.
I was about to write off Virtual Box when, out of morbid curiosity, I installed a Windows 98 Virtualization. It looked horrible with 16 colors and 640x480 resolution, BUT it promptly DHCP'd everything it needed and connected to the internet!
The Problem: Best I can tell, some combination of Host systems, VB, UBUNTU, and home routers do not play well together when it comes to getting working DNS information all the way into Ubunto in Virtual Box. I'd guess Ubunto so strictly implements the protocol that something gets lost and it simply fails.
On to the solution.
Its several steps:
First, on your host machine, you need to figure out what DNS servers that box is using. On a Windows host, the easiest way to do this is to:
START:RUN (type in "command" and hit enter).
Then, type "IPCONFIG /all" and hit enter. (Don't type the quotes)
You'll see a print out. Write down the two or three addresses it shows for DNS servers. You'll need those later.
Next, set your VB network Virtualization to NAT, boot into Ubuntu Linux with VirtualBox and go to the network configuration utility in the upper right. (Its on the menu bar and looks like two monitors behind each other). Confirm set up of the network for DHCP and reboot the Ubuntu virtualization.
Next, back in Ubuntu, go to the System:Administration:Network Tools. Switch the pulldown menu in the middle to Ethernet Interface, and get a read on what Ubuntu pulled from VB in terms of IP address, etc. You'll need to write down the IP address and NetMask. In the same utility, go into the "NetStat" tab and click the green arrow to get routing table information. You want to look in the column labeled Gateway. The values, save one, will be zeros. Write down the one that's not a bunch of zeros.
Next go back into the manual configuration utility on the main Ubunto menu bar and do the following:
1. Get the "properties" for the ethernet connection. Set the thing to static IP. Enter the IP address, NetMask, and Gateway you found above into the "properties" tab for the ethernet connection. Close out of that.
2. Back in the manual configuration utility go to the DNS tab. Delete anything in the DNS Servers list that comes up. Now type in the DNS server addresses you pulled off your host computer earlier. Click "+add", then type the address just as you wrote it down and hit "enter" to make it stick. Do this for all the addresses.
Close it down and reboot the virtualization (may be unnecessary to reboot, but can't hurt). You should be able to access the internet now via FireFox and install the first round of 100+ Ubuntu updates. (Importantly, this fixes the issue where the Ubuntu software selector won't let you download anything because it's mis - perceiving the processor on the VB virtualization).
Good luck!
This is GREAT software, by the way.