bind 9 安装 配置 master slave .. 不是很难,但其中也遇到些问题。。耗费了点时间解决

来源:互联网 发布:域名过户费 编辑:程序博客网 时间:2024/05/28 14:56

打算在公司内部 安装一个 dns 来使用。因为公司内部开发服务器也挺多的。现在都是用IP 。 但我想有个域名好记一点。

 

打算在网关和一台开发服务器上做 master 和 slave

 

ip分别为:

网关: 192.168.1.243

开发服务器:  192.168.1.241

 

我系统是 FreeBsd 的。  那当然是用  ports 安装啦。。哇咔咔

 

我们先做 master:

 

#  cd /usr/ports/dns/bind94

#  make install clean

 

装完了 记得 修改  /etc/rc.conf 文件 用来启动

 

# vi /etc/rc.conf

 

named_enable="YES"

 

先看下,我的BIND 的文件目录:

 

files# ls
dynamic         master          named.127.0.0   named.192.168.1 named.365.com   named.conf      named.localhost named.root      rndc.key        slave

 

好了  接下来 就要开始 配置 bind  正反解信息了。具体如何设置正反解这个不多说了

 

1  。 配置  named.conf  文件

 

 

 

 

2 。  然后开始设置 我想要的域名   365.com 的 正反zone。 文件名:  named.365.com

 

 

反解的。 其实不要反解释的也一样是可以运行的:

 

 

 

就这样。就可以运行了。

 

# /etc/rc.d/named start

 

然后看成功与否 记得去看  /var/log/message 日志。

 

#tail -n 30 /var/log/message

 

Mar  8 17:56:31 files named[31213]: starting BIND 9.4.3-P2 -t /var/named -u bind
Mar  8 17:56:31 files named[31213]: command channel listening on 127.0.0.1#953
Mar  8 17:56:31 files named[31213]: running

 

看到这个。就是成功了。。。。

 

好了现在开始做 slave:

 

首先也得安装 bind 啦。。装完以后,我直接就拷贝 master 的配置文件过去修改就行了。不过有两个文件是不要弄过去的。一个是  named.365.com  一个是  named.192.168.1   因为这两个文件是 master  同步 给 slave 的 而不需要 slave 有这两个文件存在。

 

所以配置  slave 最主要的就只是 named.conf 这个总配置文件

 

 

够简单吧。呵呵 好了 然后就可以启动了。

 

启动后 如果成功你可以看到   named.365.com  文件和  named.192.168.1 反解文件 自动就从 master 同步过来了。

 

然后我们根据自己设的域名 测试下 看是否能解释:

 

# dig @127.0.0.1  www.365.com  

 

 

 

能解释那就OK了。。

 

然后在 master 中添加了新 zone 或者是 二级域名。 只要修改下 serial  号 变大就行了。 然后 我使用  重启bind 或者是

 

#rndc reload    那么 从就自动更新了... 是不是很方便

 

在这次的部署中遇到两个问题:

 

1  。   chroot  导致的文件目录权限问题。查看 /var/log/message 显示:

 

Mar  8 17:36:58 files named[30498]: the working directory is not writable

 

解决办法:   vi  /etc/mtree/BIND.chroot.dist 

/set type=dir uname=root gname=wheel mode=0755 

修改成

/set type=dir uname=bind gname=wheel mode=0755 

 

重启就行了。

 

2 。 遇到了 master 无法更新 slave 和 slave 重启也无法更新 master 。  用tcpdump 抓包发现。 当 master 重启的时候 根本没有向 slave 发送更新的 包。 百思不得其解。 后来突然醒悟。原来是自己忘记了

 

master 只会 更新 zone 中 设置的 dns 服务器,也就是 NS 记录的IP 。 而我竟然忘记添加 slave 的 NS 记录了。导致  master 以为只有自己一台 dns 。。所以根本没有发送更新包 给 slave ..最后加上就一切正常了:

 

@ IN NS ns.365.com.
@ IN NS ns2.365.com.

ns IN A 192.168.1.243
ns2 IN A 192.168.1.241

 

。。。。。。。。。。。。。

 

3. 在配置  rndc 的时候 出现:

 

rndc: connection to remote host closed

 

这个问题是因为  rndc.conf   里面的  密匙和 rndc.key中的secret不一致引起 。 修改之后 就OK了

 

 

完了~~   给自己记录下。。。