How to install dns server in centos 6

DNS

DNS helps to resolve domain name to ip address and ip address to domain name . In this post we can see how to configure DNS server on centos 6.

Install dns server in centos 6 :

Just follow the step by step instruction to setup dns server on centos 6 .
You can also refer the below posts for Centos OS installation and network configuration

» Centos 6 installation step by step screenshots

» How to setup network in centos 6

Step 1 » Install bind packages by issuing the below command.
[root@localhost ~]# yum install bind*

Step 2 » Assign static IP address.
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE="eth0"
HWADDR="00:0C:29:0D:FB:E2"
NM_CONTROLLED="yes"
ONBOOT="yes"
BOOTPROTO="static"
IPADDR=172.16.28.5
NETMASK=255.255.255.0
GATEWAY=172.16.28.1

Step 3 » Assign fully qualified domain name for the server ( Ex: dns1.krizna.com )
[root@localhost ~]# vim /etc/sysconfig/network

NETWORKING=yes
HOSTNAME=dns1.krizna.com

Step 4 » Add a host entry in the host file .
[root@localhost ~]# vim /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.28.5   dns1.krizna.com

Step 5 » Add server ip to the resolve.conf file.
[root@localhost ~]# vim /etc/resolv.conf

search krizna.com
nameserver 172.16.28.5

Just We completed pre requirements for DNS server . Lets start main configuration
Step 6 » Open /etc/named.conf file and Edit the following line Nos 11,12 and 17 like below
[root@localhost ~]# vim /etc/named.conf

//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
options {
        listen-on port 53 { 172.16.28.5; };    ## replace with your IP <-----------
#       listen-on-v6 port 53 { ::1; };         ## comment this line    <-----------
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-query     { any; };              ## Edit this line       <-----------
        recursion yes;

        dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside auto;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";

        managed-keys-directory "/var/named/dynamic";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
        type hint;
        file "named.ca";
};

include "/etc/named.rfc1912.zones";                      ##Check this line <--------
include "/etc/named.root.key";

Step 6 » Now open /etc/named.rfc1912.zones file and edit the following line nos 13,14,31 and 32
[root@localhost ~]# vim /etc/named.rfc1912.zones

// named.rfc1912.zones:
//
// Provided by Red Hat caching-nameserver package
//
// ISC BIND named zone configuration for zones recommended by
// RFC 1912 section 4.1 : localhost TLDs and address zones
// and http://www.ietf.org/internet-drafts/draft-ietf-dnsop-default-local-zones-02.txt
// (c)2007 R W Franks
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//

zone "krizna.com" IN {                 ## Your domain name       <----------
        type master;
        file "forward.zone";           ## Forward zone file name <----------
        allow-update { none; };
};

zone "localhost" IN {
        type master;
        file "named.localhost";
        allow-update { none; };
};

zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
        type master;
        file "named.loopback";
        allow-update { none; };
};

zone "28.16.172.in-addr.arpa" IN {         ##Edit as per your IP address <-----            
        type master;
        file "reverse.zone";               ## Reverse zone file name <---------
        allow-update { none; };
};

zone "0.in-addr.arpa" IN {
        type master;
        file "named.empty";
        allow-update { none; };
};

Step 7 » Now create forward and reverse zone files like below
[root@localhost ~]# cp /var/named/named.localhost /var/named/forward.zone
[root@localhost ~]# cp /var/named/named.loopback /var/named/reverse.zone

Step 8 » Open the forward zone file and replace with your hostname like below
[root@localhost ~]# vim /var/named/forward.zone

