Mac-Osx

動態全域主機名和 nsupdate 不向權威名稱伺服器發送更新

  • February 9, 2015

我正在嘗試做 DDNS。我有兩個 Apple 產品:Airport Extreme 和 Macbook Air,我想通過“動態全域主機名”功能更新我的 DDNS 伺服器。

我在雲(BIND)中設置 DDNS,並通過我的本地 Ubuntu 機器(nsupdate 版本顯然是“nsupdate:非法選項 - V”,我可以簡單地說:

nsupdate -D -k [TSIG key path]
> update add jeff-laptop-2013.ddns.mydomain.com 86400 A [my IP]
> send
Found zone name: ddns.mydomain.com
The master is: ns1.ddns.mydomain.com
send_update()
Sending update to [IP address of cloud DNS server]#53

並且它正確地將更新發送到權威名稱伺服器ns1.ddns.mydomain.com

但是,在我的 OS X 筆記型電腦上(我想通過動態全域主機名更新,nsupdate 版本 9.10.1-P1),它堅持將其發送到我的“主”DNS 伺服器(除非我指定 NS),而不是權威的NS:

> send
Found zone name: ddns.mydomain.com
The master is: ns1.ddns.mydomain.com
send_update()
Sending update to 8.8.8.8#53

(ns1.ddns.mydomain.com 無法解析為 8.8.8.8。)這失敗了:

; TSIG error with server: expected a TSIG or SIG(0)
show_message()

Reply from update query:
;; ->>HEADER<<- opcode: UPDATE, status: SERVFAIL, id:   3677
;; flags: qr ra; ZONE: 1, PREREQ: 0, UPDATE: 0, ADDITIONAL: 0
;; ZONE SECTION:
;ddns.mydomain.com.         IN  SOA

這可能是動態全域主機名(偶爾,但不可重現)列印以下錯誤的原因:

2/7/15 10:55:43.623 AM discoveryd[27932]: Basic DNSResolver UDNS Send(): UDP Sendto() failed to DNSNameServer 8.8.8.8 Port 53 errno 49, fd 42, ErrLogCount 2 ResolverIntf:0

我不熟悉 BIND 或動態全域主機名。這是一個錯誤嗎?我怎麼能調查這個問題?有什麼建議麼?

是的,它似乎與此錯誤有關。

https://kb.isc.org/article/AA-01220/0/nsupdate-in-BIND-9.9.6-9.10.0-and-9.10.1-fail-to-resolve-the-SOA-MNAME-in-some-cases.html

另外,我認為它們的密鑰類型必須是 HOST,而不是 ZONE(dnssec-keygen 的預設值)或 USER。

引用自:https://serverfault.com/questions/665850