架构二:bind 9
参考:故障处理:http://mba.shengwushibie.com/itbook/BookChapter.asp?id=4154
版本:bind-9.6-ESV-R5
1、编译安装
先下载解压软件包,再编译安装
./configure --prefix=/usr/local/named --with-openssl=/usr/local/openssl/ --disable-openssl-version-check
选项 --with-openssl=/usr/local/openssl/ 是指定ssl的安装路径,按照自己主机的实际情况而定,若openssl的版本太低,可以使用选项--disable-openssl-version-check来消除告警信息
make && make install (不要使用并行编译的方式,make -j 3)
2、安装完了以后,我们准备去配置bind服务,但是进入/usr/local/named/etc 下没有任何目录和文件供我们配置。也许可以先运行一些named进程,于是执行/usr/local/named/sbin/named 还是不行,服务并没有运行起来。
查看一些系统日志 ,tail -f /var/log/messages 就会发现这样一条Sep 15 15:00:56 localhost named[16536]: none:0: open: /usr/local/named/etc/named.conf: file not found
原因清楚了,就是缺少配置文件。
3、下面就大刀阔斧的干
第一步:rndc配置
什么是rndc? rndc是用来控制bind行为的工具,如修改了某个区文件,重新加载这个区文件,命令为rndc zone 。这样就不用重启bind服务。
创建rndc.conf ,利用命令
/usr/local/named/sbin/rndc-confgen >/usr/local/named/etc/rndc.conf
第二步:named.conf 配置
dns的基本功能的实现都是通过这个named.conf文件,文件分为4个大块:选项文本块、安全认证文本块、查询日志记录文本块和区域文本块
话说,这个文件需要我们自己去写,傻子才会一个一个字去敲呢,去google呗,
推荐一个网站:http://www.zytrax.com/books/dns/ch7/
好了,我把我的named.conf文件给大家看看,完了以后把该文件放在/usr/local/named/etc目录
options {
directory "/var/named"; //数据存放路径,查询日志,pid文件等
allow-query-cache {any;};
pid-file "named.pid";
}; // OPTIONS选项用来定义一些影响整个DNS服务器的环境,如这里的DI RECTORY用来指定在本文件指定的文件的路径,如这里的是将其指定到 /var/named 下,在这里你还可以指定端口等等。不指定则端口是53
key "rndc-key" {
algorithm hmac-md5;
secret "Up6SyTYQGYQBech+w4cneA==";
}; //如果需要同步主从DNS,需要这个key选项块
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "rndc-key"; };
};//从rndc.conf中复制即可
logging{
channel query_log {
file "/var/log/named/query.log" versions 5 size 10m;
severity info;
print-time yes;
print-severity yes;
print-category yes;
};
category queries {
query_log;
};
}; //定义了查询日志的文件名称为query.log ,每个日志大小为10MB,达到这个容量后,自动轮询
zone "." IN {
type hint;
file "named.ca";
};
zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};
zone "test.cn" IN {
type master;
file "test.cn.zone";
allow-update { none; };
};
//区纪录模块