How to Install and Configure Bind Chroot DNS Server on RHEL 6

Share this Article :

In this post, i will guide you on how to install and configure Bind Chroot DNS server on Redhat Enterprise Linux 6 (RHEL 6). DNS is the Domain Name System that maintains a database that can help user’s computer to translate domain names to IP addresses. This post will show the installation and configuration for bind-chroot 9.7 version. Assumed that you have configured your RHEL 6 with local yum repository as per documented in the following post.
How to Setup Local Yum Repository from CD-ROM/DVD-ROM image on RHEL 6

1. Install Bind Chroot DNS Server

[[email protected] ~]# yum install bind-chroot -y
Loaded plugins: rhnplugin
This system is not registered with RHN.
RHN support will be disabled.
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package bind-chroot.i686 32:9.7.0-5.P2.el6 set to be updated
--> Processing Dependency: bind = 32:9.7.0-5.P2.el6 for package: 32:bind-chroot-9.7.0-5.P2.el6.i686
--> Running transaction check
---> Package bind.i686 32:9.7.0-5.P2.el6 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

====================================================================================================
 Package              Arch          Version                     Repository                     Size
====================================================================================================
Installing:
 bind-chroot          i686          32:9.7.0-5.P2.el6           DVD-RHEL6-Repository           65 k
Installing for dependencies:
 bind                 i686          32:9.7.0-5.P2.el6           DVD-RHEL6-Repository          3.5 M

Transaction Summary
====================================================================================================
Install       2 Package(s)
Upgrade       0 Package(s)

Total download size: 3.5 M
Installed size: 6.4 M
Downloading Packages:
----------------------------------------------------------------------------------------------------
Total                                                                30 MB/s | 3.5 MB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : 32:bind-9.7.0-5.P2.el6.i686                                                  1/2
  Installing     : 32:bind-chroot-9.7.0-5.P2.el6.i686                                           2/2

Installed:
  bind-chroot.i686 32:9.7.0-5.P2.el6

Dependency Installed:
  bind.i686 32:9.7.0-5.P2.el6

Complete!

2. Create a file /var/named/chroot/var/named/bloggerbaru.local with the following configuration :

[[email protected] ~]# vi /var/named/chroot/var/named/bloggerbaru.local
;
;       Addresses and other host information.
;
@       IN      SOA     bloggerbaru.local. hostmaster.bloggerbaru.local. (
                               2011030801      ; Serial
                               43200      ; Refresh
                               3600       ; Retry
                               3600000    ; Expire
                               2592000 )  ; Minimum

;       Define the nameservers and the mail servers

               IN      NS      ns.bloggerbaru.local.
               IN      A       192.168.1.43
               IN      MX      10 mail.bloggerbaru.local.

mail            IN      A       192.168.1.43
ns              IN      A       192.168.1.43

3. Generate an RNDC key :
The rndc tool is used to managed the named daemon. We need to generate a keyfile called /etc/rndc.key which is referenced both by /etc/rndc.conf and /etc/named.conf. Execute the following command to generate the RNDC key :

[[email protected] ~]# rndc-confgen -a -c /etc/rndc.key
wrote key file "/etc/rndc.key"

4. View the content of the RNDC key :

[[email protected] ~]# cat /etc/rndc.key
key "rndc-key" {
        algorithm hmac-md5;
        secret "rDy6d+XB4NiAnHWA5N7Jig==";
};

5. Edit the /var/named/chroot/etc/named.conf file for bloggerbaru.local :

[[email protected] ~]# vi /var/named/chroot/etc/named.conf
options {
       directory "/var/named";
       dump-file "/var/named/data/cache_dump.db";
       statistics-file "/var/named/data/named_stats.txt";
forwarders { 8.8.8.8; };
};
include "/etc/rndc.key";
// We are the master server for bloggerbaru.local

zone "bloggerbaru.local" {
    type master;
    file "bloggerbaru.local";
};

6. Start the DNS service using the following command :

[[email protected] ~]# /etc/init.d/named start
Starting named:                                            [  OK  ]

7. To ensure the named daemon will start at boot, execute the following chkconfig :

[[email protected] ~]# chkconfig named on

8. Before testing, make sure your pc or server pointing to the DNS Server that has been set up :

[[email protected] ~]# cat /etc/resolv.conf
nameserver 192.168.1.43

9. Test your DNS service :

[[email protected] ~]# host -t mx bloggerbaru.local
bloggerbaru.local mail is handled by 10 mail.bloggerbaru.local.
[[email protected] ~]# host -t ns bloggerbaru.local
bloggerbaru.local name server ns.bloggerbaru.local.

Leave a Reply