Domain-Name-System
使用萬用字元記錄更新 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 name / CNAME 訪問的嵌套記錄。在上面的範例中,如果我替換
hostname.foo.bar.example
為*.hostname.foo.bar.example
nsupdate 將失敗並顯示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 管理器
不幸的是,這是我 1) 無法自動化 2) 在 Linux 上執行大部分基礎設施的 GUI 解決方案。正因為如此,我試圖用
nsupdate
.
作為一種解決方法,我嘗試在 Linux(CentOS 7)上安裝 PowerShell(PSVersion 6.2.0)並使用
Add-DnsServerResourceRecordCName
cmdlet(啟用配置萬用字元 DNS 記錄)。不幸的是,
Add-DnsServerResourceRecordCName
該版本不提供命令。此解決方法不起作用。