在Windows 中如何定位網域控制站

來源:互聯網
上載者:User

本文介紹供 Windows 用來在 Windows 域中定位網域控制站的機制。本文詳細講述通過域的 DNS-style 名稱和 Flat-style (NetBIOS) 名稱定位域的過程。Flat-style 名稱用於向後相容。在所有其他情況下,使用 DNS-style 名稱應成為一種策略。本文還介紹了如何排查網域控制站定位過程中出現的問題。
下面介紹如何用定位器尋找網域控制站:
 
 在客戶機(搜尋網域控制站的電腦)上,定位器的啟動是以對本地 Netlogon 服務執行遠端程序呼叫 (RPC) 的形式執行的。定位器 DsGetDcName API (API) 調用是通過 Netlogon 服務實現的。
 客戶機收集在選擇一個網域控制站時所需的資訊,並使用 DsGetDcName 調用將這些資訊傳遞到 Netlogon 服務。
 客戶機上的 Netlogon 服務使用收集的這些資訊從一個網域控制站中尋找指定的域,採用的是下面兩種方法之一:

 1.對於 DNS 名稱,Netlogon 通過使用 IP/DNS 相容定位器查詢 DNS--即在 DNS 將網域名稱附加到指定 SRV 記錄的適當的字串後,DsGetDcName 調用 DnsQuery 調用從 DNS 讀取“服務資源”(SRV) 記錄和“A”記錄。
 登入到基於 Windows 的域的工作站向 DNS 查詢一般形式的 SRV 記錄:
_service._protocol.DnsDomainName
Active Directory 伺服器通過 TCP 協議提供“輕量目錄訪問協議”(LDAP) 服務。因此,客戶機通過向 DNS 查詢以下形式的一條記錄找到一個 LDAP 伺服器:
_ldap._tcp.DnsDomainName 
 2.對於 NetBIOS 名稱,Netlogon 通過使用 Microsoft Windows NT 4.0 版相容定位器來執行網域控制站發現(即通過使用特定於傳輸的機制,例如 WINS)。

在 Windows NT 4.0 及更早版本中,“發現”是在主域或受信域中定位一個用於身分識別驗證的網域控制站的過程。

 
• Netlogon 服務將一個資料報發送到註冊該名稱的電腦。對於 NetBIOS 網域名稱,資料報是作為一個郵筒訊息實現的。對於 DNS 網域名稱,資料報是作為一個 LDAP 使用者資料包通訊協定 (UDP) 搜尋實現的。(UDP 是無串連資料報傳輸協議,它是 TCP/IP 協議組的一部分。TCP 是一個連線導向的傳輸協議。)
• 每個可用的網域控制站都響應此資料報,表明它當前處於運行狀態,並將該資訊返回到 DsGetDcName。

注意,UDP 允許一台電腦上的程式向另一台電腦上的程式發送資料報。UDP 包括一個協議連接埠號碼,該連接埠號碼使發送方能夠區分遠端電腦上的多個目標(程式)。
• 每個可用的網域控制站都響應此資料報,表明它當前處於運行狀態,並將此資訊返回到 DsGetDcName。
• Netlogon 服務緩衝網域控制站資訊,以便後續請求不必重複此發現過程。緩衝此資訊有利於保證使用同一網域控制站時的一致性和 Active Directory 視圖的一致性。

當一個客戶機登入或加入網路時,它必須能夠找到一個網域控制站。此客戶機向 DNS 發送一個“DNS 尋找”查詢以發現網域控制站,並希望最好能在客戶機自己的子網內找到。因此,客戶機通過向 DNS 查詢以下形式的一條記錄找到一個網域控制站:
_LDAP._TCP.dc._msdcs.domainname
在客戶機找到一個網域控制站後,它將使用 LDAP 建立通訊,以獲得對 Active Directory 的訪問權。作為此協商的一部分,網域控制站根據客戶機的 IP 子網來確定此客戶機所在的網站。如果此客戶機正在與一個不在最近(最佳)網站的網域控制站通訊,此網域控制站將返回此客戶機的網站名稱。如果此客戶機已經嘗試在此網站中尋找網域控制站(例如,當客戶機向 DNS 發送“DNS 尋找”查詢以在此客戶機的子網內尋找網域控制站時),則此客戶機將使用這個並非最佳的網域控制站。否則,此客戶機將使用此新的最佳網站名稱重新執行一個特定於網站的 DNS 尋找。網域控制站使用一些目錄服務資訊來標識網站和子網。

