In this post, i will guide you on how to configure Bind Chroot DNS server on Linux CentOS 5.7 Server. DNS is the Domain Name System that maintains a database that can help user’s computer to translate domain names such as www.ehowstuff.com to IP addresses such as 184.173.214.97. DNS on CentOS is based on the named daemon, which is built on the BIND package developed through the Internet Software Consortium. (More information is available from the BIND home page at www.isc.org/products/BIND.) This steps has been tested on linux CentOS 5.7 but it may working on other version such as CentOS 5.1, CentOS 5.2, CentOS 5.3, CentOS 5.4, CentOS 5.5 and CentOS 5.6.
1. Install Bind Chroot DNS Server :
[root@CentOS57 ~]# yum install bind-chroot -y
2. Create a file /var/named/chroot/var/named/bloggerbaru.local with the following configuration :
[root@CentOS57 ~]# 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.45 IN MX 10 mail.bloggerbaru.local. mail IN A 192.168.1.45 ns IN A 192.168.1.45
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@CentOS57 ~]# rndc-confgen -a -c /etc/rndc.key wrote key file "/etc/rndc.key"
4. View the content of the RNDC key :
[root@CentOS57 ~]# cat /etc/rndc.key
key "rndckey" { algorithm hmac-md5; secret "jwsFpL7OJR+x9w+YRkGrXA=="; };
5. Edit the /var/named/chroot/etc/named.conf file for bloggerbaru.local :
[root@CentOS57 ~]# 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@CentOS57 ~]# /etc/init.d/named start Starting named: [ OK ]
or
[root@CentOS57 ~]# service named start Starting named: [ OK ]
7. To ensure the named daemon will start at boot, execute the following chkconfig :
[root@CentOS57 ~]# chkconfig named on
8. Before testing, make sure your pc or server pointing to the DNS Server that has been set up. In this case, i want to ensure that CentOS 5.7 poiting to itself :
[root@CentOS57 ~]# cat /etc/resolv.conf nameserver 127.0.0.1
9. Test your DNS service :
[root@CentOS57 ~]# host -t mx bloggerbaru.local bloggerbaru.local mail is handled by 10 mail.bloggerbaru.local.
[root@CentOS57 ~]# host -t mx bloggerbaru.local bloggerbaru.local mail is handled by 10 mail.bloggerbaru.local.