Discussion:
What is CACHE.DNS file?
(too old to reply)
John
2009-01-16 18:14:35 UTC
Permalink
What is C:\Windows\System32\DNS\CACHE.DNS file? How is it used by Windows
Server 2003 DNS? Here's the reason I'm asking this question:

A little over a year ago, I manually updated L root server IP address
(article at:
http://www.renesys.com/tech/presentations/pdf/nanog43-Lroot.pdf) by going
into my Win2003 DNS root hints properties, and edit L root server IP
address. It's been showing 199.7.83.42 (the new IP) since then. It's still
is 199.7.83.42 when I look at my DNS L root server properties today.

However when I look at cache.dns file located at C:\Windows\System32\DNS.
The value of L is 198.32.64.12 (the old IP). Here's how it looks:
. 3600000 NS L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET. 3600000 A 198.32.64.12

I've never touched, updated or replaced my cache.dns file. Shouldn't the
content of cache.dns be updated when we manually update our root hints
settings? Anyone can explain this?

Thanks.
Meinolf Weber [MVP-DS]
2009-01-17 10:08:15 UTC
Permalink
Hello John" a,

The cache.dns has the root servers of the internet listed.

From: http://technet.microsoft.com/en-us/library/cc772774.aspx#w2k3tr_dns_how_gaxc

Used to preload resource records into the DNS server names cache. DNS servers
use this file to help locate root servers on either your network or the Internet.


By default, this file contains DNS resource records that prime the local
cache of the server with the addresses of authoritative root servers for
the Internet. If you are setting up a DNS server to resolve Internet DNS
names, the information in this file is required unless you enable the use
of another DNS server as a forwarder to resolve these names.

Traffic to the Internet root servers is heavy, but because host names are
not usually resolved at this level, the load can be reasonably handled. Instead,
the root hints file provides referral information that can be useful during
DNS name resolution to redirect a query to other servers that are authoritative
for names located beneath the root.

For DNS servers operating privately on your internal network, the DNS console
can learn and replace the contents of this file with internal root servers
on your network, provided they are reachable through the network when you
are setting up and configuring new DNS servers. It can be updated using the
DNS console from the Root Hints tab located under the applicable server properties.

This file preloads the server names cache when it is started.


Best regards

Meinolf Weber
Disclaimer: This posting is provided "AS IS" with no warranties, and confers
no rights.
** Please do NOT email, only reply to Newsgroups
** HELP us help YOU!!! http://www.blakjak.demon.co.uk/mul_crss.htm
Post by John
What is C:\Windows\System32\DNS\CACHE.DNS file? How is it used by
A little over a year ago, I manually updated L root server IP address
http://www.renesys.com/tech/presentations/pdf/nanog43-Lroot.pdf) by
going into my Win2003 DNS root hints properties, and edit L root
server IP address. It's been showing 199.7.83.42 (the new IP) since
then. It's still is 199.7.83.42 when I look at my DNS L root server
properties today.
However when I look at cache.dns file located at
C:\Windows\System32\DNS.
. 3600000 NS L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET. 3600000 A 198.32.64.12
I've never touched, updated or replaced my cache.dns file. Shouldn't
the content of cache.dns be updated when we manually update our root
hints settings? Anyone can explain this?
Thanks.
John
2009-01-21 22:43:53 UTC
Permalink
Thanks for your reply. Here's the part that I don't understand:
The content of DNS console root hints (tab) does not match the content of
C:\Windows\System32\DNS\CACHE.DNS

It looks like DNS console root hints has up-to-date IP addresses while the
content of CACHE.DNS is outdated (last update was: Nov 5, 2002).

In other words, b.root-servers.net. and l.root-servers.net. in DNS console
both show up-to-date IP address. CACHE.DNS file content shows old IP
addresses for root server B and L.

It looks like my Windows 2003 ignores cache.dns file. Btw, this W2k3 is an
AD controller. Could that be the reason why it ignores cache.dns file? If I
replace C:\Windows\System32\DNS\CACHE.DNS file with a new one, how do I get
W2k3 server to read it?

Thanks again.
Post by Meinolf Weber [MVP-DS]
Hello John" a,
The cache.dns has the root servers of the internet listed.
http://technet.microsoft.com/en-us/library/cc772774.aspx#w2k3tr_dns_how_gaxc
Used to preload resource records into the DNS server names cache. DNS
servers use this file to help locate root servers on either your network
or the Internet.
By default, this file contains DNS resource records that prime the local
cache of the server with the addresses of authoritative root servers for
the Internet. If you are setting up a DNS server to resolve Internet DNS
names, the information in this file is required unless you enable the use
of another DNS server as a forwarder to resolve these names.
Traffic to the Internet root servers is heavy, but because host names are
not usually resolved at this level, the load can be reasonably handled.
Instead, the root hints file provides referral information that can be
useful during DNS name resolution to redirect a query to other servers
that are authoritative for names located beneath the root.
For DNS servers operating privately on your internal network, the DNS
console can learn and replace the contents of this file with internal root
servers on your network, provided they are reachable through the network
when you are setting up and configuring new DNS servers. It can be updated
using the DNS console from the Root Hints tab located under the applicable
server properties.
This file preloads the server names cache when it is started.
Best regards
Meinolf Weber
Disclaimer: This posting is provided "AS IS" with no warranties, and
confers no rights.
** Please do NOT email, only reply to Newsgroups
** HELP us help YOU!!! http://www.blakjak.demon.co.uk/mul_crss.htm
Post by John
What is C:\Windows\System32\DNS\CACHE.DNS file? How is it used by
A little over a year ago, I manually updated L root server IP address
http://www.renesys.com/tech/presentations/pdf/nanog43-Lroot.pdf) by
going into my Win2003 DNS root hints properties, and edit L root
server IP address. It's been showing 199.7.83.42 (the new IP) since
then. It's still is 199.7.83.42 when I look at my DNS L root server
properties today.
However when I look at cache.dns file located at
C:\Windows\System32\DNS.
. 3600000 NS L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET. 3600000 A 198.32.64.12
I've never touched, updated or replaced my cache.dns file. Shouldn't
the content of cache.dns be updated when we manually update our root
hints settings? Anyone can explain this?
Thanks.
John
2009-01-22 00:24:39 UTC
Permalink
I found KB article 249868 at http://support.microsoft.com/kb/249868

It says:
By default, when DNS is running on a Windows 2000 domain controller, the
root hints are read from Active Directory upon startup first. If no root
hints exist in Active Directory, the Cache.dns file is read. If the listing
of root DNS servers becomes damaged in Active Directory or is missing, it
may be necessary to replace them with the entries listed in the
%systemroot%\system32\dns\backup\Cache.dns file.

Does the above apply to Windows Server 2003 R2 configured as an AD
controller?

I'm tempted to follow KB249868 instruction under Resolution section, to get
my DNS to read CACHE.DNS file that contains the latest update (Dec 12,
2008). Is this the correct way to re-read CACHE.DNS file? Can someone
comment on this?
Post by John
The content of DNS console root hints (tab) does not match the content of
C:\Windows\System32\DNS\CACHE.DNS
It looks like DNS console root hints has up-to-date IP addresses while the
content of CACHE.DNS is outdated (last update was: Nov 5, 2002).
In other words, b.root-servers.net. and l.root-servers.net. in DNS console
both show up-to-date IP address. CACHE.DNS file content shows old IP
addresses for root server B and L.
It looks like my Windows 2003 ignores cache.dns file. Btw, this W2k3 is an
AD controller. Could that be the reason why it ignores cache.dns file? If
I replace C:\Windows\System32\DNS\CACHE.DNS file with a new one, how do I
get W2k3 server to read it?
Thanks again.
Post by Meinolf Weber [MVP-DS]
Hello John" a,
The cache.dns has the root servers of the internet listed.
http://technet.microsoft.com/en-us/library/cc772774.aspx#w2k3tr_dns_how_gaxc
Used to preload resource records into the DNS server names cache. DNS
servers use this file to help locate root servers on either your network
or the Internet.
By default, this file contains DNS resource records that prime the local
cache of the server with the addresses of authoritative root servers for
the Internet. If you are setting up a DNS server to resolve Internet DNS
names, the information in this file is required unless you enable the use
of another DNS server as a forwarder to resolve these names.
Traffic to the Internet root servers is heavy, but because host names are
not usually resolved at this level, the load can be reasonably handled.
Instead, the root hints file provides referral information that can be
useful during DNS name resolution to redirect a query to other servers
that are authoritative for names located beneath the root.
For DNS servers operating privately on your internal network, the DNS
console can learn and replace the contents of this file with internal
root servers on your network, provided they are reachable through the
network when you are setting up and configuring new DNS servers. It can
be updated using the DNS console from the Root Hints tab located under
the applicable server properties.
This file preloads the server names cache when it is started.
Best regards
Meinolf Weber
Disclaimer: This posting is provided "AS IS" with no warranties, and
confers no rights.
** Please do NOT email, only reply to Newsgroups
** HELP us help YOU!!! http://www.blakjak.demon.co.uk/mul_crss.htm
Post by John
What is C:\Windows\System32\DNS\CACHE.DNS file? How is it used by
A little over a year ago, I manually updated L root server IP address
http://www.renesys.com/tech/presentations/pdf/nanog43-Lroot.pdf) by
going into my Win2003 DNS root hints properties, and edit L root
server IP address. It's been showing 199.7.83.42 (the new IP) since
then. It's still is 199.7.83.42 when I look at my DNS L root server
properties today.
However when I look at cache.dns file located at
C:\Windows\System32\DNS.
. 3600000 NS L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET. 3600000 A 198.32.64.12
I've never touched, updated or replaced my cache.dns file. Shouldn't
the content of cache.dns be updated when we manually update our root
hints settings? Anyone can explain this?
Thanks.
Loading...