在客戶機找到一個網域控制站後,此網域控制站的條目將被緩衝。如果此網域控制站不在最佳網站,此客戶機在十五分鐘後將重新整理緩衝並丟棄緩衝條目。然後它將嘗試在它自己所在的網站內尋找一個最佳的網域控制站。

在客戶機建立到網域控制站的通訊路徑之後,它就可以建立登入和身分識別驗證憑證,而且,對於基於 Windows 的電腦,在必要時還可以建立一個安全通道。然後此客戶機就可以在目錄中執行常規查詢和搜尋資訊了。

客戶機建立一個到網域控制站的 LDAP 串連以便登入。此登入過程要使用“安全帳戶管理器”。因為通訊路徑使用了 LDAP 介面,且此客戶機是由一個網域控制站進行身分識別驗證的,所以此客戶帳戶在得到驗證後通過“安全帳戶管理器”傳遞到目錄服務代理,然後到資料庫層,最後到“可延伸儲存引擎”(ESE) 中的資料庫。
排查域定位器過程中的問題
 在客戶機和伺服器上檢查事件檢視器。事件記錄中可能包含一些指出存在問題的錯誤訊息。若要查看“事件檢視器”,請單擊開始,指向程式,指向管理工具,然後單擊事件檢視器。查看客戶機和伺服器上的系統日誌。另外,檢查伺服器上的目錄服務日誌和 DNS 伺服器上的 DNS 日誌。
 在命令提示字元下使用 ipconfig /all 命令檢查 IP 配置。
 使用 Ping 工具 + 生產力檢查網路連接和名稱解析。對 IP 位址和伺服器名稱執行 Ping 命令。您可能還需要 ping 網域名稱。
 使用 Netdiag 工具確定網路組件是否工作正常。如要將詳細的輸出發送到一個文字檔,請使用下面的命令:
netdiag /v >test.txt
檢查記錄檔,尋找問題並仔細檢查任何相關組件。此檔案還包含其他網路設定詳細資料。
 如要修補小問題,請採用以下文法使用 Netdiag 工具:netdiag /fix。
 使用 nltest /dsgetdc:網域名稱命令檢查對於特定的域是否可以找到一個網域控制站。
 使用 NSLookup 工具檢查 DNS 條目是否在 DNS 中正確註冊。檢查確認伺服器主機記錄和 GUID SRV 記錄是否能夠解析。

例如,要檢查記錄註冊,請使用下列命令:
nslookup 伺服器名.根域子級.根域.com

nslookup guid._msdcs.根域.com
 如果這兩個命令都不成功,請使用下列方法之一向 DNS 註冊記錄。 • 如要強制執行主機記錄註冊,請鍵入 ipconfig /registerdns。
• 如要強制執行網域控制站服務註冊,請停止 Netlogon 服務,然後重新予以啟動。
 
 如要檢測網域控制站問題,請在命令提示字元下運行 DCdiag 工具 + 生產力。此工具 + 生產力運行多種測試以檢查網域控制站是否正常運行。使用此命令可將結果發送到一個文字檔:
dcdiag /v >dcdiag.txt
 使用 Ldp.exe 工具串連並綁定到網域控制站以檢查是否有適當的 LDAP 串連能力。

 
 如果您懷疑某一特定網域控制站有問題,開啟 Netlogon 調試日誌可能會很有協助。通過鍵入下面的命令使用 NLTest 工具 + 生產力:nltest /dbflag:0x2000ffff。然後資訊將記錄到 Debug 檔案夾中的 Netlogon.log 檔案中。
 
如果仍沒有找出問題,請使用“網路監視器”監視客戶機和網域控制站之間的網路通訊量。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.