$TTL 1D
@ IN SOA dns1.krizna.com. root.dns1.krizna.com. (       
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        IN NS   dns1.krizna.com.                      
dns1    IN A    172.16.28.5

Step 9 » Now open the reverse zone file and replace like below .
[root@localhost ~]# vim /var/named/reverse.zone

$TTL 1D
@ IN SOA dns1.krizna.com. root.dns1.krizna.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        IN NS      dns1.krizna.com.
5       IN PTR     dns1.krizna.com.

Step 10 » Now set group permissions for the files

[root@localhost ~]# chgrp named /var/named/forward.zone
[root@localhost ~]# chgrp named /var/named/reverse.zone

Step 11 » That's it , now start the service by typing the below command

[root@localhost ~]# service named start
Generating /etc/rndc.key:                                  [  OK  ]
Starting named:                                            [  OK  ]

Step 12 » Issue the below command to start service on bootup and Reboot the server
[root@localhost ~]# chkconfig --levels 235 named on

Step 13 » After rebooting .Just issue the below commands to test your dns server
[root@dns1 ~]# dig

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6_3.6 <<>>
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45720
;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;.				IN	NS

;; ANSWER SECTION:
.			518400	IN	NS	e.root-servers.net.
.			518400	IN	NS	c.root-servers.net.
.			518400	IN	NS	d.root-servers.net.
.			518400	IN	NS	m.root-servers.net.
.			518400	IN	NS	a.root-servers.net.
.			518400	IN	NS	f.root-servers.net.
.			518400	IN	NS	k.root-servers.net.
.			518400	IN	NS	h.root-servers.net.
.			518400	IN	NS	b.root-servers.net.
.			518400	IN	NS	j.root-servers.net.
.			518400	IN	NS	l.root-servers.net.
.			518400	IN	NS	g.root-servers.net.
.			518400	IN	NS	i.root-servers.net.

;; Query time: 1457 msec
;; SERVER: 172.16.28.5#53(172.16.28.5)
;; WHEN: Mon Dec 17 22:47:52 2012
;; MSG SIZE  rcvd: 228
[root@dns1 ~]# nslookup dns1.krizna.com
Server:		172.16.28.5
Address:	172.16.28.5#53

Name:	dns1.krizna.com
Address: 172.27.16.5
[root@dns1 ~]# nslookup 172.16.28.5
Server:		172.16.28.5
Address:	172.16.28.5#53

5.28.16.172.in-addr.arpa	name = dns1.krizna.com.

[root@dns1 ~]# 

All the best

13 Comments

  1. hello i got this after following all the steps up to step 11.

    [root@localhost named]# service named start
    Starting named:
    Error in named configuration:
    /etc/named.conf:45: zone ‘centos.local’: already exists previous definition: /etc/named.rfc1912.zones:13
    /etc/named.conf:51: zone ‘1.168.192.in-addr.arpa’: already exists previous definition: /etc/named.rfc1912.zones:31
    [FAILED]

    any ideas why it failed ?

  2. hello i got this after following all the steps up to step 11.

    [root@localhost named]# service named start
    Starting named:
    Error in named configuration:
    /etc/named.conf:45: zone ‘centos.local’: already exists previous definition: /etc/named.rfc1912.zones:13
    /etc/named.conf:51: zone ‘1.168.192.in-addr.arpa’: already exists previous definition: /etc/named.rfc1912.zones:31
    [FAILED]

    any ideas why it failed ?

  3. we has been configured dns already and is working but when i shutdown VMWare and open again but dns is not working and restart serive dns already. Why can tell me about this problem?

  4. we has been configured dns already and is working but when i shutdown VMWare and open again but dns is not working and restart serive dns already. Why can tell me about this problem?

  5. hi could anyone help me with dns configuration. am getting this error
    dns_master_load: nam.net.reverse:1 extra input text
    nam.net.reverse:2 extra input text
    nam.net.reverse:4 :SOA record not at top of zone (=.1.168.192.in-addr.arpa) loading failed

  6. hi could anyone help me with dns configuration. am getting this error
    dns_master_load: nam.net.reverse:1 extra input text
    nam.net.reverse:2 extra input text
    nam.net.reverse:4 :SOA record not at top of zone (=.1.168.192.in-addr.arpa) loading failed

  7. I want to say a big thank to who wrote this, this was really detailed.. I was able to get this working just following the exact instructions and it worked. This was the best I saw for all dns installation.

  8. I want to say a big thank to who wrote this, this was really detailed.. I was able to get this working just following the exact instructions and it worked. This was the best I saw for all dns installation.

  9. hi please help me after run command in centos 6.7 “service named start” then showing the error in terminal “/etc/named.conf:24: ‘dnssec-enable’ redefined near ‘dnssec-enable'”

  10. And I have another silly question. Please don’t mind…
    Is my understanding correct if I try doing nslookup dns1.vardhan.com from another machine, and expect the same output?
    When I do that, I actually get the wrong server address. I am supposed to get my dns system’s ip: 192.168.56.2. But i get the following:

    [edureka@localhost ~]$ nslookup dns1.vardhan.com
    Server: 8.8.8.8
    Address: 8.8.8.8#53

    Non-authoritative answer:
    Name: dns1.vardhan.com
    Address: 69.172.201.153

    Someone please suggest an answer.

  11. root@alam ~]# service named start
    Starting named:
    Error in named configuration:
    zone alam.com/IN: loading from master file farward.zone failed: file not found
    zone alam.com/IN: not loaded due to errors.
    _default/alam.com/IN: file not found
    zone localhost/IN: loaded serial 0
    zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 0
    zone 15.56.168.192.in-addr.arpa/IN: loaded serial 0
    zone 0.in-addr.arpa/IN: loaded serial 0
    [FAILED]
    [root@alam ~]#

    i m facesing this problem how this can be correct

1 Trackback / Pingback

  1. آموزش نصب و کانفیگ bind dns

Leave a Reply

Your email address will not be published.


*