How to install and configure Bind DNS Server

Home > Search > How-to
  by

Use apt-get or yum to install Bind DNS Server.

~]# apt-get install bind9
~]# yum install bind

 

Enable SGID on the /var/named directory, so that newly created files will be owned by the named group.

~]# chmod 2750 /var/named

 

View the current mapping between the nameserver and IP address. In this example, Googles DNS servers are being used (8.8.8.8, 8.8.4.4).

~]# cat /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4

 

Use the touch command to create a file named forward.example.com and a file named reverse.example.com in the /var/named directory. Replace example with the name of your domain.

~]# touch /var/named/forward.example.com.zone
~]# touch /var/named/reverse.example.com.zone

 

Add the following to the /var/named/forward.example.com.zone file. Replace example with the name of your domain. Use the appropriate IP addresses. Before serial, use yyyymmddnn, where nn starts at 00 and increments by 1. This file should be delimited with tab.

example.com = authoritative DNS server, ns1.example.com = name server

$ORIGIN example.com.
$TTL 1D
@ IN SOA  ns1.example.com. root.example.com. (
                                0  ; serial
                                1D ; refresh
                                1H ; retry
                                1W ; expire
                                3H ; minimum
)
@     IN   NS          ns1.example.com.
ns1   IN   A           192.168.0.10

 

Add the following to the /var/named/reverse.example.com.zone file. Note the addtional last line. In this instance, the "10" is the last octet in 192.168.0.10.

$TTL 1D
@ IN SOA  ns1.example.com. root.example.com. (
                                0  ; serial
                                1D ; refresh
                                1H ; retry
                                1W ; expire
                                3H ; minimum
)

0.168.192.in-addr.arpa.  IN  NS  ns1.example.com.

@     IN   NS          ns1.example.com.
ns1   IN   A           192.168.0.10
10    IN   PTR         ns1.example.com.

 

Ensure the files are owned by the named group.

~]# ll /var/named
-rw-r--r-- root named 123 Oct 8 2017 forward.example.com

 

Following is an example of a /etc/named.conf file.

options {
  listen-on port 53 { 127.0.0.1; 192.168.0.10 };
  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";
  allow-query { any; };
  recursion yes;
  dnssec-enable yes;
  dnssec-validation yes;
  dnssec-lookaside auto;
  bindkeys-file "/etc/named.iscdlv.key";
  managed-keys-directory "/var/named/dynamic";
  pid-file "/run/named/named.pid";
  session-keyfile "/run/named/session.key";
};
zone "example.com" IN {
  type master;
  file "/var/named/forward.example.com.zone";
  allow-update { none; };
};
zone "0.168.192.in-addr.arpa" IN {
  type master;
  file "/var/named/reverse.example.com.zone";
  allow-update { none; };
};

 

Ensure the forward and reverse zones files do not have any configuration errors.

~]# named-checkzone example.com /var/named/forward.example.com.zone
. . .
OK

~]# named-checkzone example.com /var/named/reverse.example.com.zone
. . .
OK

 

Restart and enable named, and ensure named is active and running.

~]# systemctl restart named
~]# systemctl enable named
~]# systemctl status named

 

Set DNS1 to the IP address of your Bind DNS server in /etc/sysconfig/network-scripts/ifcfg-xxxxxxxxx. DNS2 can be 8.8.8.8.

DNS1=x.x.x.x
DNS2=8.8.8.8

 

Restart NetworkManager.

~]# systemctl restart NetworkManager

 

To confirm that the DNS changes have taken effect, view the /etc/resolv.conf file. The newly added DNS IP addresses should be listed.

~]# cat /etc/resolv.conf
nameserver x.x.x.x
nameserver 8.8.8.8

 

If iptables or firewalld are enabled, allow traffic on port 53.

To confirm that the newly added DNS server is working properly, type nslookup followed by the name of the DNS server.

~]# nslookup ns1.example.com
Server:     x.x.x.x
Address:    x.x.x.x:53

Name:       ns1.example.com
Address:    x.x.x.x

 



Add a Comment




We will never share your name or email with anyone. Enter your email if you would like to be notified when we respond to your comment.




Please enter in the box below so that we can be sure you are a human.




Comments