CentOS系统上配置DNS服务器,首先安装DNS服务所需的软件包,我们通过yum来安装,先查询是否装了相应的软件包。
[root@localhost]# rpm -qa |grep bind
bind-libs-9.3.6-16.P1.el5
ypbind-1.19-12.el5
bind -utils-9.3.6-16.P1.el5
bind主程序没有安装, 我们安装他
[root@localhost]# yum -y install bind
[root@localhost]# yum -y install bind-chroot
[root@localhost]# yum -y install caching-nameserver
上面命令也可以写在一起:
[root@localhost]# yum -y install bind bind-chroot caching-nameserver
DNS的主配置文件为named.conf,路径默认在/etc下,但是我们装了chroot这个软件包,为了安全性他会把目录改到/var/named/chroot/etc下。我们进入到这个目录
[root@localhost]# cd /var/named/chroot/etc
这里没有配置文件,我们拷贝一份例子。
[root@localhost]#cp -p /usr/share/doc/bind-9.3.6/sample/etc/named.conf /var/named/chroot/etc/named.conf
编辑named.conf主配置文件
[root@localhost etc]# vim named.conf
options
{
listen-on port 53{any;};//服务器监听的端口和地址,any表示任意。
directory "/var/named";//区域配置文件路径
dump-file "/var/named/data/cache_dump.db";//指定暂存资料记录到哪个档案 。
statistics-file "/var/named/data/named_stats.txt";// DNS的统计资料案
pid-file "/var/run/named/named.pid"; //这个程序的PID记录下来的一个档案
memstatistics-file "/var/named/data/name_mem_stats.txt";//内存统计文件
allow-query {any;};//允许任何主机的查询。
notify yes;
recursion yes;//允许递归查询。
};
include "/etc/rndc.key";
zone"."{
type hint;
file "named.ca";
};
zone"fly.com"{
type master;
file "fly.com.zone";
allow-transfer{192.168.33.2;};
allow-update{none;};
};
zone"33.168.192.in.addr.arpa"{
type master;
file "192.168.33.arpa.zone";
allow-transfer {192.168.33.2;};
allow-update{none;};
};
给予相关权限
[root@localhost etc]# chmod 755 named.conf
检查是否有语法错误
[root@localhost etc]# named-checkconf /var/named/chroot/etc/named.conf
配置区域数据文件
[root@localhost named]#vim /var/named/chroot/var/named/fly.com.zone
$TTL 86400
@ IN SOA ns1.fly.com. admin .fly.com.(
2011052008 //Serial
4H //Refresh
15M //Retry
1W //Exprise
1D //Minimum TTL
)
@ IN NS ns1.fly.com.
@ IN NS ns2.fly.com.
@ IN MX 10 mail
ns1 IN A 192.168.33.1
ns2 IN A 192.168.33.2
www IN A 192.168.33.1
mai IN A 192.168.33.1
ftp IN A 192.168.33.1
web IN CNAME www
保存
设置相关权限
[root@localhost etc]#chown named.root fly.com.zone
[root@localhost etc]#chmod 755 fly.com.zone
新建反向解析文件
[root@localhost etc]#vim /var/named/chroot/var/named/192.168.33.arpa.zone
$TTL 86400
@ IN SOA ns1.fly.com. admin .fly.com.(
2011052008
4H
15M
1W
1D
)
@ IN NS ns1.fly.com.
1 IN PTR ns1.fly.com.
2 IN PTR ns2.fly.com.
保存
设置相关权限
[root@localhost etc]#chown named.root 192.168.33.arpa.zone
[root@localhost etc]#chmod 755 fly.192.168.33.arpa.zone
设置本机IP为192.168.33.1/24,编辑/etc/resolv.conf文件添加DNS服务器
nameserver 192.168.33.1。一切ok,启动DNS服务
[root@localhost etc]# service named start
测试下结果:
[root@localhost etc]#ping ns1.fly.com
DNS的基本配置就完成了
上面配的是主DNS服务器(Master),但一个域中通常有多个域名服务器负责解析,其他服务器为辅助域名服务器(Slave)。下面来做辅助DNS的配置。
配置辅助DNS服务器时并不需要创建区域数据文件,他会从主DNS获得区域数据文件,因此只需对named.conf做相应的配置即可。
[root@localhost etc]#vim named.conf
options
{
listen-on port 53{any;};
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
pid-file "/var/run/named/named.pid";
memstatistics-file "/var/named/data/name_mem_stats.txt";
allow-query {any;};
notify yes;
recursion yes;
};
include "/etc/rndc.key";
zone"."{
type hint;
file "named.ca";
};
zone"fly.com"{
type slave;//辅助
file "slave/fly.com.zone";
masters {192.168.33.1;};//主DNS服务器地址
};
zone"33.168.192.in.addr.arpa"{
type slave;//辅助
file "slave/192.168.33.arpa..zone";
masters {192.168.33.1;};//主DNS服务器地址
};
给予相关权限
[root@localhost etc]# chmod 755 named.conf
我们启动DNS服务
[root@localhost etc]# service named start
修g改/etc/resolv.conf文件添加nameserver 192.168.33.2测试一下:[root@localhost etc]# ping ns1.fly.com
可以用[root@localhost etc]# tail /var/log/messages命令查看下DNS区域数据复制情况,如果失败很可能是主DNS的区域数据文件的权限问题。
可以修改:
[root@localhost etc]# chown named.root fly,com.zone
[root@localhost etc]# chmod 755 fly.com.zone
[root@localhost etc]# chown named.root 192.168.33.arpa.zone
[root@localhost etc]# chmod 755 192.168.33.arpa.zone
区域委派,当一个域中有很多子域时可以把子域的解析委派给其他DNS服务器,称为DNS委派。我们接着上面的实验,把qin.fly.com子域委派出去。
主DNS的named.conf配置文件还是不变跟上面的一样,但是区域数据文件要做相应的修改。
$TTL 86400
@ IN SOA ns1.fly.com. admin .fly.com.(
2011052008 //Serial
4H //Refresh
15M //Retry
1W //Exprise
1D //Minimum TTL
)
@ IN NS ns1.fly.com.
@ IN NS ns2.fly.com.
qin.fly.com. NS ns.qin.fly.com. //负责委派的DNS主机
@ IN MX 10 mail
ns.qin.fly.com. IN A 192.168.33.3 //委派DNS地址
ns1 IN A 192.168.33.1
ns2 IN A 192.168.33.2
www IN A 192.168.33.1
mai IN A 192.168.33.1
ftp IN A 192.168.33.1
web IN CNAME www
反向配置文件:
$TTL 86400
@ IN SOA ns1.fly.com. admin .fly.com.(
2011052008
4H
15M
1W
1D
)
@ IN NS ns1.fly.com.
1 IN PTR ns1.fly.com.
2 IN PTR ns2.fly.com.
3 IN PTR ns.qin.fly.com //添加反向记录