最近西瓜皮在工作中
遇到了兩個(gè)關(guān)于微軟域控制器的問題
第一個(gè)是關(guān)于AD域控集成的DNS解析
第二個(gè)是現(xiàn)網(wǎng)計(jì)算機(jī)終端加入域之后脫域的問題
如果你是運(yùn)維崗或者是即將成為運(yùn)維崗的人,那么希望您花幾分鐘來(lái)了解一下這篇文章,也許會(huì)對(duì)你有一點(diǎn)點(diǎn)幫助。
先交代一下背景
現(xiàn)網(wǎng)有一臺(tái)主域控制器在騰訊云,廣州、廣西、韶關(guān)均為子域控制器,定期與主域控同步數(shù)據(jù),各個(gè)機(jī)構(gòu)之間不能互訪。
由于DNS記錄也會(huì)同步到各個(gè)機(jī)構(gòu),機(jī)構(gòu)之間配置的本地自定義的A記錄互相同步后,導(dǎo)致DNS解析混亂,進(jìn)而導(dǎo)致業(yè)務(wù)訪問故障;
再者就是在計(jì)算機(jī)終端加入域之后,過一段時(shí)間后出現(xiàn)脫域?qū)е聼o(wú)法登錄域賬戶的現(xiàn)象(猜想是當(dāng)終端選擇了優(yōu)先級(jí)權(quán)重相同的其他機(jī)構(gòu)的域控制器進(jìn)行通信,但是因?yàn)榫W(wǎng)絡(luò)不通導(dǎo)致通信失?。浚?。
為了解決有關(guān)域控的問題,順便了解了一下域控的工作機(jī)制與原理,覺得對(duì)我?guī)椭€是挺大的,下面給大家分享一下。
域控
工作機(jī)制與原理
首先我們假設(shè)有兩個(gè)站點(diǎn)分別為Redmond和Denver, 每個(gè)站點(diǎn)有兩個(gè)域控制器,以實(shí)現(xiàn) AD 服務(wù)的高可用性。
編輯

