I found this thread while searching for a solution to the same problem on my Sheevaplug. I have managed to correct the problem.
On the Sheevaplug execute "cat /etc/resolv.conf"
If your setting is not correct in here it will cause problems, for example on mine (domain name changed to ensure illusion of privacy) resolve.conf said:
domain MyDomain.com
search Mydomain.com
nameserver 1.2.3.4 (value provided by internet service provider)
After some investigation of the data from wireshark I noticed the following:
- Google Chrome & Firefox correctly forward all dns queries through the ssh tunnel
- Internet explorer never forwards DNS queries through the tunnel
While monitoring using wireshark I found that Internet explorer would get the IP of the remote web-site from the local domain and then use the tunnel to transfer the data packets. Since that is the only difference between a failed Chrome use of the tunnel and the successful Internet Explorer use, I realized that must be the problem.
In order to fix the issue I opened up the web admin on my dd-wrt router and enabled the DNS Server. To do this I followed the instructions posted here:
http://www.dd-wrt.com/wiki/index.php/DNSMasq_as_DHCP_serverOnce I reconfigured the router and rebooted the sheevaplug (could just bring the network up and down but I am working remotely, so a reboot it is). After the reboot the resolv.conf file shows the following:
domain mydomain
search mydomain
nameserver 173.23.1.1 (this is the IP address of my router/gateway)
Now after reestablishing the ssh tunnel, I found that Google Chrome is able to successfully complete DNS queries. The tunnel is now working correctly.
I hope this helps you get your sheevaplug working.
Also as an aside, if you are using Google Chrome disable "Use DNS pre-fetching to improve page load performance"
DNS pre-fetching does not make use of the proxy tunnel configuration and therefore it will reveal the domain name of any sites you are visiting. Just something to watch out for.
Good-luck
Zaxx