有关BIND升级中遇到的一些问题

发布时间:2020-10-13编辑:脚本学堂
有关BIND升级中遇到的一些问题,感兴趣的朋友可以参考下。

有关BIND升级中遇到的一些问题,感兴趣的朋友可以参考下。
1、
系统freebsd7.1
自带bind程序
#/usr/sbin/named -v
bind 9.4.2-p2
增加、修改某些文件和参数后可以正常启动,并且正常进行域名解析
named没有设置随系统启动

2、
升级BIND
#cd /usr/ports/dns/bind96
#make install clean
安装完成后有这样提示:
/usr/local/sbin/named
/usr/local/sbin/rndc-confgen
/usr/local/sbin/dnssec-dsfromkey
/usr/local/bin/host
/usr/local/sbin/dnssec-signzone
/usr/local/bin/nsupdate
/usr/local/sbin/rndc
/usr/local/sbin/lwresd
/usr/local/bin/dig
/usr/local/sbin/dnssec-keygen
/usr/local/sbin/named-checkzone
/usr/local/sbin/dnssec-keyfromlabel
/usr/local/sbin/named-checkconf
/usr/local/bin/nslookup

查看版本:
#/usr/local/sbin/named -v
BIND 9.6.1-P1

3、
停止老版本BIND
#killall named
启动新版本BIND
#/usr/local/sbin/named
报错、提示:/usr/local/etc/目录下没有named.conf和rndc.key两个文件
named: none:0: open: /usr/local/etc/named.conf: file not found
named: loading configuration: file not found
named: exiting (due to fatal error)
named: none:0: open: /usr/local/etc/rndc.key: file not found
named: couldn't add command channel 127.0.0.1#953: file not found
named: none:0: open: /usr/local/etc/rndc.key: file not found

分别拷贝
/etc/namedb/named.conf文件
/etc/namedb/rndc.key文件
到/usr/local/etc目录下,不再提示此错误

#/usr/loca/sbin/named
named正常启动,/var/log/messages文件中无错误提示

修改/etc/rc.conf
添加
named_enable="YES"
named_program="/usr/local/sbin/named"
重新启动后报错,提示
named: none:0: open: /usr/local/etc/named.conf: file not found
named: loading configuration: file not found
通过手动可以正常启动

将/usr/sbin/目录下named文件替换为/usr/local/sbin/目录下的named文件
重启后出现同样错误

不知何故?看是环境变量的问题不看看是否启用了chroot

试试直接启动:
# named -u bind -c /usr/local/etc/named.conf
看看是否启用了chroot

试试直接启动:
# named -u bind -c /usr/local/etc/named.conf

有可能
关键还是看日志
问题已经解决,并做了一个笔记,如下:
1、升级bind
更新ports(略)
#cd /usr/ports/dns/bind96
#make install clean
注意:在安装的时候,会有几个选项让你选择(默认即可),下面这个选项务必选上。
LINKS Create conf file symlinks in /usr/local
这个选项的目的就是在/usr/local/etc 目录下建立连个链接文件。

安装完成后
新版的BIND会在/usr/local/etc/目录下建立:
named.conf@ -> /etc/namedb/named.conf
rndc.key@ -> /etc/namedb/rndc.key
两个链接文件。
以后修改配置的时候,直接进入/etc/namedb/目录下修改文件就可以了。

2、修改/etc/defaults/rc.conf
#ee /etc/defaults/rc.conf
找到
named_enable="NO"
named_program="/usr/sbin/named"
改为
named_enable="YES"
named_program="/usr/local/sbin/named"

3、修改/
etc/rc.conf
#ee /etc/rc.conf
删除named_enable="YES"选项
重启

4、重启后提示:
named: the working directory is not writable

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


/set type=dir uname=root gname=wheel mode=0755
修改为:
/set type=dir uname=bind gname=wheel mode=0755

至此,问题解决。