我已经在本地通过rndc添加了一个zone test.net,并且工作正常。 接下来,我想通过nsupdate更新它,但在本地,我的区域configuration是,
zone test.net {type master; file "zones-remote/masters/test.net" ; allow-update{localhost;};};
当我这样做的时候,
nsupdate server localhost zone sample.test.net update add sample.test.net 86400 A 134.23.32.4 send
它给出错误“更新失败:NOTAUTH”
通过展示检查,发送之前,
Outgoing update query: ;; ->>HEADER<<- opcode: UPDATE, status: NOERROR, id: 0 ;; flags:; ZONE: 0, PREREQ: 0, UPDATE: 0, ADDITIONAL: 0 ;; ZONE SECTION: ;test.net. IN SOA ;; UPDATE SECTION: sample.test.net. 86400 IN A 134.23.32.4
当我尝试,
nsupdate server localhost zone test.net # Actual zone name update add sample.test.net 86400 A 134.23.32.4 send
那么出现错误“SERVFAIL”。
我的区域文件看起来像这样,
@ 86400 IN SOA test.net. sampling.gmail.com. ( 2014101001 3h 1h 1w 30m86400s) @ 84600 NS ns1.test.net. @ 84600 IN A 42.42.42.42 ns1 84600 IN A 42.42.42.42
该区域文件是正确的,它parsing了针对其域的查询。
当您指定zone ,您正在为所有后续事务定义“原点”。 您指定的logging名称被假定为相对于该原点,除非存在尾点。
zone sample.test.net ,logging应该是@或者sample.test.net. 。 zone test.net ,logging应该是sample或sample.test.net. 。 SERVFAIL发生的原因是您的请求logging映射到sample.test.net.test.net. ,它不在你定义的sample.test.net. 区。
我不太确定为什么你要获得第一个请求的NOTAUTH( sample.test.net.sample.test.net.属于sample.test.net. ),但我不能花很多时间猜测当你运行一个不受支持的BIND版本时发生了什么。 确保nsupdate客户端和服务器都运行受支持的版本,如果问题仍然存在,请更新您的问题。