≡ Menu

Linux: Install Free DNS Server Software

DNS is a protocol that allows one to convert a domain name (or a host name) to its IP address. Each domain name has a set of authoritative name servers (like ns1.google.com) which know about the domain name and return its IP addresses, mail servers, SOA records etc. The open recursive name servers like the ones give by your internet service provider (or by OpenDNS or Google Public DNS) query the authoritative name servers for the IP addresses of domain names.

In some cases, you need to run your own authoriative name server. For instance, my web host’s cPanel and WHM are configured to run my own local name servers which can provide authoritative answers for my domain names. This could be very useful and cheap as compared to managed DNS services available. Your web host may also provide you with their name servers which you could use or you could use the name servers provided by your domain name registrar. But the flexibility of running your own nameservers makes it very convenient to do things like dns traffic measurement, identifying attempts to break in to your server etc. There are tools like dnstop which can provide very interesting statistics about where the maximum number of queries are coming from, what are the types of queries etc.

There are two major initiatives in this area. One is called Bind and the other is called PowerDNS. Both are equally good, but the partnership between cPanel and Bind makes Bind the server of choice on my setup.


Bind is an free and open source server for the domain name system (DNS) developed and maintained by the Internet Systems Consortium. It is a rugged and quite fast name server which can authoritatively answer all DNS queries for your domain name. Bind is the most used name server on the internet, though PowerDNS is also growing in popularity. You can also use Bind to run an open recursive. Bind supports both IPv6 and DNSSEC (DNS security extensions) in its implementation. In Bind, you specify the DNS records (like A, MX, SOA) in files called the zone files. It is very easy to configure Bind for new zones.

You can download Bind from this page. It is also available using yum (for CentOS, Fedora and Red Hat) and using apt-get (for Debian and Ubuntu).


PowerDNS is also a free and an open source DNS server. PowerDNS is fully supported through its 24/7 support system. Wikipedia uses PowerDNS as its DNS servers!

You can download PowerDNS from this page.

Bind and PowerDNS are the most commonly used free DNS servers. Bind has a very large user base and both servers have a strong community which can answer your questions and solve your configuration problems. And both are completely free to use!

Comments on this entry are closed.