Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I was wondering if it was possible to setup a local DNS server though BIND9 that contained a large amount of entries for DNS names, similar to what an ISP DNS server or something like Google DNS would have. I have explored some options, active DNS caching being one of them. This article along with this post, both demonstrate how to setup a DNS daemon to save a copy when somebody on the network queries a DNS name so the next query is much quicker as it is no longer having to perform an external DNS request. While this is a step in the right direction, I was wondering if it was possible to download all these "cached entries" or a huge DNS zone file beforehand so I would not have to manually load a whole bunch of sites for my server to make sense. Is this how ISPs or Google DNS runs their DNS servers, with a huge DNS file? How can I get one of these? I have looked into zone transfering which is nicly demonistrated here, but according to the guy, most DNS servers deny zone transfers so it appears I am out of luck.

I am doing this for a couple reasons, first because I would like to have a faster connection ( I saw the speed increase greatly when I switched from my ISP servers to OpenDNS) and because I would like to explore the science in how ISP's run their DNS servers and how all these things work with a hands-on approach instead of reading a huge book or article.

share|improve this question
DNS is recursive, DNS caching saves entries locally but not permantly. Running a bind server is a very great idea if you are trying to learn. – dc5553 Apr 27 '12 at 7:39

In other words, you want to go back to the /etc/hosts files of old and abandon the advantages of DNS?

Having a big pre-downloaded version of some portion of the DNS system doesn't make any sense because entries can be invalid really quick so your data goes stale very soon in turn.

Large providers have a large number of clients that request many different domain names, including all the popular ones. They will cache these entries for the duration of the advertised TTL (Time to live) of the DNS entries and if this time span expires, they will ask the DNS system for an update of the entry before serving it to client systems.

Also, reading a book or extensive article to understand how DNS really works is the recommended approach before trying to implement something yourself. This will save you a lot of frustration as you have a chance to understand what you are doing in the first place and what the different config options might mean.

share|improve this answer

Your Answer


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.