What can cause a DNS lookup to ignore a hosts file entry?

I'm having a DNS resolving issue that is affecting the performance of my locally hosted web site when browse it on my local machine. If I attach my network's DNS suffix to my local machine name when I go to the URL in my browser, the site has terrible load times (100+ times slower) than without the DNS suffix.

I thought I could fix this by using my hosts file to avoid the need for a lookup. I added an entry to my hosts file like this

127.0.0.1    myMachine.MyDnsSuffix

But this didn't change the load times, even after a reboot. Although it is not important to resolve this specific problem, I would really like to know why this happens.

Also, when I run nslookup on the domain myMachine.MyDnsSuffix, I notice it uses my network's DNS server to find the IP. Could this be related to my problem or am I just mis-understanding how nslookup works?


I believe nslookup is used to test a DNS server itself, as opposed to utilizing your HOSTS file. http://support.microsoft.com/kb/200525 seems to indicate as much.

Try just a simple ping. Does ping myMachine.MyDnsSuffix resolve to the loopback address you have specified in your HOSTS file?


DNS lookups do not use a hosts file. Ever.


OK, brand new approach. Let's have you clear your IP and NETBIOS cache. ipconfig /flushdns and nbtstat -R. Then fire up a packet sniffer like Wireshark, and do a ping while it's running.

From the packet capture, we want to see if A) There's a DNS request going out, and if so, what name is it requesting. B) If there's a NETBIOS request going out. It's possible this name is being resolved via NETBIOS instead of proper DNS.

If we don't see either of the above despite you flushing your cache, then it's likely that the name is being pulled from either hosts or lmhosts.