官方网站:http://www.isc.org
一:源码包的安装和配置
下载源码包文件:http://ftp.isc.org/isc/bind9/9.4.2/bind-9.4.2.tar.gz
解压并安装bind
Tar –zxvf bind-9.4.2.tar.gz
配置源码包:
./configure --prefix=/usr/local/named --enable-threads #--enable-threads开启多线程处理能力
Make
Make install
进入安装目录 :
生成密匙文件:
[root@linux named]# sbin/rndc-confgen > etc/rndc.conf #从rndc.conf文件中提取named.conf用的key ,其实这个是密码文件,我发现很多人喜欢将此文件单独建立成,并在named.conf中调用这个key文件,比如:include "/usr/local/named/etc/rndc.key" ##将这句话加入到named.conf中。
生成named.conf配置文件:
[root@linux etc]# tail -10 rndc.conf | head -9 | sed s/#/ //g > named.conf #这里是生成named.conf文件
建立named目录在var目录中:
[root@linux etc]# mkdir /var/named
dig命令直接生成named.root文件 :
[root@linux named]#bin/dig > named.root
进入/var/named目录将named.root隐射到该目录:ln –s /usr/local/named/named.root
named.root文件内容主要是向上一级提交非本机内无法解析的域名
配置式例:
. 3600000 IN NS A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4
;主机名称或领域名称 TTL RR 相对应的数据
Named.conf文件的配置,下面是我的文件配置:
key "rndc-key" {
algorithm hmac-md5;
secret "jwN3d1hJfHoEwS6TRHNAlA==";
};
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "rndc-key"; };
};
options {
directory "/var/named";
pid-file "named.pid";
allow-query { any; };
allow-transfer { 10.32.158.250; };
};
controls {
inet 127.0.0.1 allow { localhost; } keys { rndc-key; };
};
zone "." IN {
type hint;
file "named.root";
};
zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "localhost.local";
allow-update { none; };
};
zone "test.com" IN {
type master;
file "test.zone";
allow-update { none; };
};
zone "134.32.10.in-addr.arpa" IN {
type master;
file "test.local";
allow-update { none; };
};
zone "zte.com.cn" IN {
type slave;
file "zte.zone";
masters { 10.32.134.252; };
};
zone "10.in-add.arpa" IN {
type slave;
file "10.local";
masters { 10.32.134.252; };
};
建立localhost.zone正向解析文件
[root@linux named]#vi localhost.zone
$TTL 86400
$ORIGIN localhost.
@ 1D IN SOA @ root (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
1D IN NS @
1D IN A 127.0.0.1
建立named.local反向解析文件
[root@linux named]#vi localhost.local
$TTL 86400
@ IN SOA localhost. root.localhost. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS localhost.
1 IN PTR localhost.
由于我增加了一个test.com域名,所以需要建立test.com域名的正反向解析文件:
[root@linux named]#vi test.zone
$ttl 1D
@ IN SOA ns.test.com. root.test.com. (
1053891162
3H
15M
1W
1D )
@ IN NS ns.test.com.
www IN A 10.32.134.252
#反向解析文件:
[root@linux named]#vi test.local
$ttl 1D
@ IN SOA ns.test.com. root.test.com. (
1053891162
3H
15M
1W
1D )
@ IN NS ns.test.com.
9 IN PTR ns.test.com.
5 IN PTR mail.test.com.
特别注意:
域名后面有个点,“.” 表示这个完整的主机名称,亦即是 "hostname + domain name" 了, 如果没有加上 . 的话,表示该名称仅为 "hostname" 而已!至于 SOA 的话,那五个数字通常你可以照抄啦!只要改序号 (Serial) 即可
测试:
/usr/local/named/sbin/named //加入参数-g,可以实时查看named的状态及错误
修改本地DNS,将服务器改为自己的IP
vi /etc/resolv.conf
nameserver 192.168.1.100
:wq //保存退出