BIND troubleshooting通常很容易
守护程序把详细状态信息更新到/var/log/messages文件,它很方便的把你可疑的错误配置记录下网络问题的普通可修复错误还是可以执行的。接下来连同处理方法一起讨论。
配置问题与解决步骤
经常检查你的/var/logs/message文件,控制输出文件的错误记录。这里有一些你可能会遇到的例子:
守护程序使用一个未编辑过的">named.conf文件样本版本启动,引起不寻常的错误出现在屏幕上。。由于并不存在的区域文件样本引起的错误。由于在localhost_resolver段同时存在named.rfc1912.zones和named.root文件引起有关重定义的错误。[root@bigboy tmp]# service named restartStarting named: Error in named configuration:/etc/named.rfc1912.zones:10: zone '.': already exists previous definition: /etc/named.root.hints:12zone localdomain/IN: loaded serial 42zone localhost/IN: loaded serial 42zone 0.0.127.in-addr.arpa/IN: loaded serial 1997022700zone 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 1997022700zone 255.in-addr.arpa/IN: loaded serial 42zone 0.in-addr.arpa/IN: loaded serial 42zone my.internal.zone/IN: loading master file my.internal.zone.db: file not foundinternal/my.internal.zone/IN: file not foundzone my.ddns.internal.zone/IN: loading master file slaves/my.ddns.internal.zone.db: file not foundinternal/my.ddns.internal.zone/IN: file not foundzone my.external.zone/IN: loading master file my.external.zone.db: file not foundexternal/my.external.zone/IN: file not found[FAILED][root@bigboy tmp]# named.conf文件存在未定义的
安全密钥ddns_key。使用dns-keygen 或 dnskeygen命令创建一个正确的条目。Feb 25 20:38:49 bigboy named[4593]: /etc/named.conf:99: configuring key 'ddns_key': bad base64 encodingFeb 25 20:38:49 bigboy named[4593]: loading configuration: bad base64 encoding named.conf中提到的named.root.hints文件没有在/etc或chroot的/etc目录里。[root@bigboy tmp]# service named startStarting named: Error in named configuration:/etc/named.conf:58: open: /etc/named.root.hints: file not found[FAILED][root@bigboy tmp]# named.root.hints提到的named.root文件不存在。Feb 25 21:33:41 bigboy named[5007]: could not
configure root hints from 'named.root': file not foundFeb 25 21:33:41 bigboy named[5007]: loading configuration: file not foundFeb 25 21:33:41 bigboy named[5007]: exiting (due to fatal error) 你使用chroot版本的BIND,
但是rndc.key文件位置在/etc目录而不是在/var/named/chroot/etc/目录。拷贝文件到正确的位置,
然后重启来解决这个问题。[root@bigboy tmp]# service named restartStopping named: rndc: connect failed: connection refused[ OK ]Starting named: [ OK ][root@bigboy tmp]# named.conf文件提到的区域文件不存在。这个例子即有错误提示到控制屏幕,也有错误提示到/var/log/messages文件。[root@bigboy tmp]# service named startStarting named: Error in named configuration:zone localdomain/IN: loaded serial 42zone localhost/IN: loaded serial 42zone 0.0.127.in-addr.arpa/IN: loaded serial 1997022700zone 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 1997022700zone 255.in-addr.arpa/IN: loaded serial 42zone 0.in-addr.arpa/IN: loaded serial 42zone 2.168.192.in-addr.arpa/IN: loaded serial 2006052301zone my-web-site.org/IN: loaded serial 2006052302zone my-web-site.com/IN: loading master file /var/named/zones/internal/my-web-site.com.zone: file not foundinternal/my-web-site.com/IN: file not foundzone 1.168.192.in-addr.arpa/IN: loaded serial 2006052301zone my-web-site.org/IN: loaded serial 2006052302[FAILED][root@bigboy tmp]#
Feb 26 01:47:10 smallfry named: zone my-web-site.com/IN: loading master file /var/named/zones/internal/my-web-site.com.zone: file not found
Feb 26 01:47:10 smallfry named: internal/my-web-site.com/IN: file not found
这是一个会发生在
Fedora早期版本中的隐蔽错误。BIND看起来像启动正常,但是没有任何区域文件被装载。这个情况应该是使用了chroot版本BIND,且named.conf文件在/etc目录里,而不是在/var/named/chroot/etc/目录里。拷贝文件到正确的位置,然后重启来解决这个问题。删除/etc并创建一个从/etc到/var/named/chroot/etc/named.conf的链接,以保证你能使用正确的文件。Nov 9 17:35:41 bigboy named[1157]: starting BIND 9.2.3 -u named -t /var/named/chrootNov 9 17:35:41 bigboy named[1157]: using 1 CPUNov 9 17:35:41 bigboy named[1157]: loading configuration from ‘/etc/named.conf’Nov 9 17:35:41 bigboy named[1157]: listening on IPv4 interface lo, 127.0.0.1#53Nov 9 17:35:41 bigboy named[1157]: listening on IPv4 interface eth0, 10.41.32.71#53Nov 9 17:35:41 bigboy named[1157]: command channel listening on 127.0.0.1#953Nov 9 17:35:41 bigboy named[1157]: command channel listening on ::1#953Nov 9 17:35:41 bigboy named[1157]: running 如果在屏幕或/var/log/messages都没有错误提示,且当你登录进你
新的名字服务器使用host命令查询时,你的域不能正常工作,
那么这个问题可能是由于你忘了在named.conf为域增加区域文件条目;那应属
于一个你的区域文件的设置错误;或者是你忘了更新你的区域文件序列号。
这不是一份完整的配置错误清单,但它含盖了一些新配置的常见错误。