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
[root@rhel6 ~]# 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 :
[root@rhel6 ~]# 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 :
[root@rhel6 ~]# rndc-confgen -a -c /etc/rndc.key wrote key file "/etc/rndc.key"
4. View the content of the RNDC key :
[root@rhel6 ~]# 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 :
[root@rhel6 ~]# 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 :
[root@rhel6 ~]# /etc/init.d/named start Starting named: [ OK ]
7. To ensure the named daemon will start at boot, execute the following chkconfig :
[root@rhel6 ~]# chkconfig named on
8. Before testing, make sure your pc or server pointing to the DNS Server that has been set up :
[root@rhel6 ~]# cat /etc/resolv.conf nameserver 192.168.1.43
9. Test your DNS service :
[root@rhel6 ~]# host -t mx bloggerbaru.local bloggerbaru.local mail is handled by 10 mail.bloggerbaru.local.
[root@rhel6 ~]# host -t ns bloggerbaru.local bloggerbaru.local name server ns.bloggerbaru.local.