DNS
Introduction
on BIND
BIND
or named
is the most widely used DNS software on the Internet. The name
originates as an acronym from Berkeley
Internet Name Domain. The
Internet Domain Name System (DNS) consists of the syntax to specify
the names of entities in the Internet in a hierarchical manner, the
rules used for delegating authority over names, and the system
implementation that actually maps names to Internet addresses. DNS
data is maintained in a group of distributed hierarchical databases.
It
stores information for mapping Internet host names to IP addresses
and vice versa, mail routing information, and other data used by
Internet applications.
Installation
and Configuration of BIND
#cd
#
unzip
bind-9.3.2.tar.gz
#
tar -xvf bind-9.3.2.tar
-To
Download and extract
#
cd bind-9.3.2/
#
./configure --prefix=/usr/local --disable-ipv6
#
make && make install
-To
configure and install BIND
#
mkdir -p /chroot/named
#
groupadd named
#
useradd -g named -d /chroot/named -s /bin/true named
#
passwd -l named
-To
create a user 'named' with home directory '/chroot/named'
#
cd /chroot/named
#
mkdir dev etc logs conf
#
mkdir -p var/run
#
mknod dev/null c 1 3
#
mknod dev/zero c 1 5
#
mknod dev/random c 1 8
#
cp /etc/localtime etc
-To
create directories and device files for the working of bind.
#
ln -s /chroot/named/etc/named.conf /etc/named.conf
-To
create the named.conf file which the main configuration file of BIND
Add
the following contents in the /etc/named.conf file
options
{
directory
"/conf";
pid-file
"/var/run/named.pid";
statistics-file
"/var/run/named.stats";
dump-file
"/var/run/named.db";
recursion yes;
version "Just bad luck";
};
#
onedomain.com
zone
"onedomain.com" in {
type master;
file "onedomain.for";
notify no;
};
#twodomain.com
zone
"twodomain.com" in {
type master;
file "twodomain.for";
notify no;
};
Create
a file 'onedomain.for' in '/chroot/named/conf' with the following
contents in it. It is the zone file for onedomain.com
;onedomain.for
;
$TTL
86400
@
IN SOA ns.onedomain.com. mail.onedomain.com (
450 ; serial (d. adams)
3H
; refresh
15M
; retry
1W
; expiry
1D
) ; minimum
@ IN
NS ns.onedomain.com.
ns
IN A 192.168.1.193
@
IN A 192.168.1.193
www
IN CNAME onedomain.com.
Create
a file 'twodomain.for' in '/chroot/named/conf' with the following
contents in it. It is the zone file for twodomain.com
;twodomain.for
;
$TTL
86400
@
IN SOA ns.twodomain.com. mail.twodomain.com (
451 ; serial (d. adams)
3H
; refresh
15M
; retry
1W
; expiry
1D
) ; minimum
@ IN
NS ns.twodomain.com
ns
IN A 192.168.1.194
@
IN A 192.168.1.194
www
IN CNAME twodomain.com.
#
chown named:named /chroot/named
# chown -R named:named
/chroot/named/var
# chmod 700 /chroot/named
#
named-checkzone onedomain.for /chroot/named/conf/onedomain.for
zone
onedomain.for/IN: loaded serial 450
OK
#
named-checkzone twodomain.for /chroot/named/conf/twodomain.for
zone
twodomain.for/IN: loaded serial 451
OK
#
named-checkconf /etc/named.conf
-To
check the configuration file
#
/usr/local/sbin/named -t /chroot/named -u named -c /etc/named.conf
-To
start named service.
#
ps -fCnamed
UID
PID PPID C STIME TTY TIME CMD
named
17611 1 0 11:34 ? 00:00:00 /usr/local/sbin/named -t
/chroot/named -u named -c /etc/named.conf
-To
check whether the named service is started or not.
#
nslookup www.onedomain.com
Server: 127.0.0.1
Address: 127.0.0.1#53
www.onedomain.com canonical
name = onedomain.com.
Name: onedomain.com
Address:
192.168.1.193
#
nslookup www.twodomain.com
Server: 127.0.0.1
Address: 127.0.0.1#53
www.twodomain.com canonical
name = twodomain.com.
Name: twodomain.com
Address:
192.168.1.194
#
dig +short @192.168.1.193 -c CH -t txt version.bind
"Just
bad luck"
When you check /etc/named.conf file using named-checkconf you may get the following error
named.conf:2: change directory to '/conf' failed: file not found
named.conf:2: parsing failed
To change parsing failed error, just make 'not found' directory under '/' . Here it is 'conf'
Use the following command to remove the error
#mkdir /conf
http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch18_:_Configuring_DNS#Introduction
This link will give you more information on creating views and zones...
http://tldp.org/HOWTO/Chroot-BIND-HOWTO-1.html
This link will give you a brief idea on creating a Jail environment.
The DNS configuration in this post is creating in a Jail environment.