14.2.3 BIND的简单配置与运行
与其他服务器相比,BIND的配置文件结构要复杂得多,而且在配置文件不正确的 情况下,BIND将无法运行。为了使BIND能初步得到运行,下面先提供一套最简单的配置文件,使得BIND能正常地运行起来,并具有初步的域名解析功能,具体内容的解释见14.3节。
(1)在/etc目录下建立BIND的主配置文件named.conf,内容如下所示。
# vi /etc/named.conf
options {
directory "/var/named";
pid-file "/var/named/named.pid";
forwarders { 61.153.177.196; 61.153.177.197; };
allow-query { any; };
};
zone "." IN {
type hint;
file "named.root";
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};
zone "wzvtc.cn" IN {
type master;
file "named.wzvtc.cn";
allow-update { none; };
};
zone "1.10.10.in-addr.arpa" IN {
type master;
file "named.1.10.10";
allow-update { none; };
};
(2)在/var/named目录下要建立在主配置文件中指定的4个区文件,文件名分别是named.root、named.local、named.wzvtc.cn和named.1.10.10。其中,named.root可以由以下命令生成。
# dig > /var/named/named.root
/var/named/named.local文件的内容如下:
# vi /var/named/named.local
$TTL 3h
0.0.127.in-addr.arpa. IN SOA terminator.wzy.edu. ltf@wzvtc.cn. (
1 ; Serial
3h ; Refresh after 3 hours
1h ; Retry after 1 hour
1w ; Expire after 1 week
1h ) ; Negative caching TTL of 1 hour
1.0.0.127.in-addr.arpa. IN PTR localhost.
/var/named/named.wzvtc.cn文件的内容如下:
# vi /var/named/named.wzvtc.cn
$TTL 3h
wzvtc.cn. IN SOA ns.wzvtc.cn. ltf@wzvtc.cn. (
1 ; Serial
3h ; Refresh after 3 hours
1h ; Retry after 1 hour
1w ; Expire after 1 week
1h ) ; Negative caching TTL of 1 hour
wzvtc.cn. IN NS ns.wzvtc.cn.
wzvtc.cn. IN MX 10 mail
ns.wzvtc.cn. IN A 10.10.1.29
mail IN A 10.10.1.6
www IN A 10.10.1.3
oa IN CNAME www
lib IN A 10.10.1.8
gsx IN A 221.224.2.234
/var/named/named.1.10.10文件的内容如下:
# vi /var/named/named.1.10.10
$TTL 3h
1.10.10.in-addr.arpa. IN SOA ns.wzvtc.cn. ltf@wzvtc.cn.(
1 ; Serial
3h ; Refresh after 3 hours
1h ; Retry after 1 hour
1w ; Expire after 1 week
1h ) ; Negative caching TTL of 1 hour
1.10.10.in-addr.arpa. IN NS ns.wzvtc.cn.
29.1.10.10.in-addr.arpa. IN PTR ns.wzvtc.cn.
6.1.10.10.in-addr.arpa. IN PTR mail.wzvtc.cn.
8.1.10.10. in-addr.arpa. IN PTR lib.wzvtc.cn.
(3)为了使BIND的运行不受chroot功能的影响,先用以下命令禁用chroot。
# bind-chroot-admin -d
(4)用以下命令启动named进程,加-g选项的目的是为了显示启动过程的详细信息,以便出错时能及时发现原因。
# /usr/sbin/named -g &
[1] 3849
# 13-Nov-2008 18:18:54.336 starting BIND 9.3.3rc2 -g
13-Nov-2008 18:18:54.337 found 1 CPU, using 1 worker thread
13-Nov-2008 18:18:54.339 loading configuration from '/etc/named.conf'
13-Nov-2008 18:18:54.340 listening on IPv4 interface lo, 127.0.0.1#53
13-Nov-2008 18:18:54.341 listening on IPv4 interface eth0, 10.10.1.29#53
13-Nov-2008 18:18:54.343 command channel listening on 127.0.0.1#953
13-Nov-2008 18:18:54.344 command channel listening on ::1#953
13-Nov-2008 18:18:54.344 ignoring config file logging statement due to -g option
13-Nov-2008 18:18:54.345 zone 1.10.10.in-addr.arpa/IN: loaded serial 1
13-Nov-2008 18:18:54.346 zone wzvtc.cn/IN: loaded serial 1
13-Nov-2008 18:18:54.346 running
(5)用以下命令查看named进程是否已正常启动。
# ps -eaf|grep named
root 3849 3469 0 18:18 pts/0 00:00:00 /usr/sbin/named -g
root 3862 3469 0 18:23 pts/0 00:00:00 grep named
#
(6)由于DNS采用的是UDP协议,监听的是53号端口,可以用下面的命令进一步验证named是否已正常工作。
# netstat -an | grep :53
tcp 0 0 10.10.1.29:53 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN
udp 0 0 10.10.1.29:53 0.0.0.0:*
udp 0 0 127.0.0.1:53 0.0.0.0:*
可见,UDP53号端口已经打开,同时也可以看到,TCP的53号端口也是处于监听状态的,这个端口主要是用于DNS服务器之间传送域数据。
(7)上述步骤完成后,再检查一下防火墙是不是开放了TCP和UDP的53号端口。如果还没开放,可输入以下命令打开。
#iptables -I INPUT -p tcp --dport 53 -j ACCEPT
#iptables -I INPUT -p udp --dport 53 -j ACCEPT
(8)最后,可以在本机或网络中的其他计算机进行以下测试(“>”后面是用户输入的内容)。
C:/ >nslookup
Default Server: ns.wzvtc.cn
Address: 10.10.1.2 # 原来默认的DNS服务器是10.10.1.2
> server 10.10.1.29 # 把DNS服务器设为10.10.1.29
Default Server: [10.10.1.29]
Address: 10.10.1.29
> www.wzvtc.cn # 查询www.wzvtc.cn的IP地址
Server: [10.10.1.29]
Address: 10.10.1.29
Name: www.wzvtc.cn
Address: 10.10.1.3 # DNS服务器回复www.wzvtc.cn的IP地址是10.10.1.3
> mail.wzvtc.cn # 再查询mail.wzvtc.cn的IP地址
Server: [10.10.1.29]
Address: 10.10.1.29
Name: mail.wzvtc.cn
Address: 10.10.1.6 # DNS服务器回复mail.wzvtc.cn的IP地址是10.10.1.6
> www.baidu.cn # 查询其他域的域名www.baidu.cn
Server: [10.10.1.29]
Address: 10.10.1.29
Non-authoritative answer: # 表示是非权威的回答
Name: www.a.shifen.com
Addresses: 220.181.6.18, 220.181.6.19 # DNS服务器回复www.baidu.cn的IP地
址,有两个
Aliases: www.baidu.cn, www.baidu.com
> exit
C:/ >
从以上测试可以看出,DNS已经能正常地工作,能解析wzvtc.cn区中的域名,还能通过其他的DNS服务器解析互联网上的所有域名。