Windows 2012 無法驗證沒有根區域的轉發器?
(免責聲明:我不是 Windows DNS 管理員。不過,我確實有相當多的 DNS 經驗,但這沒有任何意義。我正在與負責這些設備的管理員密切合作,並且可以將測試執行為需要。)
我們遇到了一個問題,我們無法在 Windows Server 2012 下添加指向 BIND 名稱伺服器的條件轉發器。添加伺服器的 IP 地址會導致驗證錯誤:
An unknown error occurred while validating the server.
查看 BIND 伺服器上的查詢日誌,我們發現了一些相當有趣的事情:Windows DNS 伺服器正在查詢
. IN SOA
,即根名稱伺服器的 SOA 記錄。example.com. IN SOA
根本沒有查詢。它嘗試查詢 root 權限,並且在收到 的響應時不會繼續REFUSED
。client 192.168.203.20#59067 (.): query: . IN SOA - (192.168.208.201) client 192.168.203.20#50553 (.): query: . IN SOA - (192.168.208.201) client 192.168.203.20#55468 (.): query: . IN SOA - (192.168.208.201)
瘋狂。為了幽默,我們在實驗室重現了這個問題。我下載了根區域的副本並配置了一個
.
區域(註釋掉我的根提示),你瞧,這個錯誤不再發生。我真的不明白這個。我提供了一個無需提供答案的權威名稱伺服器,
. SOA
而且就目前情況而言,我將不得不將此區域添加到我們所有的生產伺服器中,以便與 Windows 2012 很好地配合使用。根據我的經驗,一個轉發器應該只關心目標名稱伺服器是否對相關區域具有權威性。為什麼會這樣?
如果我們嘗試忽略錯誤(仍然點擊確定),我們會得到以下錯誤對話框:
查詢日誌仍然顯示上游伺服器只要求
. IN SOA
. 永遠不會嘗試查看伺服器是否對example.com.
.
我嘗試在 Windows 2012 和 Windows 2012 R2 上重現這一點,但無法獲得相同的最終結果。
我可以確認初始驗證錯誤(驗證伺服器時發生未知錯誤。),我可以看到奇怪的查詢
. IN SOA
,但此時點擊“確定”似乎可以工作(沒有顯示更多錯誤並且轉發區域是添加)。您遇到的第二條錯誤消息(嘗試添加條件轉發器時出現問題。發生區域配置問題。)似乎與奇怪的驗證行為無關。
我無法真正說出它為什麼要根據查詢進行驗證,
. IN SOA
但這似乎主要是一個外觀問題,因為儘管驗證失敗,但您並沒有被阻止繼續進行。