使用通配符记录更新 DNS - 服务器出现 TSIG 错误/GSS 验证错误

使用通配符记录更新 DNS - 服务器出现 TSIG 错误/GSS 验证错误

我在公司环境中使用 Microsoft DNS 服务器。我无法直接访问它,但我可以远程添加记录。

例如 - 使用nsupdate- 我可以添加新的 A / CNAME 类型记录,就像 Unix&Linux 中的这个问题一样如何使用 nsupdate 更新记录?

cat <<EOF > dns-update
server bar.example
zone foo.bar.example
update add hostname.foo.bar.example 86400 A 192.0.2.1
send
EOF

nsupdate -g dns-update

以上作品以 结束status: NOERROR

现在我想要做的是创建可通过通配符*和 A 名称/CNAME 访问的嵌套记录。

在上面的例子中,如果我将 替换hostname.foo.bar.example*.hostname.foo.bar.examplensupdate 将会失败status: REFUSED。如果我将 星号转义为 ,也会发生同样的情况\*

$ nsupdate -g scripts/dns-update 
; TSIG error with server: tsig verify failure
update failed: REFUSED

并附加额外的调试信息

$ nsupdate -g -D -L 3 scripts/dns-update 
...
;; TSIG PSEUDOSECTION:
588089969.sig-bar.example. 0 ANY TSIG   gss-tsig. 1556099609 300 28 BAQE//////8AAAAAKy03Mk/Ul7AQ***== 51403 NOERROR 0 

24-Apr-2019 11:53:29.924 dns_request_destroy: request 0x7fb2c6eef180
24-Apr-2019 11:53:29.924 req_destroy: request 0x7fb2c6eef180
24-Apr-2019 11:53:29.924 requestmgr_detach: 0x7fb2c6ee7010: eref 1 iref 1
Out of recvgss
24-Apr-2019 11:53:29.961 req_connected: request 0x7fb2c6eef010
24-Apr-2019 11:53:29.961 req_send: request 0x7fb2c6eef010
24-Apr-2019 11:53:29.961 req_senddone: request 0x7fb2c6eef010
24-Apr-2019 11:53:29.999 req_response: request 0x7fb2c6eef010: success
24-Apr-2019 11:53:29.999 req_cancel: request 0x7fb2c6eef010
24-Apr-2019 11:53:29.999 req_sendevent: request 0x7fb2c6eef010
update_completed()
24-Apr-2019 11:53:29.999 dns_request_getresponse: request 0x7fb2c6eef010
24-Apr-2019 11:53:29.999 GSS verify error: GSSAPI error: Major = A token had an invalid Message Integrity Check (MIC), Minor = Packet was replayed in wrong direction.
24-Apr-2019 11:53:29.999 tsig key '588089969.sig-bar.example' (<null>): signature failed to verify(1)
; TSIG error with server: tsig verify failure
show_message()
...

有趣的是 - 当我使用 Windows DNS 管理器执行相同操作时,它没有任何问题。参见屏幕截图 -DNS 管理器

不幸的是,这是 GUI 解决方案,1) 我无法自动化 2) 在 Linux 上运行大部分基础架构。因此,我尝试使用 实现相同的效果nsupdate

答案1

作为一种解决方法,我尝试在 Linux(CentOS 7)上安装 PowerShell(PSVersion 6.2.0)并使用 cmdlet Add-DnsServerResourceRecordCName(用于配置通配符 DNS 记录)。

遗憾的是,Add-DnsServerResourceRecordCName该版本上没有该命令。此解决方法无效。

相关内容