Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I have a local caching dns server (named).

Say I want to resolve a blizzard.com domain. How does my local DNS manage to find the correct server to query for this domain? Does it have a list of other DNS servers somewhere? Could I change them (say to Google's 8.8.8.8) ?

Thank you!

share|improve this question
    
If you want it to ask specific nameservers, you can configure one or more forwarders. Usually this isn't a good idea though. –  David Schwartz Mar 2 '12 at 14:31
add comment

3 Answers

up vote 3 down vote accepted

How does my local DNS manage to find the correct server to query for this domain?

it asks.

Does it have a list of other DNS servers somewhere?

Yes, teh root list OR the list of an upstream. With the root list it will ask the "." root server (one of them) for the servers for the com. domain, then those for the blizzard.com. relevant servers and so on.

share|improve this answer
    
Where is it defined, whom to ask? –  Vasisualiy Mar 2 '12 at 9:54
    
THe root list is apart of the configuration. it is regularly updated via DNS (asking root servers for the list, so if ONE works, it is refreshed) Otherwise the known root server ist is installed with the software. –  TomTom Mar 2 '12 at 10:31
add comment

DNS is a well-defined protocol, and caching is not a magic black box - all behaviour is precisely defined.

If your caching server needs to retrieve a new RR, it will traverse the hierarchy iteratively, like any DNS server would (providing you have no forwarders configured, which you shouldn't), and then ask a nameserver that is authoritative for blizzard.com for the RR.
This value is used for the duration given in the RR's TTL field.

Sundry explained in more detail here: http://www.zytrax.com/books/dns/ch2/ and here: http://en.wikipedia.org/wiki/Domain_Name_System#DNS_resolvers

share|improve this answer
add comment

Running the following command will give you a good idea of what's going on.

dig +trace example.com

The official list of root servers is maintained here. This is the "hints" file which most recursive servers will use to figure out where to start looking for domains. It only very rarely changes. Most of the changes I recall recently have been just added AAAA records for IPv6.

For more details of what happens at the root level, there's plenty of documentation here

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.