vaheeD khoshnouD

linux, mikrotik, macosx

How to install and configure bind9 on CentOS/Debian

Written by vaheeD on January 14, 2013
How to install and configure bind9 on CentOS/Debian
1 vote, 5.00 avg. rating (93% score)

Step1:

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 example.com with your domain name
zone "example.com" {
        type master;
        file "/etc/bind/zones/example.com.db";
        };

# 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 "0.168.192.in-addr.arpa" {
     type master;
     file "/etc/bind/zones/rev.0.168.192.in-addr.arpa";
};

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
      123.123.123.123;
};

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

sudo mkdir /etc/bind/zones
sudo vi /etc/bind/zones/example.com.db

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 example.com with your domain name. do not forget the . after the domain name!
// Also, replace ns1 with the name of your DNS server
example.com.      IN      SOA     ns1.example.com. admin.example.com. (
// Do not modify the following lines!
                                                        2006081401
                                                        28800
                                                        3600
                                                        604800
                                                        38400
 )

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

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

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

sudo vi /etc/bind/zones/rev.0.168.192.in-addr.arpa

Copy and paste the following text, modify as needed:

//replace example.com with yoour domain name, ns1 with your DNS server name.
// The number before IN PTR example.com is the machine address of the DNS server. in my case, it's 1, as my IP address is 192.168.0.1.
@ IN SOA ns1.example.com. admin.example.com. (
                        2006081401;
                        28800; 
                        604800;
                        604800;
                        86400 
)

                     IN    NS     ns1.example.com.
1                    IN    PTR    example.com

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 example.com with your domain name, and 192.168.0.1 with the address of your new DNS server.
search example.com
nameserver 192.168.0.1

 

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:

named-checkconf

 

Now, test your DNS:

dig example.com

 

How to install and configure bind9 on CentOS/Debian
1 vote, 5.00 avg. rating (93% score)