For some quick history, I had Comcast cable internet when I lived in Michigan, and now I have AT&T DSL (only because the local cable companies don't have lines in this apartment complex).
So, I noticed a problem when my VirtualBox virtual machines were having Internet issues. The virtual machines were Windows 2000 and Vista Home Premium, and neither of them could surf the web because they weren't able to resolve domain names.
VirtualBox creates a virtual NAT for the guest operating systems that allows them to use the host's Internet connection. The NAT has a 10.x.x.x IP range and automatically assigns an IP address to the virtual machine. This all was working just fine, but no Internet still. The results of "ipconfig" in the guests showed that my DNS suffix was "hsd1.mi.comcast.net" -- my old DNS server in Michigan.
I knew that my Linksys router was caching this information but didn't think it really mattered. Linksys was giving my Linux PC this DNS suffix as well, and Linux was passing it on to my virtual machines. The router had no interface on it to clear the cache.
At any rate, I narrowed it down that the virtual machines could not resolve domain names -- they could connect directly to Internet IP addresses, though. I tried a couple ways of "fixing" their DNS server information to no avail, and decided to reset the router to its factory defaults (to clear its cache). After a reset, I rebooted into Windows to configure it.
Linksys routers, by default, give out IPs in the 192.168.1.x range. My DSL modem also gives out IPs in this range. The only way to connect to the modem through the router is to change the router's IP range, so I've been setting it to 10.10.1.x. After setting up the router and putting in AT&T's DNS servers (which are required, or else the modem won't allow the router to reach the internet), I rebooted to Linux and started a virtual machine to see what changed.
Well, Windows 2000 still couldn't resolve domain names. I got an idea about installing a DNS server on my Linux box and telling the virtual machine to use it as its DNS -- this didn't work, because VirtualBox gives out 10.x.x.x IP addresses, which the host OS also got from Linksys. So, Windows 2000 wasn't able to route upward to the host's IP because of this. So, I instead set its DNS servers to be that of AT&T's -- the same as my router's settings. Now, the Internet worked within the virtual machine. It worked really well, too. DNS resolving time was almost nonexistant.
Realizing that Windows 2000's direct use of AT&T's DNS servers was the cause, and realizing that with the factory reset on Linksys that it had lost Comcast's DNS cache information, I tried browsing the web from my PC too. It was much faster now.
I had noticed a while back that my DSL was only slow while resolving domain names, but that once it actually connected to the server, the pages downloaded fast. I didn't make the connection between that slowness and Linksys's caching of Comcast's DNS server though. But now everything is so much faster. :)
There are 0 comments on this page. Add yours.