我在使用 BIND 时遇到了一个非常奇怪的间歇性问题。我正在运行一个 redhat 服务器(尽管我的 Gentoo 机器也会定期出现同样的问题),并且每隔一段时间,如果您以任何方式更改区域文件,它就会突然不响应查询。当您尝试:
dig @DNSServer localDomainHostName
它会为您提供 NXDOMAIN 状态。这种情况已经发生好几年了,而且似乎总能在某个时候自行修复,但似乎总是需要不同的方法才能修复它。
有一次,我只需要将文件 MYDOMAIN.db 和 MYDOMAIN.db.jnl 的所有者从 root:root 更改为 named:named。但例如今天,这样做没有成功。我知道我的配置没问题,因为它已经连续几个月没有出现任何问题(它们都是这样)。但后来我向我的 MYDOMAIN.db 文件添加了一个额外的静态 A 记录,突然整个文件就停止响应任何本地域查询。但它仍然可以很好地发挥其转发作用。
更令人困惑的是,我是否使用 redhat GUI 来处理 DNS,或者是否使用 VI 在 bash 提示符下编辑文件,似乎都无关紧要。或者我使用的是哪种操作系统。这是我遇到过的最难以捉摸和最烦人的问题之一。
有没有人遇到过类似我所说的情况,或者知道有什么技巧可以查看系统可能在哪里卡住?不得不在下午随机重置所有内容并弄乱每个文件,直到突然间它又开始正常工作,这开始变得令人讨厌。
答案1
在这个特定实例中,问题在于 MYDOMAIN.db 和 MYDOMAIN.db.jnl 之间缺乏同步。因此,删除 jnl 文件后,一切又恢复正常。jnl 文件不知为何不同步,这对我来说很奇怪。如果有比直接修改 MYDOMAIN.db 文件(或使用 redhat GUI)更好的方法来添加静态主机,我会很想知道!但现在我的问题已经解决了。感谢 Voretaq7 和 DerfK 的帮助!感谢您抽出时间!