那么我們的屬于Redmond站點(diǎn)的計(jì)算機(jī)是如何加入域控的呢?
Windows 系統(tǒng)使用 DC 定位器進(jìn)程來(lái)查找 AD 域中最近的可用域控制器。它依賴于 DNS 解析以及 AD 站點(diǎn)和子網(wǎng)配置進(jìn)行標(biāo)識(shí)。當(dāng)集成了 AD 的 Windows 計(jì)算機(jī)啟動(dòng)時(shí),將執(zhí)行以下操作以查找最近的域控制器:
01
Windows 計(jì)算機(jī)發(fā)送 DNS 查詢
以請(qǐng)求 _ldap._tcp.dc._msdcs 的 DNS 解析。domain.com(示例:_ldap._tcp.dc._msdcs.contoso.com) SRV 記錄(SRV記錄的作用是說明一個(gè)服務(wù)器能夠提供什么樣的服務(wù),域內(nèi)的計(jì)算機(jī)要依賴DNS的SRV記錄來(lái)定位域控制器?。?/p>
編輯

02
DNS 服務(wù)器進(jìn)行響應(yīng)
DNS 服務(wù)器使用已注冊(cè)的 DNS 記錄列表進(jìn)行響應(yīng)(這些記錄包含 AD 域中的域控制器列表)
編輯

03
Windows 計(jì)算機(jī)查看SRV記錄列表
并根據(jù)分配給記錄的優(yōu)先級(jí)和權(quán)重選擇一個(gè)記錄。它將 然后查詢 DNS 服務(wù)器以獲取所選域控制器的IP地址
04
DNS 服務(wù)器檢查域控制器的 A 記錄
DNS 服務(wù)器檢查域控制器的 A 記錄并使用 IP 地址進(jìn)行響應(yīng)
編輯

05
Windows 計(jì)算機(jī)聯(lián)系選定的域控制器
Windows 計(jì)算機(jī)聯(lián)系選定的域控制器并啟動(dòng)與其通信
編輯

06
域控制器檢查 Active Directory 站點(diǎn)
啟動(dòng)通信時(shí),選定的域控制器將檢查客戶端計(jì)算機(jī)是否屬于其 Active Directory 站點(diǎn)。這是通過將客戶端計(jì)算機(jī)的 IP 地址與 Active Directory 配置的站點(diǎn)和子網(wǎng)進(jìn)行比較來(lái)完成的。?
在這里,將有兩種可能的情況:
一、Windows 計(jì)算機(jī)和選定的域控制器屬于同一 Active Directory 站點(diǎn):在此情況下,將發(fā)生以下情況:
選定的域控制器為客戶端計(jì)算機(jī)提供站點(diǎn)名稱
編輯

Windows 計(jì)算機(jī)緩存其 AD 站點(diǎn)的名稱和所用域控制器的名稱。只要所選域控制器可用,就會(huì)使用它。Windows 計(jì)算機(jī)不再需要在每次需要時(shí)重新執(zhí)行本地化過程 與域控制器通信。
二、Windows 計(jì)算機(jī)和選定的域控制器不屬于同一 Active Directory 站點(diǎn):在此情況下,將發(fā)生以下情況:
01
域控制器為客戶端計(jì)算機(jī)提供站點(diǎn)名稱
選定的域控制器為客戶端計(jì)算機(jī)提供站點(diǎn)名稱,并通知它不是最近的域控制器
編輯

02
?Windows 計(jì)算機(jī)發(fā)送 DNS 查詢
?Windows 計(jì)算機(jī)發(fā)送 DNS 查詢以請(qǐng)求DNS 解析為ldap._tcp.Computer_Site_Name._sites.dc._msdcs.domain.com(例如:_ldap._tcp.denver._sites.dc._msdcs.contoso.com) SRV 記錄
編輯

03
DNS 服務(wù)器進(jìn)行響應(yīng)
DNS 服務(wù)器使用已注冊(cè)的 DNS 記錄列表進(jìn)行響應(yīng)(這些記錄包含 AD 站點(diǎn)中的域控制器列表)
編輯

04
Windows 計(jì)算機(jī)查看 SRV 記錄列表
Windows 計(jì)算機(jī)查看 SRV 記錄列表,并根據(jù)分配給記錄的優(yōu)先級(jí)和權(quán)重選擇一個(gè)記錄。然后,它將查詢 DNS 服務(wù)器以獲取所選域控制器的 IP 地址
編輯

05
DNS 服務(wù)器檢查域控制器的 A 記錄
DNS 服務(wù)器檢查域控制器的 A 記錄并使用 IP 地址進(jìn)行響應(yīng)
編輯

06
Windows 計(jì)算機(jī)聯(lián)系選定的域控制器
Windows 計(jì)算機(jī)聯(lián)系選定的域控制器并啟動(dòng)與其通信
編輯

注1:如果 Windows 計(jì)算機(jī)無(wú)法與選定的域控制器通信,它將嘗試根據(jù)分配給 SRV 記錄的優(yōu)先級(jí)和權(quán)重聯(lián)系另一個(gè)域控制器。
注2:如果 Windows 計(jì)算機(jī)已緩存其 AD 站點(diǎn),并且想要本地化新的域控制器(例如:當(dāng)前正在使用的域控制器不再可用),則它將直接從步驟 7 開始(我們參考 到上圖所示的步驟)
注3:Windows 計(jì)算機(jī) AD 站點(diǎn)存儲(chǔ)在以下注冊(cè)表項(xiàng)中:HKLM\System\CurrentControlSet\Services\Netlogon\Parameters\DynamicSiteName
問題
解決思路
總結(jié)起來(lái)用通俗易懂的話概括就是,計(jì)算機(jī)終端先通過DNS查詢SRV記錄,然后查看SRV記錄列表根據(jù)優(yōu)先級(jí)與權(quán)重選擇一個(gè)記錄,進(jìn)一步查詢獲取控制器的IP,然后與控制器完成通信,并產(chǎn)生緩存信息。
在了解了以上工作原理之后,再回過頭來(lái)看問題
(1)??? 由于各個(gè)機(jī)構(gòu)之間是網(wǎng)絡(luò)隔離的,為了規(guī)避計(jì)算機(jī)終端查詢到其他機(jī)構(gòu)域控制器的SRV記錄,將它的夢(mèng)想扼殺在搖籃里,那么是否可以做到修改本地域控制器的SRV/DNS記錄,但是不同步到其他機(jī)構(gòu),也就是子域DNS不同步到主域或者是其他子域呢????以實(shí)現(xiàn)本地域控制器DNS的A記錄個(gè)性化定制。
理論上說是可以的,
主域控上的所有DNS區(qū)域都會(huì)自動(dòng)復(fù)制過來(lái)----如果DNS創(chuàng)建時(shí)勾選了AD集成, 他就會(huì)復(fù)制到域或林中所有的DC上。
是否復(fù)制到域控決定于這個(gè)DNSzone是否是AD集成的。
編輯

以下西瓜皮做了驗(yàn)證:
如韶關(guān)新建了兩個(gè)主要區(qū)域做測(cè)試
編輯

南寧幫忙在南寧子域控上查看發(fā)現(xiàn)確實(shí)只同步了sgtest1.com,沒有同步非集成區(qū)域sgtest.com
編輯

同理,可以在本地域控將主區(qū)域改成非集成區(qū)域,刪除其他機(jī)構(gòu)的A記錄和SVR記錄,即可解決其他機(jī)構(gòu)新建自定義的主區(qū)域同步到其他機(jī)構(gòu)的問題,以及加域的時(shí)候查詢到其他機(jī)構(gòu)域控的SVR記錄的問題?。?/p>
(2)??? 另外,如果想讓終端不查詢其他域控制器,或者還可以通過修改注冊(cè)表指定本地計(jì)算機(jī)的AD站點(diǎn)(猜想,暫未驗(yàn)證)
\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters
編輯

關(guān)于最近遇到的域控問題,
就此記錄分享一下吧,
如果文中有錯(cuò)誤,
還請(qǐng)指正一下。
之后打算分享個(gè)用power shell寫的自動(dòng)加域的腳本。