我启动了一个DNS服务器并运行了一个为我的域configuration的区域,并启用了allow-update指令。 我在文件/var/cache/bind/db.mydomain.com有该域的初始configuration,这个文件有一行$INCLUDE db.aux.mydomain.com指令从这个文件加载logging。
当我使用nsupdate更新区域时,问题出现了,因为bind通过删除$INCLUDE行并直接在db.mydomain.com文件中db.mydomain.com的内容来重写文件db.mydomain.com 。
我怎样才能防止这个?
我不认为你可以避免这一点。
当为区域启用dynamic更新时,您基本上将区域文件内容的控制权交给绑定; 您不再允许直接在文件中进行更改,绑定将需要在更新后重写。
至于$INCLUDE在这种情况下,如果要保留包含语句,会有什么约束呢?
在进行更新时,是否需要修改所有引用的文件?
如果某些包含文件是从多个区域引用的呢?
如果你为foo.aux.mydomain.com添加loggingfoo.aux.mydomain.com办? 绑定不知道文件名对你来说意味着什么,它不知道专门添加该文件中的条目。
如果dynamic更新不应该适用于该子域,则更好的select可能实际上是委托并将其作为单独的区域。