Using this method you will be able to configure your machine as master DNS server for forward and reverse lookups.
Step by Step tutorial guide to configure BIND DNS server in chroot environment for Red Hat (RHEL/CentOS) 7
Step-by-Step Tutorial: Configure Master Slave DNS Server (RHEL/CentOS 7)
Few things you need to check before starting with configuration:
For explanation I am using 192.168.0.100 (you need to give your machine's IP instead) and all other conventions will vary as per your scenario. So make sure to change them.
IPADDR=192.168.0.100 (will vary accordingly)
nameserver 192.168.0.100
192.168.0.100 server.example.com server (make sure this line is present)
HOSTNAME=server.example.com
you can use yum to install the binary packages. These are the packages you will be needing for the same
# yum -y install caching-nameserver
All the files required for the configuration of nameserver are installed in the below mentioned locatoion.These are the steps you need to follow
you can verify the location of installed files using this command
So copy all the files to the new location i.e
# cp /usr/share/doc/bind-9.3.3/sample/var/named/* /var/named/chroot/var/named/
# cp /usr/share/doc/bind-9.3.3/sample/var/named/slaves/* /var/named/chroot/var/named/slaves/
# cp /etc/named.caching-nameserver /var/named/chroot/etc/named.conf
# cd /var/named/chroot/etc/
Now edit the following files as mentioned below
options {
listen-on port 53 { 127.0.0.1; };
# listen-on-v6 port 53 { ::1; };
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";
query-source port 53;
query-source-v6 port 53;
allow-query { localhost; 192.168.0.0/24; };
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
view localhost_resolver {
match-clients { localhost; 192.168.0.0/24; };
match-destinations { localhost; 192.168.0.0/24; };
recursion yes;
include "/etc/named.rfc1912.zones";
} ;
(add these two zones)
zone "example.com" IN {
type master;
file "example.com.zone";
allow-update {none;};
};
zone "0.168.192.in-addr.arpa" IN {
type master;
file "192.168.0.zone";
allow-update{none;};
};
# cp named.local 192.168.0.zone
# cp localhost.zone example.com.zone
$TTL 86400 @ IN SOA server.example.com. root.example.com. (
52 ; serial
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS server.example.com.
IN MX 10 server.example.com.
server IN A 192.168.0.100
www IN CNAME server.example.com.
$TTL 86400
@ IN SOA server.example.com. root.server.example.com. (
1997022703 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS server.example.com.
100 IN PTR server.example.com.
Restart the named server once you are done with all the configuration.
If you get any error message and your service ends up with a failed status then check the log messages for troubleshooting. I will guide with few of the problems I came up with and the way I overcome those errors at the end of the configuration
Check your DNS
PING google.com (74.125.236.195) 56(84) bytes of data.
64 bytes from maa03s17-in-f3.1e100.net (74.125.236.195): icmp_seq=1 ttl=53 time=48.6 ms
64 bytes from maa03s17-in-f3.1e100.net (74.125.236.195): icmp_seq=2 ttl=53 time=54.1 ms
64 bytes from maa03s17-in-f3.1e100.net (74.125.236.195): icmp_seq=3 ttl=53 time=50.7 ms
64 bytes from maa03s17-in-f3.1e100.net (74.125.236.195): icmp_seq=4 ttl=53 time=50.5 ms
; <<>> DiG 9.3.3rc2 <<>> -x 192.168.0.100
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45439
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:
;100.0.168.192.in-addr.arpa. IN PTR
;; ANSWER SECTION:
100.0.168.192.in-addr.arpa. 86400 IN PTR server.example.com.
;; AUTHORITY SECTION:
0.168.192.in-addr.arpa. 86400 IN NS server.example.com.
;; ADDITIONAL SECTION:
server.example.com. 86400 IN A 192.168.0.100
;; Query time: 1 msec
;; SERVER: 192.168.0.100#53(192.168.0.100)
;; WHEN: Thu Nov 10 07:55:59 2011
;; MSG SIZE rcvd: 107
Server: 192.168.0.100
Address: 192.168.0.100#53
Name: server.example.com
Address: 192.168.0.100