Thursday, January 3, 2008

"It's Always DNS"

This is a phrase that I say quite often. Why? Because it often holds true. When things aren't acting as they should, and you've checked the physical layer (remember kids, "physical layer first!") DNS is the next place to look.

So why do I say "it's always DNS"? It is the most common answer to the most confusing scenarios. For example, why can't Susan use app x when Bill is having no issue with it? Or how come Susan's Outlook is working just fine, but Bill can't seem to open his passed the splash screen? In these cases--check DNS.

First step is to check things at the client-side. Do this by flushing the DNS cache via the command line:

c:>ipconfig /flushdns

Next, try to ping the hosting machine:

c:>ping AppServerInQuestion

If the pings reply, great! Try the app or service again. If the pings do not reply, flush the client again and move on over to the DNS server to have a look at what's going on. This is where knowing your environment will be key.

Take a look at the Forward Lookup table and make sure that there is only one entry for the machine in question. For an easy way to do this, sort by hostname to easily find the host in question. Also, sort by IP address and verify it is only listed once for this host.

Some common signs that a problem may be related to DNS:
  • Mapped drives are not there, or not connected
  • Remote administration tools are hanging or just not working
  • Outlook mysteriously isn't working
  • A ping to a host hangs, even though you can see that it is on and connected
  • A ping to IP is successful, but a ping to a hostname is not

Error messages in the Event Logs are a big help in troubleshooting issues.... and when troubleshooting anything, remember to ask yourself "What changed?" as that can always clue you in to what's going on.

Other useful resources are places like EventID.net and just a plain Google search. Sometimes I've found that a Google search is more useful or more helpful than any other resource on my list.