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

Be the first to comment

Leave a Reply

Your email address will not be published.


*