1. 模擬環(huán)境
根域?yàn)閏ontoso.msft,dc為dc1.contoso.msft,dc2.contoso.msft同時也是GC,所處站點(diǎn)site 1;
子域?yàn)閏hild.contoso.msft,dc為child-dc.child.contoso.msft,所處站點(diǎn)site 2不是GC;在域child.contoso.msft上有用戶john用于驗(yàn)證本實(shí)驗(yàn)!
2. Gc存儲著森林中所有域的域分區(qū)的所有對象的部分屬性
同時還存儲著林中所有通用組的成員列表,在域用戶登錄的過程中和查詢過程中,GC發(fā)揮著重要的作用;或者可以說沒有GC域用戶在一般情況下就不能登錄,這里為什么說是在一般情況下,因?yàn)橛刑乩ê竺嬖僬f)!
先說說域用戶的登錄過程和GC的關(guān)系:首先域用戶要想登錄成功,必須從所在域的dc那里成功構(gòu)建“安全訪問令牌”,沒有這個安全訪問令牌域用戶是不能登錄的;那么這個域用戶所在域的dc是如何來為用戶成功構(gòu)建安全訪問令牌呢?要成功構(gòu)建安全訪問令牌必須滿足三個條件:
a. 從dc那里取得這個域用戶的SID
b. 從DC那里取得這個域用戶所具有的權(quán)限
c. 取得這個域用戶的所屬組:包括本地域組、全局組、通用組;本地域組和全局組可以向dc查詢,但是通用組只有由DC向GC去查詢,因?yàn)橹挥蠫C存儲了通用組的成員列表;這里不管這個用戶是否屬于某個通用組,都要去查詢GC來確定這個用戶是否屬于某個通用組。
綜合以上三個因素,所以當(dāng)GC不在線的情況下,即使當(dāng)前域的dc是ok的,當(dāng)前域的dns是ok的,同樣用戶不能登錄域!
結(jié)合實(shí)例就是:當(dāng)contoso.msft中的dc2.contoso.msft(同時也是GC)宕機(jī)的情況下,其子域中的用戶john是不能登錄其所在的域child.contoso.msft的,即使child-dc.child.comtoso.msft是正常的!
例外:
a 域管理員組的成員不受此限制
b 登陸過的客戶端可以使用本機(jī)的緩存來登錄
c 2003的域模式如果為默認(rèn)的混合模式,在這種情況下通用組是不可用的,所以這個時候是不用去查詢GC來確定通用組的情況的!
3. 通用組成員緩存
那如何在GC不在線的情況下,也能讓域用戶順利登錄呢?
解決問題的方法就是使用通用組成員緩存(當(dāng)然了,在每個站點(diǎn)都設(shè)置GC就不提了,這樣做就要考慮硬件成本,畢竟GC會復(fù)制大量信息;單域的情況下除外,單域中建議所有的dc都提升為GC,這個時候是不會增加復(fù)制流量的);要想在GC不在線的情況下,域用戶也能登錄;那就必須使用緩存,使用客戶機(jī)的緩存(前提是此用戶必須在這個客戶機(jī)上登錄)或使用dc緩存(這樣即使此用戶沒有在這臺客戶機(jī)上登錄,也能登錄;當(dāng)然了要有緩存信息的話,必須要在域中的某個地方登錄);這個緩存在dc上信息的可以在dc上看的到的。
4.驗(yàn)證
首先在child-dc.child.contoso.msft上新建一個用戶john,然后在dc上看一下;這個用戶的msds-cached-membership屬性,是空的,是not set!這個屬性就是緩存用戶的通用組和全局組的信息的!
a. 首先來看一下,在哪里設(shè)置通用組成員緩存
b. 禁用dc2.contoso.msft的網(wǎng)卡(相當(dāng)于GC不可用),在域child.contoso.msft內(nèi)用用戶john在xp客戶端登錄,這時會發(fā)現(xiàn)登錄不了(即使這個時候dc和dns都是ok的)
c. 啟用GC,用john在child-dc.child.contoso.msft上登錄(沒有多余的客戶端了,前提是修改默認(rèn)域控制器策略允許john在本地登錄),以讓child-dc.child.contoso.msft從GC上緩存該用戶的通用組和全局組的信息!
這個時候john用戶在child-dc.child.contoso.msft上是可以登錄的;注銷;用administrator登錄看看這個用戶的緩存的信息:
d. 禁用GC,在xp客戶端上用john登錄!這個時候你會發(fā)現(xiàn)即使gc不在線,即使這個用戶以前沒有在xp這臺客戶端上登錄過(一點(diǎn)要在本域的其他地方登陸過),它照樣能登錄成功。
根域?yàn)閏ontoso.msft,dc為dc1.contoso.msft,dc2.contoso.msft同時也是GC,所處站點(diǎn)site 1;
子域?yàn)閏hild.contoso.msft,dc為child-dc.child.contoso.msft,所處站點(diǎn)site 2不是GC;在域child.contoso.msft上有用戶john用于驗(yàn)證本實(shí)驗(yàn)!
2. Gc存儲著森林中所有域的域分區(qū)的所有對象的部分屬性
同時還存儲著林中所有通用組的成員列表,在域用戶登錄的過程中和查詢過程中,GC發(fā)揮著重要的作用;或者可以說沒有GC域用戶在一般情況下就不能登錄,這里為什么說是在一般情況下,因?yàn)橛刑乩ê竺嬖僬f)!
先說說域用戶的登錄過程和GC的關(guān)系:首先域用戶要想登錄成功,必須從所在域的dc那里成功構(gòu)建“安全訪問令牌”,沒有這個安全訪問令牌域用戶是不能登錄的;那么這個域用戶所在域的dc是如何來為用戶成功構(gòu)建安全訪問令牌呢?要成功構(gòu)建安全訪問令牌必須滿足三個條件:
a. 從dc那里取得這個域用戶的SID
b. 從DC那里取得這個域用戶所具有的權(quán)限
c. 取得這個域用戶的所屬組:包括本地域組、全局組、通用組;本地域組和全局組可以向dc查詢,但是通用組只有由DC向GC去查詢,因?yàn)橹挥蠫C存儲了通用組的成員列表;這里不管這個用戶是否屬于某個通用組,都要去查詢GC來確定這個用戶是否屬于某個通用組。
綜合以上三個因素,所以當(dāng)GC不在線的情況下,即使當(dāng)前域的dc是ok的,當(dāng)前域的dns是ok的,同樣用戶不能登錄域!
結(jié)合實(shí)例就是:當(dāng)contoso.msft中的dc2.contoso.msft(同時也是GC)宕機(jī)的情況下,其子域中的用戶john是不能登錄其所在的域child.contoso.msft的,即使child-dc.child.comtoso.msft是正常的!
例外:
a 域管理員組的成員不受此限制
b 登陸過的客戶端可以使用本機(jī)的緩存來登錄
c 2003的域模式如果為默認(rèn)的混合模式,在這種情況下通用組是不可用的,所以這個時候是不用去查詢GC來確定通用組的情況的!
3. 通用組成員緩存
那如何在GC不在線的情況下,也能讓域用戶順利登錄呢?
解決問題的方法就是使用通用組成員緩存(當(dāng)然了,在每個站點(diǎn)都設(shè)置GC就不提了,這樣做就要考慮硬件成本,畢竟GC會復(fù)制大量信息;單域的情況下除外,單域中建議所有的dc都提升為GC,這個時候是不會增加復(fù)制流量的);要想在GC不在線的情況下,域用戶也能登錄;那就必須使用緩存,使用客戶機(jī)的緩存(前提是此用戶必須在這個客戶機(jī)上登錄)或使用dc緩存(這樣即使此用戶沒有在這臺客戶機(jī)上登錄,也能登錄;當(dāng)然了要有緩存信息的話,必須要在域中的某個地方登錄);這個緩存在dc上信息的可以在dc上看的到的。
4.驗(yàn)證
首先在child-dc.child.contoso.msft上新建一個用戶john,然后在dc上看一下;這個用戶的msds-cached-membership屬性,是空的,是not set!這個屬性就是緩存用戶的通用組和全局組的信息的!
a. 首先來看一下,在哪里設(shè)置通用組成員緩存
b. 禁用dc2.contoso.msft的網(wǎng)卡(相當(dāng)于GC不可用),在域child.contoso.msft內(nèi)用用戶john在xp客戶端登錄,這時會發(fā)現(xiàn)登錄不了(即使這個時候dc和dns都是ok的)
c. 啟用GC,用john在child-dc.child.contoso.msft上登錄(沒有多余的客戶端了,前提是修改默認(rèn)域控制器策略允許john在本地登錄),以讓child-dc.child.contoso.msft從GC上緩存該用戶的通用組和全局組的信息!
這個時候john用戶在child-dc.child.contoso.msft上是可以登錄的;注銷;用administrator登錄看看這個用戶的緩存的信息:
d. 禁用GC,在xp客戶端上用john登錄!這個時候你會發(fā)現(xiàn)即使gc不在線,即使這個用戶以前沒有在xp這臺客戶端上登錄過(一點(diǎn)要在本域的其他地方登陸過),它照樣能登錄成功。