若要檢查可能會干擾 Active Directory 複寫的網域名稱系統 (DNS) 設定,您可以從執行基本測試開始,以確定 DNS 對您的網域正常運作。 執行基本測試之後,您可以測試 DNS 功能的其他層面,包括資源記錄註冊和動態更新。
雖然您可以在任何網域控制站上執行這項基本 DNS 功能測試,但您通常會在認為可能遇到複寫問題的網域控制站上執行這項測試,例如,在事件檢視器目錄服務 DNS 記錄檔中回報事件識別碼 1844、1925、2087 或 2088 的網域控制站。
執行網域控制站基本 DNS 測試
基本 DNS 測試會檢查 DNS 功能的下列層面:
-
連線能力:測試會判斷網域控制站是否已在 DNS 中註冊、可透過
ping
命令進行連絡,以及具有輕量型目錄存取通訊協定/遠端程序呼叫 (LDAP/RPC) 連線能力。 如果網域控制站上的連線測試失敗,則不會針對該網域控制站執行其他測試。 連線測試會在執行任何其他 DNS 測試之前自動執行。 - 基本服務:測試會確認下列服務正在執行,而且可以在測試過的網域控制站上使用:DNS 用戶端服務、Net Logon 服務、金鑰發佈中心 (KDC) 服務和 DNS 伺服器服務 (如果網域控制站上安裝 DNS)。
- DNS 用戶端設定:測試會確認 DNS 用戶端電腦之所有網路介面卡上的 DNS 伺服器皆可連線。
- 資源記錄註冊:測試會確認已在用戶端電腦上所設定的至少其中一個 DNS 伺服器上註冊每個網域控制站的主機 (A) 資源記錄。
- 區域和授權啟動 (SOA):如果網域控制站正在執行 DNS 伺服器服務,則測試會確認 Active Directory 網域區域以及 Active Directory 網域區域的授權啟動 (SOA) 資源記錄存在。
- 根區域:檢查是否有根 (.) 區域。
至少需要 Enterprise Admins 的成員資格或同等權限,才能完成這些程序。
您可以使用下列程序來驗證基本 DNS 功能。
驗證基本 DNS 功能:
在您想要測試的網域控制站上,或已安裝 Active Directory Domain Services (AD DS) 工具的網域成員電腦上,以系統管理員身分開啟命令提示字元。 若要以系統管理員身分開啟命令提示字元,請按一下 [開始]。
在 [開始搜尋] 中,輸入 Command Prompt。
在 [開始] 功能表的頂端,以滑鼠右鍵按一下 [命令提示字元] ,然後按一下 [以系統管理員身分執行] 。 如果出現 [使用者帳戶控制] 對話方塊,請確認它所顯示的動作就是您所需的動作,然後按一下 [繼續]。
在命令提示字元中,輸入下列命令,然後按 ENTER:
dcdiag /test:dns /v /s:<DCName> /DnsBasic /f:dcdiagreport.txt
將網域控制站的實際辨別名稱、NetBIOS 名稱或 DNS 名稱替代 <DCName>。 或者,您可以輸入 /e: 來測試樹系中的所有網域控制站,而不是 /s:。 /f 參數指定檔案名稱,而在上一個命令中是 dcdiagreport.txt。 如果您想要將檔案放在目前工作目錄以外的位置,則可以指定檔案路徑,例如 /f:c:reportsdcdiagreport.txt。在 [記事本] 或類似的文字編輯器中,開啟 dcdiagreport.txt 檔案。 若要在 [記事本] 中開啟檔案,請在命令提示字元中輸入 notepad dcdiagreport.txt,然後按 ENTER。 如果您已將檔案放在不同的工作目錄中,則請包括檔案的路徑。 例如,如果您已將檔案放在 c:reports 中,則請輸入 notepad c:reportsdcdiagreport.txt,然後按 ENTER。
捲動至接近檔案底端的 [摘要] 表格。
記下 [摘要] 表格中回報 [警告] 或 [失敗] 狀態的所有網域控制站名稱。 搜尋字串 "DC: DCName" 來尋找詳細分組區段,以判斷是否有問題網域控制站,其中 DCName 是網域控制站的實際名稱。
如果您看到所需的明顯設定變更,則請視情況進行變更。 例如,如果您注意到其中一個網域控制站的 IP 位址明顯不正確,則可以進行更正。 然後,重新執行測試。
若要驗證設定變更,請視情況使用 /e: 或 /s: 參數來重新執行 Dcdiag /test:DNS /v 命令。 如果您未在網域控制站上啟用 IP 第 6 版 (IPv6),則應該預期測試的主機 (AAAA) 驗證部分會失敗,但是,如果您未在網路上使用 IPv6,則不需要這些記錄。
驗證資源記錄註冊
目的地網域控制站會使用 DNS 別名 (CNAME) 資源記錄來找到其來源網域控制站複寫夥伴。 雖然執行 Windows Server 的域控制器(從 Windows Server 2003 Service Pack 1(SP1)起)可以使用完全合格的網域名稱(FQDN)來尋找來源復寫夥伴,但如果這失敗,則會嘗試使用 NetBIOS 名稱。此外,應該確認是否存在別名(CNAME)資源記錄,以確保 DNS 運作正常。
您可以使用下列程序來驗證資源記錄註冊,包括別名 (CNAME) 資源記錄註冊。
驗證資源記錄註冊
- 以系統管理員身分開啟命令提示字元。 若要以系統管理員身分開啟命令提示字元,請按一下 [開始]。 在 [開始搜尋] 中,輸入 Command Prompt。
- 在 [開始] 功能表的頂端,以滑鼠右鍵按一下 [命令提示字元] ,然後按一下 [以系統管理員身分執行] 。 如果出現 [使用者帳戶控制] 對話方塊,請確認它所顯示的動作就是您所需的動作,然後按一下 [繼續]。
您可以使用 Dcdiag 工具,透過執行dcdiag /test:dns /DnsRecordRegistration
命令來驗證網域控制站位置所需的所有資源記錄註冊。
此命令會驗證 DNS 中下列資源記錄的註冊:
- 別名 (CNAME):可找出複寫夥伴的全域唯一識別碼 (GUID) 型資源記錄
- 主機 (A):包含網域控制站 IP 位址的主機資源記錄
- LDAP SRV:找到 LDAP 伺服器的服務 (SRV) 資源記錄
- GC SRV:找到通用類別目錄伺服器的服務 (SRV) 資源記錄
- PDC SRV:找到網域主控站 (PDC) 模擬器作業主機的服務 (SRV) 資源記錄
您可以使用下列程序來單獨驗證別名 (CNAME) 資源記錄註冊。
驗證別名 (CNAME) 資源記錄註冊
- 開啟 DNS 嵌入式管理單元。 若要開啟 DNS,請按一下 [開始]。 在 [開始搜尋] 中,輸入 dnsmgmt.msc,然後按 ENTER。 如果出現 [使用者帳戶控制] 對話方塊,則請確認其顯示您想要的動作,然後按一下 [繼續]。
- 使用 DNS 嵌入式管理單元來找出任何執行 DNS 伺服器服務的網域控制站,其中伺服器所裝載 DNS 區域的名稱與網域控制站的 Active Directory 網域相同。
- 在主控台樹狀目錄中,按一下名為 _msdcs.Dns_Domain_Name 的區域。
- 在詳細資料窗格中,確認已有下列資源記錄:名為 Dsa_Guid._msdcs 的別名 (CNAME) 資源記錄。<Dns_Domain_Name> 以及 DNS 伺服器名稱的對應主機 (A) 資源記錄。
如果未註冊別名 (CNAME) 資源記錄,則請確認動態更新正常運作。 使用下節中的測試來驗證動態更新。
驗證動態更新
如果基本 DNS 測試顯示 DNS 中沒有資源記錄,則請使用動態更新測試來判斷 Net Logon 服務未自動註冊資源記錄的原因。 若要確認 Active Directory 網域區域已設定為接受安全動態更新,以及執行測試記錄 (_dcdiag_test_record) 的註冊,請使用下列程序。 測試記錄會在測試之後自動予以刪除。
驗證動態更新
- 以系統管理員身分開啟命令提示字元。 若要以系統管理員身分開啟命令提示字元,請按一下 [開始]。 在 [開始搜尋] 中,輸入 Command Prompt。 在 [開始] 功能表的頂端,以滑鼠右鍵按一下 [命令提示字元] ,然後按一下 [以系統管理員身分執行] 。 如果出現 [使用者帳戶控制] 對話方塊,請確認它所顯示的動作就是您所需的動作,然後按一下 [繼續]。
- 在命令提示字元中,輸入下列命令,然後按 ENTER:
dcdiag /test:dns /v /s:<DCName> /DnsDynamicUpdate
將網域控制站的辨別名稱、NetBIOS 名稱或 DNS 名稱替代 <DCName>。 或者,您可以輸入 /e: 來測試樹系中的所有網域控制站,而不是 /s:。 如果您未在網域控制站上啟用 IPv6,則應該預期測試的主機 (AAAA) 資源記錄部分會失敗,這是未啟用 IPv6 時的正常情況。
如果未設定安全動態更新,則您可以使用下列程序進行設定。
啟用安全動態更新
- 開啟 DNS 嵌入式管理單元。 若要開啟 DNS,請按一下 [開始]。
- 在 [開始搜尋] 中,輸入 dnsmgmt.msc,然後按 ENTER。 如果出現 [使用者帳戶控制] 對話方塊,則請確認其顯示您想要的動作,然後按一下 [繼續]。
- 在主控台樹狀目錄中,以滑鼠右鍵按一下適用區域,然後按一下 [內容]。
- 在 [一般] 索引標籤上,確認區域類型為 [Active Directory 整合]。
- 在 [動態更新] 中,按一下 [僅限安全]。
註冊 DNS 資源記錄
如果來源網域控制站的 DNS 中未出現 DNS 資源記錄、您已驗證動態更新,而且您想要立即註冊 DNS 資源記錄,則您可以使用下列程序來手動強制註冊。 網域控制站上的 Net Logon 服務會註冊在網路上找到網域控制站所需的 DNS 資源記錄。 DNS 用戶端服務會註冊別名 (CNAME) 記錄所指向的主機 (A) 資源記錄。
手動註冊 DNS 資源記錄
- 以系統管理員身分開啟命令提示字元。 若要以系統管理員身分開啟命令提示字元,請按一下 [開始]。
- 在 [開始搜尋] 中,輸入 Command Prompt。
- 在 [開始] 頂端,以滑鼠右鍵按一下 [命令提示字元],然後按一下 [以系統管理員身分執行]。 如果出現 [使用者帳戶控制] 對話方塊,請確認它所顯示的動作就是您所需的動作,然後按一下 [繼續]。
- 若要在來源網域控制站上手動起始網域控制站定位器資源記錄的註冊,請在命令提示字元中輸入下列命令,然後按 ENTER:
net stop netlogon && net start netlogon
- 若要手動起始主機 (A) 資源記錄的註冊,請在命令提示字元中輸入下列命令,然後按 ENTER:
ipconfig /flushdns && ipconfig /registerdns
- 在命令提示字元中,輸入下列命令,然後按 ENTER:
dcdiag /test:dns /v /s:<DCName>
將網域控制站的辨別名稱、NetBIOS 名稱或 DNS 名稱替代 <DCName>。 檢閱測試的輸出,以確定已通過 DNS 測試。 如果您未在網域控制站上啟用 IPv6,則應該預期測試的主機 (AAAA) 資源記錄部分會失敗,這是未啟用 IPv6 時的正常情況。