Configuring DNS on Ubuntu Server.

Bind 9 is the default package for the DNS service on the Ubuntu server and it is pre-installed with the OS.

In case if it is not there you may use the below command to install it.

apt-get install bind9

/etc/bind is the directory where all the The DNS configuration files resides by default. The primary configuration file is /etc/bind/named.conf .
It has the following files incuded

“/etc/bind/named.conf.options”
“/etc/bind/named.conf.local”
“/etc/bind/named.conf.default-zones”
 

named.conf.options file allowes you to specifies your ISP provided nameservers

forwarders {
192.168.1.1;
};

In this whole tutorial replace 192.168.1.1 and 192.168.1.2 with the IP Addresses of actual servers.

“/etc/bind/named.conf.local” is the File where you configure the DNS zones . The example is given below

zone “thelinuxchef.com” {
type master;
file “/etc/bind/zones/thelinuxchef.com.db”;
};
 

Where as /etc/bind/named.conf.default-zones is configurations for default zones on the server. Normally you are not supposed to make changes here.
Now lets begin with configurtion of the DNS zone for your domain..

Create a sub-directory called zones .

mkdir /etc/bind/zones
 

Edit the zone file /etc/bind/zones/thelinuxchef.com.db , I am providing you with the settings which worked for me hope this will help you as well.. The default zone file is also present at /etc/bind/db.local you may refer it as well…

;
; BIND data file for local loopback interface
;
$TTL 1800
@ IN SOA ns1.thelinuxchef.com. root.thelinuxchef.com. (
2009121502 ; Serial
28800 ; Refresh
7200 ; Retry
604800 ; Expire
86400 ) ; Negative Cache TTL
;
@ IN NS ns1.thelinuxchef.com.
@ IN NS ns2.thelinuxchef.com.
@ IN A 192.168.1.1
@ IN AAAA ::1
www IN A 192.168.1.1
@ MX 10 mail.thelinuxchef.com.
mail IN A 192.168.1.1
ns1 IN A 192.168.1.1
ns2 IN A 192.168.1.2

Once the file is saved, correct the ownership of zoes folder at /etc/bind

chown root.bind /etc/bind/zones/ -R

Now restart bind9

/etc/init.d/bind9 restart

To verify the settings you may use dig command

dig +short A thelinuxchef.com
192.168.1.1

dig +short MX thelinuxchef.com
10 mail.thelinuxchef.com. 

If the dig command is not there you may use the below cmmand to install dig command

apt-get install dnsutils
To tr0uble shoot the DNS configurations you may always refer to the logs /var/log/syslog
 
named[17901]: zone thelinuxchef.com/IN: sending notifies (serial 2009121502) in the syslog indicates that the configurations are working fine..