rhel5下的DNS服务器架设
一、 架设DNS前的准备:
Linux下的DNS服务器是通过bind这个软件来实现的,
bind包括:
bind-9.3.6-4.P1.el5.i386.rpm bind的主程序文件
bind-chroot-9.3.6-4.P1.el5.i386.rpm 改变DNS根目录的文件(建议安装)
caching-nameserver-9.3.6-4.P1.el5.i386.rpm 缓存DNS的配置文件(可被用作DNS主配置文件的样本)
bind-devel-9.3.6-4.P1.el5.i386.rpm DNS开发工具
bind-utils-9.3.6-4.P1.el5.i386.rpm DNS测试工具
system-config-bind-4.0.3-4.el5.noarch.rpm DNS的图形界面配置工具
将系统安装盘放入光驱,确保光盘Server目录下有以上几个文件:
[root@spider Server]# ls bind*
bind-9.3.6-4.P1.el5.i386.rpm
bind-chroot-9.3.6-4.P1.el5.i386.rpm
bind-libs-9.3.6-4.P1.el5.i386.rpm
bind-sdb-9.3.6-4.P1.el5.i386.rpm
bind-devel-9.3.6-4.P1.el5.i386.rpm
bind-utils-9.3.6-4.P1.el5.i386.rpm
bind-libbind-devel-9.3.6-4.P1.el5.i386.rpm
二、架设DNS的步骤:
1、进入Server目录,使用rpm安装红色字体标注的三个包即可:
[root@spider Server]# rpm -ivh bind-9.3.6-4.P1.el5.i386.rpm
Preparing... ########################################### [100%]
1:bind ########################################### [100%]
[root@spider Server]#
[root@spider Server]# rpm -ivh bind-chroot-9.3.6-4.P1.el5.i386.rpm
Preparing... ########################################### [100%]
1:bind-chroot ########################################### [100%]
[root@spider Server]#
[root@spider Server]# rpm -ivh caching-nameserver-9.3.6-4.P1.el5.i386.rpm
Preparing... ########################################### [100%]
1:caching-nameserver ########################################### [100%]
[root@spider Server]#
2、进入DNS的配置文件所在目录
[root@spider Server]# cd /var/named/chroot/etc/
[root@spider etc]# pwd
/var/named/chroot/etc
[root@spider etc]# ls
localtime named.caching-nameserver.conf named.rfc1912.zones rndc.key
3、bind的主配置文件named.conf默认不存在,但有缓存DNS的样本,可复制为主配文件。
然后修改红色字体部分的localhost为any
[root@spider etc]# cp -p named.caching-nameserver.conf named.conf
[root@spider etc]# vi named.conf
options {
listen-on port 53 { any; };
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";
// Those options should be used carefully because they disable port
// randomization
// query-source port 53;
// query-source-v6 port 53;
allow-query { any; };
allow-query-cache { localhost; };
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
view localhost_resolver {
match-clients { any; };
match-destinations { any; };
recursion yes;
include "/etc/named.rfc1912.zones";
};
4、修改DNS的另外一个配置文件,此文件定义了区域的名称和区域配置文件的位置,在此文件中添加以下几行,然后保存退出:
[root@spider etc]# vi named.rfc1912.zones
zone "abc.com" IN {
type master;
file "abc.com.zone";
allow-update { none; };
};
zone "1.168.192.in-addr.arpa" IN {
type master;
file "192.168.1.rev";
allow-update { none; };
};
假设本机的域名为abc.com,此处定义了正向解析区域abc.com,此正解区域的文件名为abc.com.zone。反解区域为1.168.192.in-addr.arpa,文件名为192.168.1.rev。
此处定义的正反解区域文件abc.com.zone、192.168.1.rev需要在/var/named/chroot/var/named/中创建,否则DNS将无法成功启动。
注:192.168.1.53为本机的IP地址,顾名思义,1.168.192.in-addr.arpa可理解为反写的IP地址。
5、创建named.rfc1912.zones 中定义好的正解文件
[root@spider ~]# cd /var/named/chroot/var/named/
[root@spider named]# ls
data localhost.zone named.ca named.local slaves
localdomain.zone named.broadcast named.ip6.local named.zero
[root@spider named]#
Localdomain.zone为安装DNS后默认的正解区域文件,可作为abc.com.zone的样本。把localdomain.zone复制为当前目录下的abc.com.zone,然后编辑它
[root@spider named]# cp -p localdomain.zone abc.com.zone
[root@spider named]#
[root@spider named]# vi abc.com.zone
$TTL 86400
@ IN SOA localhost root (
42 ; serial (d. adams )
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS localhost
localhost IN A 127.0.0.1
把上面的红色字体标注的localhost改为abc.com,在最后添加要解析的域名和IP
改成后的文件应该是这样:
$TTL 86400
@ IN SOA abc.com root (
42 ; serial (d. adams )
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS abc.com
localhost IN A 127.0.0.1
www IN A 192.168.1.53
注意格式要整齐,建议用tab键,不要漏掉空格
6、创建named.rfc1912.zones 中定义好的反解文件
当前目录下的named.local为安装DNS后默认的反解区域文件,可作为192.168.1.rev的样本。把named.loca复制为当前目录下的192.168.1.rev,然后编辑它
[root@spider named]# cp -p named.local 192.168.1.rev
[root@spider named]# vi 192.168.1.rev
$TTL 86400
@ IN SOA localhost. root.localhost. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS localhost.
1 IN PTR localhost.
修改localhost为abc.com,注意后面的小数点不要动,在最后增加反向解析的IP和主机名:
修改后的文件应该是这样:
$TTL 86400
@ IN SOA abc.com. root.abc.com. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS abc.com.
1 IN PTR localhost.
53 IN PTR www.abc.com.
53 IN PTR ftp.abc.com.
OK,现在可以启动named服务了
[root@spider named]# service named start
Starting named: [ OK ]
[root@spider named]#
三、 测试DNS服务器
1、 在Linux上测试:(需指定本机的首选DNS为192.168.1.53)
[root@spider etc]# host www.abc.com
www.abc.com has address 192.168.1.53
[root@spider etc]# host 192.168.1.53
53.1.168.192.in-addr.arpa domain name pointer ftp.abc.com.
53.1.168.192.in-addr.arpa domain name pointer www.abc.com.
[root@spider etc]#
2、 在windows客户端下做测试