3.16.2005

Useless Trivia: Windows Server 2003 Cache.dns File

I was doing some research tonight and I got curious about the Windows Server 2003 cache.dns file. For those of you who aren't up-to-speed on such things, the cache.dns file is responsible for "priming" your DNS servers so they know how to resolve the root Internet servers -- and thus, the rest of the Internet. My curiosity was mostly focused on the topic of updates to the root servers, and specifically how new server addresses find their way into the Windows Server DNS cache.dns file.

After some digging I found Microsoft KB article 815024, which discusses a recent update to the cache.dns file. It seems that this update, released in July, 2003 as part of Windows 2000 Server SP4, contains a minor update to the cache.dns file. So it seems that Microsoft refreshes the cache.dns file via service packs. That's all fine and good, but this new cache.dns file is already out-of-date. Sigh... guess my search isn't over just yet.

If you want to see the most recent cache.dns file, check ftp://rs.internic.net/domain/ and look for a file called named.root. As you will see, there are a couple differences between this file and the Windows Server cache.dns file. First of all, they have different names. Secondly, if you open each file with Notepad, you will notice that the named.root file isn't formatted like the Windows cache.dns file. However, this second point doesn't seem to be a show stopper. I fired up one of my test Windows Server 2003 machines and copied the named.root file to c:\windows\system32\dns. After renaming the existing cache.dns file to cache.old, I then renamed named.root to cache.dns. I then restarted the DNS service, and voila -- my root hints were updated.

The only difference between the vanilla Windows Server 2003 root hints file and the one I downloaded from InterNIC is the address of b.root-servers.net. The old address is 128.9.0.107, and the new address is 192.228.79.201. If you want, you can simply use the Windows DNS graphical administration tool and manually update the b.root-servers.net entry. Either way, it doesn't really matter -- since both the old and new addresses respond to DNS queries. I'm not sure how long this will hold true, but if you are a geek like me, you will want the latest and greatest cache.dns file. :)