Bind 9.5安装入门指南
Bind 9.5安装入门指南
安装环境:CentOs5.6 64位 bind-9.5
[root@yznvm1 bind-9.5.2-P4]# uname -a
Linux yznvm1 2.6.18-238.el5 #1 SMP Thu Jan 13 15:51:15 EST 2011 x86_64 x86_64 x86_64 GNU/Linux
卸载原来系统自带的bind服务
[root@yznvm1 ~]# rpm -qa|grep bind
bind-utils-9.3.6-16.P1.el5
bind-libs-9.3.6-16.P1.el5
ypbind-1.19-12.el5
[root@yznvm1 ~]# rpm -e --nodeps bind*
error: package bind* is not installed
一、安装BIND
1、准备工作
下载稳定的BIND服务器进行安装,下载地址:http://www.isc.org/
[root@yznvm1 yzn]# wget http://ftp.isc.org/isc/bind9/9.5.2-P4/bind-9.5.2-P4.tar.gz
2 、编译安装BIND
[root@yznvm1 yzn]# tar xzvf bind-9.5.2-P4.tar.gz
[root@yznvm1 yzn]# cd bind-9.5.2-P4
[root@yznvm1 bind-9.5.2-P4]# ./configure --prefix=/usr/local/bind9 --disable-openssl-version-check
[root@yznvm1 bind-9.5.2-P4]# make;make install
[root@yznvm1 bind-9.5.2-P4]# /usr/local/bind9/sbin/named
[root@yznvm1 bind-9.5.2-P4]# ps aux |grep named | grep -v grep
没有输出
请确认syslog 启动
[root@yznvm1 bind-9.5.2-P4]# yum search syslog
[root@yznvm1 bind-9.5.2-P4]# yum install syslog
[root@yznvm1 bind-9.5.2-P4]# service syslog restart
[root@yznvm1 bind-9.5.2-P4]# tail -f /var/log/messages
Dec 28 12:19:23 yznvm1 named[10381]: none:0: open: /usr/local/bind9/etc/named.conf: file not found
配置BIND
二、配置根服务器
1、修改配置文件
[root@yznvm1 bind-9.5.2-P4]# vi /usr/local/bind9/etc/named.conf
options {
directory "/data/bind9";
};
zone "." {
type hint;
file "root.zone";
};
2、建立工作目录
[root@yznvm1 etc]# mkdir /data/bind9
3、查询根DNS服务器
[root@yznvm1 etc]# dig -t NS .
; <<>> DiG 9.3.6-P1-RedHat-9.3.6-16.P1.el5 <<>> -t NS .
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41418
;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 1
;; QUESTION SECTION:
;. IN NS
;; ANSWER SECTION:
. 5 IN NS e.root-servers.net.
. 5 IN NS l.root-servers.net.
. 5 IN NS j.root-servers.net.
. 5 IN NS h.root-servers.net.
. 5 IN NS g.root-servers.net.
. 5 IN NS m.root-servers.net.
. 5 IN NS c.root-servers.net.
. 5 IN NS f.root-servers.net.
. 5 IN NS i.root-servers.net.
. 5 IN NS k.root-servers.net.
. 5 IN NS b.root-servers.net.
. 5 IN NS d.root-servers.net.
. 5 IN NS a.root-servers.net.
;; ADDITIONAL SECTION:
e.root-servers.net. 5 IN A 192.203.230.10
;; Query time: 26 msec
;; SERVER: 192.168.32.2#53(192.168.32.2)
;; WHEN: Wed Dec 28 12:36:42 2011
;; MSG SIZE rcvd: 257
4、将根服务器记录加入到/etc/resolv.conf文件中
[root@yznvm1 etc]#echo "nameserver 192.203.230.10" >/etc/resolv.conf
5、将根服务器的信息导入到/data/bind9/root.zone文件中
[root@yznvm1 etc]# dig -t NS . >/data/bind9/root.zone
[root@yznvm1 etc]# cat /data/bind9/root.zone
; <<>> DiG 9.3.6-P1-RedHat-9.3.6-16.P1.el5 <<>> -t NS .
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1781
;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 2
;; QUESTION SECTION:
;. IN NS
;; ANSWER SECTION:
. 5 IN NS l.root-servers.net.
. 5 IN NS j.root-servers.net.
. 5 IN NS h.root-servers.net.
. 5 IN NS g.root-servers.net.
. 5 IN NS m.root-servers.net.
. 5 IN NS c.root-servers.net.
. 5 IN NS f.root-servers.net.
. 5 IN NS i.root-servers.net.
. 5 IN NS k.root-servers.net.
. 5 IN NS b.root-servers.net.
. 5 IN NS d.root-servers.net.
. 5 IN NS a.root-servers.net.
. 5 IN NS e.root-servers.net.
;; ADDITIONAL SECTION:
l.root-servers.net. 5 IN A 199.7.83.42
e.root-servers.net. 5 IN A 192.203.230.10
;; Query time: 8 msec
;; SERVER: 192.168.32.2#53(192.168.32.2)
;; WHEN: Wed Dec 28 12:40:53 2011
;; MSG SIZE rcvd: 273
6、配置rndc
添加rndf串
[root@yznvm1 bind-9.5.2-P4]# /usr/local/bind9/sbin/rndc-confgen >/usr/local/bind9/etc/rndc.conf
[root@yznvm1 bind-9.5.2-P4]# cat /usr/local/bind9/etc/rndc.conf
# Start of rndc.conf
key "rndc-key" {
algorithm hmac-md5;
secret "s4c1gghNiBxa9aeSZ7RlrQ==";
};
options {
default-key "rndc-key";
default-server 127.0.0.1;
default-port 953;
};
# End of rndc.conf
# Use with the following in named.conf, adjusting the allow list as needed:
# key "rndc-key" {
# algorithm hmac-md5;
# secret "s4c1gghNiBxa9aeSZ7RlrQ==";
# };
#
# controls {
# inet 127.0.0.1 port 953
# allow { 127.0.0.1; } keys { "rndc-key"; };
# };
# End of named.conf
7、将rndc中的部分记录导入到/usr/local/bind9/etc/named.conf文件中,并修改/usr/local/bind9/etc/named.conf,将导入的配置前面的注释去掉。
[root@yznvm1 bind-9.5.2-P4]# cd /usr/local/bind9/etc
[root@yznvm1 etc]# tail -10 rndc.conf | head -9 | sed s/#\ //g >> named.conf
8、检查并重新启动named服务,查看日志文件并检查rndc访问状态
[root@yznvm1 etc]# killall named
[root@yznvm1 etc]# /usr/local/bind9/sbin/rndc status
rndc: connect failed: 127.0.0.1#953: connection refused
[root@yznvm1 etc]# /usr/local/bind9/sbin/named
[root@yznvm1 etc]# /usr/local/bind9/sbin/rndc status
version: 9.5.2-P4
number of zones: 12
debug level: 0
xfers running: 0
xfers deferred: 0
soa queries in progress: 0
query logging is OFF
recursive clients: 0/0/1000
tcp clients: 0/100
server is up and running
9、修改/etc/resolv.conf,并使用host命令测试
[root@yznvm1 etc]# echo "nameserver 127.0.0.1" > /etc/resolv.conf
[root@yznvm1 etc]# host http://www.lvping.com/
http://www.lvping.com/ is an alias for http://www.lvping.ccgslb.com.cn/.
http://www.lvping.ccgslb.com.cn/ is an alias for http://www.lvping.tel.ccgslb.com.cn/.
http://www.lvping.tel.ccgslb.com.cn/ has address 114.80.124.122
三、配置localhost区域
(一)、配置localhost的正向区域
1、修改/usr/local/bind9/etc/named.conf,插入如下内容
[root@yznvm1 etc]# vi named.conf
zone "localhost" {
type master;
file "localhost.zone";
};
2、配置/data/bind9/localhost.zone
[root@yznvm1 etc]# vi /data/bind9/localhost.zone
$ORIGIN localhost.
@ IN SOA localhost. root.localhost. (
2011122600 ; Serial (YYMMDDSN)
1800 ; Refresh
300 ; Retry
3600 ; Expiry
300 ) ; Minimum
@ IN NS localhost.
@ IN A 127.0.0.1
3、检查配置文件
[root@yznvm1 etc]# /usr/local/bind9/sbin/named-checkconf/usr/local/bind9/sbin/named-checkconf
[root@yznvm1 etc]# /usr/local/bind9/sbin/named-checkzone -q localhost /data/bind9/localhost.zone
4、测试
[root@yznvm1 etc]# /usr/local/bind9/sbin/rndc reload
[root@yznvm1 etc]# tail -f /var/log/messages
[root@yznvm1 etc]# host localhost
localhost has address 127.0.0.1
[root@yznvm1 etc]# dig localhost
; <<>> DiG 9.3.6-P1-RedHat-9.3.6-16.P1.el5 <<>> localhost
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40173
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;localhost. IN A
;; ANSWER SECTION:
localhost. 86400 IN A 127.0.0.1
;; AUTHORITY SECTION:
localhost. 86400 IN NS localhost.
;; Query time: 9 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Dec 28 13:53:13 2011
;; MSG SIZE rcvd: 57
[root@yznvm1 etc]# dig -t NS localhost
; <<>> DiG 9.3.6-P1-RedHat-9.3.6-16.P1.el5 <<>> -t NS localhost
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38630
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; QUESTION SECTION:
;localhost. IN NS
;; ANSWER SECTION:
localhost. 86400 IN NS localhost.
;; ADDITIONAL SECTION:
localhost. 86400 IN A 127.0.0.1
;; Query time: 3 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Dec 28 13:54:52 2011
;; MSG SIZE rcvd: 57
[root@yznvm1 etc]# dig -t A localhost
; <<>> DiG 9.3.6-P1-RedHat-9.3.6-16.P1.el5 <<>> -t A localhost
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29725
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;localhost. IN A
;; ANSWER SECTION:
localhost. 86400 IN A 127.0.0.1
;; AUTHORITY SECTION:
localhost. 86400 IN NS localhost.
;; Query time: 7 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Dec 28 13:55:31 2011
;; MSG SIZE rcvd: 57
如果受防火墙影响可能rndc无法使用,可以调整防火墙设置,或者调试的时候关闭防火墙。
service iptables statu
service iptables stop
(二)、配置127.0.0的反向区域
1、修改/usr/local/bind9/etc/named.conf,添加如下内容
zone "0.0.127.in-addr.arpa" {
type master;
file "localhost.rzone";
};
2、创建/data/bind9/127.0.0.zone,添加如下内容
[root@yznvm1 etc]# vi /data/bind9/localhost.rzone
$TTL 86400
@ IN SOA localhost. root.localhost. (
2011122800 ; Serial (YYMMDDSN)
30M ; Refresh
5M ; Retry
1H ; Expire
5M ) ; Minimum
@ IN NS localhost.
1 IN PTR localhost.
3、重新启动rndc访问,并测试
[root@yznvm1 etc]# /usr/local/bind9/sbin/rndc reload
[root@yznvm1 etc]# tail /var/log/messages
[root@yznvm1 etc]# host 127.0.0.1
1.0.0.127.in-addr.arpa domain name pointer localhost.
[root@yznvm1 etc]# dig -x 127.0.0.1
; <<>> DiG 9.3.6-P1-RedHat-9.3.6-16.P1.el5 <<>> -x 127.0.0.1
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23750
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:
;1.0.0.127.in-addr.arpa. IN PTR
;; ANSWER SECTION:
1.0.0.127.in-addr.arpa. 86400 IN PTR localhost.
;; AUTHORITY SECTION:
0.0.127.in-addr.arpa. 86400 IN NS localhost.
;; ADDITIONAL SECTION:
localhost. 86400 IN A 127.0.0.1
;; Query time: 3 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Dec 28 14:08:41 2011
;; MSG SIZE rcvd: 93
四、配置yanzn.com区域
(一)、配置yanzn.com区域
1、配置/usr/local/bind9/etc/named.conf文件,加入如下内容
zone "yanzn.com" IN {
type master;
file "yanzn.com.zone";
allow-update { none; };
};
2、配置/data/bind9/yanzn.com.zone
@ IN SOA yanzn.com. webmaster.yanzn.com. (
2011122800 ; Serial (YYMMDDSN)
1800 ; Refresh
300 ; Retry
3600 ; Expiry
300 ) ; Minimum
@ IN NS ns1.yanzn.com.
@ IN A 192.168.32.128
ns1 IN A 192.168.32.128
www IN A 192.168.32.128
web IN CNAME www
3、重新启动rndc服务进行测试
[root@yznvm1 etc]# /usr/local/bind9/sbin/rndc reload
[root@yznvm1 etc]# host -t A yanzn.com
yanzn.com has address 192.168.32.128
[root@yznvm1 etc]# host -t NS yanzn.com
yanzn.com name server ns1.yanzn.com.
(二)、增加的反向区域
1、修改/usr/local/bind9/etc/named.conf,添加如下内容
zone "32.168.192.in-addr.arpa" IN {
type master;
file "yanzn.com.rzone";
allow-update { none; };
};
2、创建/data/bind9/yanzn.com.rzone,添加如下内容
[root@yznvm1 etc]# cat /data/bind9/yanzn.com.rzone
$TTL 600
@ IN SOA yanzn.com. webmaster.yanzn.com. (
2006083100 ; Serial (YYMMDDSN)
1800 ; Refresh
300 ; Retry
3600 ; Expire
300 ) ; Minimum
@ IN NS ns1.yanzn.com.
128 IN PTR http://www.yanzn.com/.
3、重新启动rndc访问,并测试
[root@yznvm1 etc]# /usr/local/bind9/sbin/rndc reload
[root@yznvm1 etc]# host 192.168.32.128
128.32.168.192.in-addr.arpa domain name pointer http://www.yanzn.com/.
[root@yznvm1 etc]# dig -x 192.168.32.128
; <<>> DiG 9.3.6-P1-RedHat-9.3.6-16.P1.el5 <<>> -x 192.168.32.128
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 44864
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:
;128.32.168.192.in-addr.arpa. IN PTR
;; ANSWER SECTION:
128.32.168.192.in-addr.arpa. 600 IN PTR http://www.yanzn.com/.
;; AUTHORITY SECTION:
32.168.192.in-addr.arpa. 600 IN NS ns1.yanzn.com.
;; ADDITIONAL SECTION:
ns1.yanzn.com. 600 IN A 192.168.32.128
;; Query time: 2 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Dec 28 14:50:30 2011
;; MSG SIZE rcvd: 106
至此初步的yanzn.com也配置完毕。