Windows活動目錄系列---配置和監視AD域複製(1)

AD域的站點鏈接是什麼?

兩個站點之間要交換複製數據,必須通過站點鏈接把他們連接起來。站點鏈接是一個邏輯的路徑,它被KCC或ISTG用來建立站點間的複製。當你創建了另一個站點,你必須至少選擇一個站點鏈接,將新的站點和現有的一個站點相連。如果沒有站點鏈接,KCC是無法讓不同站點中的計算機互相連通的,站點之間也無法進行復制。

站點鏈接有一個很重要的概念,它代表用於複製的一條可用路徑。一個單獨的站點鏈接是無法控制被使用的網絡路由的,當你創建了一個站點鏈接並且將一個站點加入其中,就等於你告訴AD域可以在站點鏈接關聯的站點之間進行復制。ISTG會創建連接對象,然後這些對象會確定實際的複製路徑,雖然ISTG建立的複製拓撲能夠進行高效的AD域複製,但是對於你的網絡拓撲來說這樣的複製拓撲不一定是最佳的。

爲了更好的理解站點鏈接,可以參考這個案例,當你創建了一個林,會自動生成一個默認站點鏈接對象DEFAULTIPSITELINK,每個新增加的站點都會默認被加入到DEFAULTIPSITELINK這個站點鏈接。這個默認的站點鏈接和任何新建的站點鏈接默認開銷值是100,複製頻率是180分鐘,現在公司在總部有一個數據中心HQ,並且有三個分支機構A、B、C,三個分支機構與總部通過專線連接,現在每個分支機構都建立一個站點,每個分支站點和總部都關聯到DEFAULTIPSITELINK站點鏈接對象。由於四個站點都在同一個站點鏈接中,AD域可以在這四個站點中相互複製,比如A可以從B複製變更數據,B可以從C複製變更數據,然後C又可以從HQ複製變更數據,接下來HQ又從A複製變更數據。在這些複製路徑中,在網絡流量中的複製流量,從一個分支機構穿過總部然後到另一個分支機構,單一的站點鏈接是無法創建中心發散形狀的複製拓撲的,即使你的網絡拓撲是中心發散形狀。

想要將你的網絡拓撲和AD複製結合起來,你必須創建特定的站點鏈接,這樣就可以通過手動建立站點鏈接來對應你需要的複製拓撲。針對之前的案例,你需要建立三個站點鏈接:1.HQ-A 2.HQ-B 3.HQ-C.

創建完站點鏈接之後,ISTG將會使用這個拓撲去建立一個站點之間的複製拓撲,這個複製拓撲會連接到所有站點,然後自動創建連接對象去配置複製路徑,最佳實踐推薦建立正確的站點拓撲,儘量避免手動的去創建連接對象。


什麼是站點鏈接的橋接?

在你創建了站點鏈接並且ISTG生成了鏈接對象之後,差不多就完成了所需的工作,在大多數環境中,特別是網絡拓撲比較簡單的時候,站點鏈接就足夠管理站點間的複製,但是在複雜的網絡中,你可以配置一些額外的組件和複製屬性。

自動站點鏈接橋接

所有的站點鏈接默認是被橋接在一起的,比如A和HQ站點是鏈接在一起的,然後HQ和B站點是鏈接在一起的,那麼A和B也是鏈接在一起的,但是A和B之間是A到HQ再到B加起來的鏈路開銷。從理論上來說,如果HQ的DC不可用了,ISTG可以在A和B的DC之間建立一個直連的連接對象,這需要在中心散發的網絡拓撲中纔可以實現。

你可以在"Intersite Transports"容器中打開IP傳輸的屬性,清除掉"爲所有站點鏈接搭橋"的勾選,這樣就可以禁用掉站點鏈接的自動橋接。


站點鏈接橋:

一個站點鏈接橋可以連接到兩個或兩個以上的站點鏈接,從某種意義上說就是創建了一條傳遞鏈路。站點鏈接橋只有在你清除了傳輸協議中的"爲所有站點鏈接搭橋"的時候纔會使用到。因爲站點鏈接自動搭橋是默認啓用的,所以實際上站點鏈接橋是不需要使用到的,但是你可以針對主要的一些站點使用自動站點鏈接搭橋,也可以對一些開銷不大的站點手動配置站點鏈接橋。例如,假設你有多個站點,A和B與總部HQ直接相連,默認開銷值時100,HQ有一個備份的數據中心HQ-HA,它與HQ,A,B這三個站點都使用開銷100的站點鏈接,如果HQ-HA站點的所有DC都不可用了,但你希望A站點仍然可以到達B站點,你可以將A和B的站點鏈接橋接起來以便A和B之間能夠保持暢通,因此你需要在A和B之間配置一個站點鏈接橋,這條鏈接大於A和B到HQ-HA的站點鏈接的值爲100的傳遞開銷,但是小於不建立站點鏈接橋而直接從A到HQ-HA再到B的傳遞開銷,如果不建立站點鏈接橋,從A到B的鏈接開銷是A到HQ-HA的100開銷加上HQ-HA到B的100開銷,總共的開銷爲200,但是在A到HQ-HA和HQ-HA到B的兩個站點鏈接之間建立了站點鏈接橋的話,從A到B的開銷就會是一箇中間值150。站點鏈接橋的目的,是爲了讓兩個或多個無法直接連接的站點通過站點鏈接橋進行連接,KCC會參照站點鏈接橋創建對應的連接對象,調整AD域的複製拓撲。


通用組成員身份緩存:

在你配置AD域複製的時候可能需要考慮一個問題,是否需要把所有的DC都設置爲GC。因爲在用戶登錄域的時候需要用到GC服務器,在每個站點中都部署一臺GC能夠改善你的用戶體驗。但是如果你在一個站點部署了GC,那麼可能會產生額外的複製流量,在站點之間使用有限的網絡帶寬的情況下,從林內的其他域中複製大量的對象時會出現一些網絡上的問題,爲了避免這種問題,可以在每個站點部署一臺2008級別以上的DC,並將這個站點的"通用組成員身份緩存"啓用。

通用組成員身份緩存的工作原理:

站點中的一臺DC啓用了通用組成員身份緩存,當一個用戶第一次嘗試登陸後,DC會將通用組的信息存儲在本地,這臺DC會從另一個站點中的GC服務器上獲取該用戶的通用組成員身份信息,然後將這些信息緩存並週期性的刷新這些信息,當該用戶下次再嘗試登陸的時候,DC會從本地緩存中獲取該用戶的通用組成員身份信息,而不需要鏈接到另一個站點中的GC獲取信息。緩存在DC中的通用組成員身份信息默認8小時刷新一次,在刷新的緩存信息的時候,DC會向指定的GC發送一個通用組成員身份確認的請求。你可以在NTDS Site Setting屬性中的站點設置裏面啓用"通用組成員身份緩存"。


通用組成員身份緩存能夠在登錄AD域的時候不需要連接到一臺GC去做驗證,所以它令用戶在一個沒有GC的遠程站點登錄域的驗證時間大大減少。不過我們也需要考慮啓用通用組成員身份緩存所帶來的安全性風險,因爲當管理員將某個用戶從通用組中移除了之後,但是通用組成員身份緩存的刷新間隔是8個小時(甚至如果WAN網無法通信了,DC無法從GC獲得最新的信息去刷新緩存),它也不會根據複製操作來刷新緩存信息,如果用戶在這8個小時之內進行訪問,那麼就會給資源帶來風險。此外這種緩存方法有些不可預期的問題,當用戶第一次在遠程站點登錄時,恰好此時GC也處於不可用的狀態,這時候的用戶的驗證過程與之前的登錄驗證過程又是不同的,它無法從GC中獲取用戶的驗證信息。由於這些問題的存在,通用組成員身份緩存是不推薦使用的,微軟推薦將所有的DC都配置成GC。


站點間複製的配置選項

當你創建了一個站點鏈接時,你可以配置幾個選項去幫助管理站點之間的複製,這些選項包括:

  1. 站點鏈接開銷。當站點的複製流量有多條路由的時候,站點鏈接開銷用於管理複製流量的流向,開銷越低的站點鏈接優先權越高。你可以在特定的站點鏈接上配置開銷值來滿足某些要求或條件,比如使用某個站點鏈接會更快更可靠,那麼我們就可以將這個鏈接的開銷值設低一些,讓這條鏈路優先使用。我們通常將慢速鏈接的開銷值設的較高,將快速鏈接的開銷值設的較低,站點鏈接的默認開銷是100.

  2. 複製頻率。站點之間的複製只能通過輪詢的方式,複製夥伴默認會每3小時去輪詢它的上游複製夥伴,去確認是否有變更數據。對一些企業來說,這個時間間隔可能太長了,他們希望目錄的變更數據能夠更快速的複製,我們可以在站點鏈接對象的屬性中修改複製頻率來滿足這個要求,輪詢的最小時間間隔是15分鐘。

  3. 複製計劃。複製計劃默認是全天24小時執行的,但是你可以將複製限制在某特定時間執行,這個需要修改站點鏈接屬性中的複製計劃。


RODC只有針對緩存的用戶和計算機憑證的複製要求,它們使用密碼複製策略去確定哪個用戶或者計算機憑證可能被緩存在服務器上,如果有一條密碼策略允許一個RODC緩存用戶或者計算機的憑證,這個RODC就可以進行驗證和服務票據操作。對於這個問題,你可以建立一個允許列表,列表中包含用戶和計算機憑證,如果某個憑證未緩存在RODC上,那麼RODC會引用一個可寫DC去執行驗證和服務票據操作,如果此站點的計算機賬號未驗證,並且WAN鏈路也無法連通,那麼沒有用戶可以進行驗證,因爲用戶僅能在客戶端計算機被驗證後,才能在域中進行驗證。

想要訪問密碼複製策略,在AD用戶和計算機控制檯的Domain Controllers容器中打開RODC的屬性,然後點擊"密碼複製策略"標籤,RODC的密碼複製策略是由RODC計算機賬號的兩個多值屬性決定的,這兩個屬性被稱爲"允許列表"和"拒絕列表"。如果用戶,計算機或服務賬號在允許列表中,在用戶登錄之後憑證會緩存在RODC上,你可以在允許列表中添加羣組,羣組中的用戶或計算機成員的憑證都可以緩存在RODC上。當有賬號在允許列表和拒絕列表同時出現時,拒絕列表擁有優先權,該賬號的憑證不會在RODC上緩存。

爲了幫助管理密碼複製策略,AD域的Users容器中會建立兩個域本地安全性羣組,一個是Allowed RODC Password Replication Group,這個組的成員可以將密碼複製到域中所有的RODC,這個組默認是沒有組成員的,因此一個新的RODC是不會緩存任何憑證的,如果你想將某些賬號的憑證緩存到域中所有的RODC,那麼只需要將這些賬號加入到這個羣組即可。另一個羣組是Denied RODC Password Replication Group,此羣組中的成員不允許將密碼複製到域中所有的RODC,這個組默認會將一些安全敏感賬號加入其中,包括Domain Admins,Enterprise Admins,Schema Admins等。


監視和管理複製時可使用的工具:

在你部署好複製配置後,你需要監視,優化和故障診斷複製的運行狀況,有兩個非常有用的工具可以幫助報告和分析複製的運行狀況,一個是複製診斷工具Repadmin.exe,另一個是目錄服務器診斷工具Dcdiag.exe。

複製診斷工具Repadmin.exe:

Repadmin.exe是一個命令行工具,可用來報告每個DC的複製狀態,Repadmin.exe生成的信息能夠幫助發現林中潛在的複製問題,你可以查看詳細到特定對象和屬性的複製元數據級別的信息,幫助你發現在什麼時間修改了AD域的什麼位置導致了複製問題,你甚至可以使用Repadmin.exe建立一個複製拓撲,然後強制在DC之間進行復制。

Repadmin.exe有很多中命令去執行特定的任務,具體的命令參數我們可以通過"repadmin /?:參數"來查看某個參數所能實現的功能。我們可以通過Repadmin.exe執行下面的一些複製監視任務:

  1. 顯示指定DC的複製夥伴。我們可以通過命令repadmin /showrepl DCName .默認情況Repadmin只會顯示入站的連接,如果加了參數/repsto則可以同時顯示出站的連接,例如repadmin /showrepl dc01 /repsto。

  2. 顯示指定DC的鏈接對象。repadmin /showconn DCName 此命令用於顯示指定DC的鏈接對象,例如repadmin /showconn dc01。

  3. 顯示關於對象的元數據,包括對象的屬性和複製。你可以通過在不同的DC上檢查同一個對象,根據它們在各自DC上已有的和沒有的屬性,來進一步瞭解複製的情況。repadmin /showobjmeta DCName ObjectDN  例如repadmin /showobjmeta DC01 "cn=james,cn=users,dc=contoso,dc=com",你可以在另外一臺DC02上也運行這個命令,然後將兩邊顯示的信息進行對比查看複製的數據有哪些相同和不同的地方。這個命令的DC名可以用*代替,這表示從所有的DC上抓取此對象的數據。

Repadmin.exe也可以用來修改你的複製基礎架構,主要有下面幾種命令:

  1. 發起KCC計算。使用repadmin /kcc去強制KCC對服務器的入站複製拓撲重新計算。

  2. 在兩個複製夥伴之間進行強制複製。你可以通過repadmin.exe在源DC和目標DC之間強制某個分區的複製,命令格式 repadmin /replicate 目標DC名 源DC名 分區名稱, 例如repadmin /replicate DC01 DC02 "cn=configuration,dc=adatum,dc=com",這條命令會將DC02上的配置分區複製到DC01上。

  3. 將某個DC與所有的複製夥伴同步。使用命令repadmin /syncall DC /A /e將DC與所有複製夥伴同步,包括非本站點的DC。比如repadmin /syncall DC01 /A /e,表示將DC01上的所有目錄分區與所有複製夥伴同步,包括跨站點的DC,其中/A表示所有目錄分區,如果不用這個參數就只會同步配置分區,/e表示跨站點同步,沒有這個參數就只會同步本站點的複製夥伴。


目錄服務診斷工具:

Dcdiag.exe是一個目錄服務診斷工具,它被用來對AD複製和安全性的整體健康狀態進行測試和報告。如果命令不帶參數只運行dcdiag.exe,那麼會執行一個摘要性的測試並報告測試結果,而相反如果帶了參數/c,執行命令dcdiag /c則會執行幾乎所有的目錄診斷測試,這些測試的報告可以導出到文件中查看,文件可以有多種類型,比如txt,xml等。

你也可以指定測試的類型,這需要使用命令dcdiag /test:測試名,與複製直接相關的一些參數如下:

  1. FrsEvent.報告所有FRS複製的操作錯誤。

  2. DFSREvent.報告所有DFS複製系統的操作錯誤。

  3. Intersite.檢查阻止或延時站點複製的錯誤信息。

  4. KccEvent.標識出KCC的錯誤信息。

  5. Replication.檢查DC直接的實時複製。

  6. Topology.檢查複製拓撲是否完全與所有DC連接。

  7. VerifyReplicas。驗證所有擁有副本的DC上所有應用程序目錄分區是否已完全實例化


AD複製的幾條Powershell命令:

Get-ADReplicationConnection 此命令可以根據篩選條件獲取指定AD複製的鏈接或一組AD複製連接對象

Get-ADReplicationFailure 此命令顯示AD複製錯誤的描述

Get-ADReplicationPartnerMetadata 此命令用於顯示目標DC複製夥伴的複製元數據

Get-ADReplicationSite 根據篩選條件獲取指定的AD複製站點或一組複製站點對象

Get-ADReplicationSiteLink 根據篩選條件獲取指定的AD站點鏈接或一組站點鏈接

Get-ADReplicationSiteLinkBridge根據篩選條件獲取指定的AD站點鏈接橋或一組站點鏈接橋

Get-ADReplicationSubet根據篩選條件獲取指定的AD子網或一組AD子網

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