Windows活動目錄系列---AD站點(2)

什麼是站點之間的拓撲生成器(Intersite topology generator ISTG)?

在配置多站點的時候,KCC會指定每個站點中的一臺DC作爲站點間拓撲生成器。無論站點有多少個域或者目錄分區,每個站點只能有一個ISTG。ISTG負責計算出跨站點鏈接時最理想的站點複製拓撲,當你在林中新增一個站點,每個站點的ITSG會去確認新站點出現在哪個目錄分區,然後ISTG計算出有多少個新的鏈接對象是新站點複製信息時必須用到的。

在有些網絡中,你可能希望指定某一個DC來進行站點間的複製,我們可以通過配置橋頭服務器來滿足這個要求。橋頭服務器負責站點的所有進站複製和出站複製。ISTG會在它的目錄中建立一個連接協議,並且稍後會把這個協議複製到橋頭服務器,然後橋頭服務器會與遠程站點的橋頭服務器建立一個複製連接並通過這個複製連接開始複製信息。如果有一個複製夥伴不可用了,ISTG會自動的選擇另外一個DC作爲該站點中的ISTG,但是如果你手動指定了橋頭服務器,並且橋頭服務器不可用了,那麼ISTG是不會自動選擇其他的DC作爲該站點的ISTG的。

默認情況下,ISTG會自動選擇橋頭服務器,然後創建站點間的複製拓撲,來保證那些共享一個站點鏈接的橋頭服務器之間能夠正常的複製變更數據。每個目錄分區都會有橋頭服務器,所以站點內的某個DC可能是架構分區的橋頭服務器,而另外一臺DC可能是配置分區的橋頭服務器,但是通常是一臺DC作爲所有目錄分區的橋頭服務器,除非站點中有其他域的應用程序分區或者域分區,如果出現這種情況,就會有多個橋頭服務器了。當你在站點之間有防火牆,並且防火牆只允許指定的DC之間進行復制的時候,手動配置橋頭服務器就非常適合這種情況。


在多站點的環境中優化DC的覆蓋

當你在域中新增一臺DC的時候,這臺新DC會通過在DNS中建立一個SRV記錄來發布它的服務。它和主機的A記錄不同,主機的A記錄是將主機名與IP地址做映射,而SRV記錄是將服務和主機名做映射。例如想要發佈提供驗證和目錄訪問功能的服務,就需要一臺DC註冊Kerberos V5協議和LDAP的SRV記錄,這些SRV記錄會被寫入到林DNS區域的幾個文件夾中。

在DNS的域區域中,名稱爲_tcp的文件夾中保存了域中所有DC的SRV記錄,域區域中還有一個_site的文件夾,這個文件夾中保存了爲域中每個站點創建的子文件夾,每個站點的文件中都保存了此站點可用服務的SRV記錄,比如在一個站點中裝了一臺DC,那麼在_site\站點名\_tcp中就會有一條對應這臺DC的SRV記錄。

SRV記錄中一般包含以下的信息:

  1. 服務名稱和端口。SRV記錄會表明它所代表的服務和服務所用的固定端口,這個端口不一定要是熟知的端口。在Windows 2012中SRV記錄中包含 LDAP的端口389,Kerberos的端口88,Kerberos密碼協議的端口464,以及GC服務的端口3268.

  2. 協議。TCP和UDP是服務的兩種傳輸協議,同一個服務可以通過兩個不同的SRV記錄分別使用這兩種傳輸協議,例如Kerberos記錄就用這兩種協議註冊了SRV記錄。Windows的客戶端只會用TCP的協議,但是UNIX的客戶端可以使用TCP和UDP兩種協議。

  3. 主機名。主機名對應了承載服務的服務器A記錄,當客戶端查詢服務的時候,DNS服務器會返回SRV記錄和關聯的A記錄給客戶端,所以客戶端不需要單獨的提交一個查詢去解析服務的IP地址。

SRV記錄中的服務器名遵循標準的DNS組件層次,通過"."來劃分組件。比如一臺DC的Kerberos服務註冊記錄爲Kerberos._tcp.站點名._sites.域名。域名指的是域或者DNS區域,例如contoso.com,_site是所有DNS中註冊的站點,站點名是承載服務的DC所隸屬的站點,_tcp是站點內所有基於TCP協議的服務,Kerberos是使用TCP作爲創術協議的Kerberos祕鑰頒發中心。

在某些特定的場合,某些分公司地區有計算機設備但是沒有DC,或者不需要安裝一臺DC給它,這種情況我們可以建立一個沒有DC的站點,但是這樣的話在這個站點的_sites\站點名\_tcp的目錄下面是不會列出對應DC的SRV記錄的。有幾種方式可以解決這個問題,例如你比較關注的是DC和AD域數據庫的安全性維護,那麼可以部署RODC,或者使用自動站點覆蓋功能,在一個空的站點中(指沒有DC的站點),離此空站點最近的站點中的DC會自動的處理兩個站點的信息(自身站點和空站點),並且將自己的SVR記錄寫入到空站點中,這個操作可以通過組策略來配置。或者如果站點只是有較少的電腦,並且網絡狀況良好,爲了節省部署服務器的費用,你可以將本地站點的子網添加到有多臺DC的中心站點中,此時客戶端計算機是位於遠程站點的,無DC的站點位置會被認爲是隸屬於中心站點,只有在中心站點中的DC都不可用的情況下無DC的站點纔會出現問題。在這種情況下,客戶端使用緩存憑證進行本地驗證,但是因爲站點鏈接自動橋接默認是開啓的,那麼域驗證始終還是經過橋接多個站點的站點鏈接進行。


客戶端計算機是如何發現DC的?

當你將一臺windows操作系統的計算機加入域並重啓後,客戶端就完成了DC的發現和客戶端註冊過程。註冊過程的目的是爲了根據IP子網的信息,最快的發現離客戶端最近的DC。

客戶端發現DC的過程如下:

  1. 新的客戶端會去查詢域中所有的DC。當新加域的客戶端重新啓動的時候,它會從DHCP接收一個IP地址,併爲域的驗證做好準備,但是客戶端不知道DC在哪裏,因此客戶端會去查找_tcp文件夾來查詢DC,_tcp文件夾中保存有域中所有DC的SRV記錄。

  2. 客戶端嘗試一個LDAP的Ping命令,去按順序的Ping所有的DC。客戶端向DNS查詢_tcp文件夾後,DNS返回給客戶端一個清單,裏面包含了所有滿足的DC,然後客戶端在第一次啓動的時候會嘗試連接清單中所有的DC。

  3. 第一臺DC響應Ping命令。第一臺響應Ping命令的DC會檢查客戶端的IP地址,並且將客戶端的IP地址和站點中的子網對象相互參照,接着將客戶端所隸屬的站點信息發回給客戶端,客戶端收到信息後將站點名保存在本機的註冊表中,然後到指定站點的_tcp文件夾中查詢DC信息。

  4. 客戶端查詢所屬站點中的所有DC。第3步中的查詢動作發生後,DNS會返回客戶端一個所屬站點中的DC列表。

  5. 客戶端順序的對站點中所有的DC進行LDAP的Ping操作。DC發出響應首次驗證客戶端。

  6. 客戶端生成一個親密度。客戶端會與最先響應的DC形成一個親密度,並且以後的驗證都會最先嚐試與這臺DC聯繫,如果這臺DC不可用了,客戶端會再次查詢站點內的_tcp文件夾,然後再與最先響應的DC進行綁定。

如果客戶端移動到了另外一個站點,像移動客戶端,手提電腦之類的設備,客戶端會嘗試連接到它的首選DC去驗證,首選DC會通知客戶端,它的IP地址不是本站點的,然後引用一個新站點給客戶端,客戶端通過DNS查詢IP所屬的站點中的DC。


自動的站點覆蓋:

像之前提到的,你可以配置站點引導用戶找到複製資源的本地副本,比如DFS命名空間中的共享文件夾。有時候你可能不需要DC,只要求讓服務本地化,那麼非本站點的最近DC將會把它的SVR記錄在本站點中,這個過程就稱爲站點覆蓋。

沒有DC的站點應用站點覆蓋時,一般是被與此站點的站點鏈接花費最低的站點中的DC,當然你也可以手動的去配置站點覆蓋和SRV記錄的優先級,來指定你想要使用的站點中的DC來爲沒有DC的站點提供驗證服務。

關於如何評估站點覆蓋的資料可以參考一下鏈接:

http://go.microsoft.com/fwlink/?LinkId=168550


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章