单个文件中的多个区域,nsupdate和"忽略区域外数据"结果

时间:2014-10-16 11:23:03

标签: bind

我在绑定9.7中有三个相同区域的魔术区文件:

$TTL 86400
@ IN SOA localhost. root.localhost. (
 20141010222676
 3H              ; refresh
 15M             ; retry
 1W              ; expiry
 1D )            ; minimum
     IN NS ns1
     IN NS ns2
ns1  IN A  1.2.3.4
ns2  IN A  1.2.3.4
www  IN A  10.20.30.40

和named.conf中的这个区域包含单个文件:

zone "zone1.tld" IN {
 type master;
 file "zone.tld";
};
zone "zone2.tld" IN {
 type master;
 file "zone.tld";
};
zone "zone3.tld" IN {
 type master;
 file "zone.tld";
};

我在named.conf中启用了全局nsupdate访问:

allow-update {
 key "key_name";
};

通过nsupdate更新任何这些区域(例如zone1.tld)并停止绑定后我得到了像这样的区域文件:

$TTL 86400
zone1.tld. IN SOA localhost. root.localhost. (
 20141010222676
 3H              ; refresh
 15M             ; retry
 1W              ; expiry
 1D )            ; minimum
     IN NS ns1
     IN NS ns2
ns1  IN A  1.2.3.4
ns2  IN A  1.2.3.4
www  IN A  10.20.30.40

zone2和zone3仍然将此文件用作区域,但此文件中没有zone2和zone3的数据。绑定显然无法启动,返回错误“忽略区外数据”。

这是维护多个区域的正确方法,这些区域具有完全相同的数据,但是可以使用nsupdate吗?

1 个答案:

答案 0 :(得分:0)

作为绑定开发人员replied to my question之一,没有针对此问题的解决方案。动态区域应由单独的文件维护。