問題背景:
某企業用戶連續反映客戶端在登陸時與AD驗證時異常緩慢,主要有以下現像:
2015年12月份反映,Windows XP/2003在登陸域時非常慢,需要耗費1-3分鐘的時間,組策略加載不成功
由於該公司本地環境中沒有部署DC,需要通過其他地區的服務器(用戶與服務器之間通過專線連接帶寬爲40M)進行驗證請求。該網絡環境滿足AD與客戶之間的網絡需求,理論上不會對客戶端通多DC驗證產生任何影響,爲此,我們對問題進行詳細分析。
==============================================
Windows XP客戶端在登陸域是,輸入用戶名和密碼進行登陸後,進入到桌面花費的時間較長,大約需要1-3分鐘左右的時間。長時間停留在“正在應用計算機設置”和“正在應用個人設置”窗口。
Windows XP在註銷後重新登陸問題依舊
Windows XP在斷開網絡的情況下可以很快進入到桌面
Windows 7客戶端一切正常
問題分析過程
===================================================
在存在問題的客戶端App enevt log 存在1054 錯誤ID
從問題現象來看,這是一個比較典型的加載組策略異常的問題。在問題客戶端的註冊表中創建以下鍵值,開啓組策略Debug Log:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Nt\CurrentVersion\WinLogon
名稱:UserEnvDebugLevel
類型:DWORD
值:10002(十六進制)
重啓計算機並等到登陸到桌面後,在C:\Windwos\Debug目錄中查看userenv.log,可以看到以下信息:
上圖中的Log是Windows XP系統判斷網絡質量的行爲。用戶在通過域登陸時,在進入到桌面之前需要去加載組策略,但是在加載組策略之前,系統首先要判斷客戶端與域控之間的網絡質量。而在Windows XP/2003中,客戶端判斷與DC之間的網絡是一個fast link還是slow link是通過ping來決定的,具體行爲是:客戶端首先會對目標域控發送一個0字節的ping,之後再發送一個2048字節的ping,共重複六次。在上圖log中可以看到整個ping的過程持續了半分多鐘,這也是爲什麼XP的客戶端登陸慢的主要原因。另外在Windows Vista以後版本的操作系統中,已經不再使用ping來判斷網絡質量,所以Windows 7登陸速度就很正常。
上圖的log中也可以看到,客戶端在”Second send”一直是“fail”狀態,“sendcond send”即發送一個2048字節的MTU,“fail”即表示ping超時。我們直接在客戶端cmd中執行一個2048字節的MTU,可以看到確實無法ping通:
而普通的ping是夠能正常通信的:
經過確認該網絡對MTU值是存在限制的,MTU值爲2048的網絡包不能正常通信是導致這個問題的主要原因。講網絡MTU值調整爲大於2048改問題順利解決。
下面是關於windows如何判定一個網絡是否爲慢速鏈接的參考: