I recently installed Ubuntu Linux on my old PowerMac G4 “QuickSilver” tower. During the installation, I needed to use my internet connection over WiFi to download the installation packages. I tried using Linux’s WiFi support with my Mac’s AirPort card, but to no avail. It could see the access points, but not actually connect to them. So I decided to use a network cable to connect to my Windows Vista laptop to share its WiFi connection. I got the Vista ICS (Internet Connection Sharing) working using some easy-to-find instructions online.
Windows’s ICS still did not work because the DNS server provided by Window’s DHCP server was the local PC’s network address (in my case 192.168.0.1). The Windows DNS proxy, for some reason, did not work and so I could not resolve any site, even though I could ping existing IP addresses. I have read several accounts online (including this one) saying that the DNS proxy in Windows is very fragile and often does not work. The default resolv.conf configuration created by dhclient from Window’s DHCP server is like such:
To get the DNS resolution working without jumping through hoops, I figured I could just use a simple third-party DNS proxy. After maybe 5 minutes of searching, I found the open-source Acrylic DNS Proxy. It is a very simple proxy which runs as a Windows Service and provides local DNS caching. It can be configured in 1 minute: all you need is the IP address of your ISP’s DNS servers (which can be found in your router’s Status Info pages, amongst other places).
After I got Acrylic DNS Proxy running, the default 192.168.0.1 DNS provided by Windows started working. The Linux internet connection shared from the PC was working and I could install Ubuntu and download the necessary updates. As a welcome side effect, DNS resolution for often-accessed pages under Windows was also quicker, thanks to the primary purpose of the DNS proxy 🙂
As a side note, Eclipse is brutally slow on my PowerMac G4 867MHz with Linux ! I think we forget how slow large Java programs are until we try them on machines that are 5 years old 🙂