BIND 9:rndc reload没有效果

我在FreeBSD 10上运行了一个绑定configuration的BIND 9.10.2端口,而且我遇到了一个问题,即使SOA串行已经正确地递增, rndc reload也不会收到任何(主要的master)区域文件的更改。

命令本身似乎成功了:

 #rndc reload server reload successful 

在日志中我看到:

 May 9 16:03:47 y named[81516]: all zones loaded May 9 16:03:47 y named[81516]: running 

然而,只有重新启动named才能启动区域更新。

rndc zonestatus my_zone.com打印旧的串行。 因此,BIND无法重新读取区域文件。

我怎样才能debugging呢?

如果这确实是dynamic更新的区域(指定了allow-update / update-policy ),则直接编辑区域文件是不安全的!

在这样的设置中,它是维护区域文件的BIND; 缓冲日志文件( .jnl )中的更改并定期重写区域文件本身。

对区域数据的所有更改预计将通过dynamic更新协议进行,并由BINDpipe理,而不是直接更改区域文件。 无论如何改变区域文件将导致不一致的行为,因为区域文件内容将与期刊内容和named状态不同步。

总之,通常你使用dynamic更新(例如使用nsupdate或任何其他客户端)对这样的区域进行所有更改,但是如果由于某种原因绝对必须直接控制区域文件,则可以使用rndc freeze暂时暂停dynamic更新,然后恢复使用rndc thaw )。 暂停更新是一个相当干扰的操作(任何更新都将失败,并且更改历史logging可能会根据ixfr-from-differences而被擦除),所以在正常操作期间您可能不应这样做。