vaheeD khoshnouD

linux, mikrotik, macosx

How to install and configure bind9 on CentOS/Debian

Written by vaheeD on January 14, 2013
5.00 avg. rating (93% score) - 1 vote


Install bind 9 on Debian/Ubuntu

sudo apt-get install bind9 dnsutils -y

Install bind 9 on CentOS/Fedora

sudo yum install bind dnsutils -y

Step 2: Configure the main Bind files. Usually,  you will have to edit the file named.conf.

sudo vi /etc/bind/named.conf.local

This is where we will insert our zones. By the way, a zone is a domain name that is referenced in the DNS server
Insert this in the named.conf.local file:

# This is the zone definition. replace with your domain name
zone "" {
        type master;
        file "/etc/bind/zones/";

# This is the zone definition for reverse DNS. replace 0.168.192 with your network address in reverse notation - e.g my network address is 192.168.0
zone "" {
     type master;
     file "/etc/bind/zones/";

Ok, now, let’s edit the options file:

sudo vi /etc/bind/named.conf.options

We need to modify the forwarder. This is the DNS server to which your own DNS will forward the requests he cannot process.

forwarders {
      # Replace the address below with the address of your provider's DNS server;

Now, let’s add the zone definition files (replace with your domain name:

sudo mkdir /etc/bind/zones
sudo vi /etc/bind/zones/

The zone definition file is where we will put all the addresses / machine names that our DNS server will know. You can take the following example:

// replace with your domain name. do not forget the . after the domain name!
// Also, replace ns1 with the name of your DNS server      IN      SOA (
// Do not modify the following lines!

// Replace the following line as necessary:
// ns1 = DNS Server name
// mta = mail server name
// = domain name      IN      NS          IN      MX     10

// Replace the IP address with the right IP addresses.
www              IN      A
mta              IN      A
ns1              IN      A

Now, let’s create the reverse DNS zone file:

sudo vi /etc/bind/zones/

Copy and paste the following text, modify as needed:

//replace with yoour domain name, ns1 with your DNS server name.
// The number before IN PTR is the machine address of the DNS server. in my case, it's 1, as my IP address is
@ IN SOA (

                     IN    NS
1                    IN    PTR

Ok, now you just need to restart bind:

sudo /etc/init.d/bind9 restart

We can now test the new DNS server…
Step 4: Modify the file resolv.conf with the following settings:

sudo vi /etc/resolv.conf

enter the following:

// replace with your domain name, and with the address of your new DNS server.


Checking bind’s zone files and configuration

Before we attempt to start a bind nameserver with a new zone and configuration here are some tools to check

if we have not done some typo or misconfiguration. To check a configuration files run a following command:



Now, test your DNS:



5.00 avg. rating (93% score) - 1 vote