簡介
本文檔介紹如何對Windows上的Umbrella漫遊客戶端的HTTP代理進行故障排除。
必要條件
需求
本文件沒有特定需求。
採用元件
本文檔中的資訊基於Windows上的Umbrella漫遊客戶端。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
概觀
在Umbrella部署中的部分或全部電腦上,Umbrella漫遊客戶端未正確註冊。您會注意到這一點,因為機器上的Umbrella漫遊客戶端托盤圖示處於紅色狀態,或者儀表板中沒有如預期那樣顯示Umbrella漫遊客戶端。此外,您目前或曾經在您的網路上使用HTTP Proxy。如果客戶端正在漫遊,則它們已通過HTTP Proxy聯機。
您目前執行HTTP Proxy:Umbrella漫遊客戶端使用「SYSTEM」使用者,因為它作為系統服務運行,並且您已經通過組策略對象(GPO)或其他遠端監控和管理(RMM)工具推送了配置設定,該工具向組織中的使用者提供特定於使用者的HTTP代理設定。此外,您的網關防火牆中有預設拒絕規則,這些規則不允許HTTP/HTTPS流量,除非流量通過Proxy。
您過去曾執行HTTP Proxy:「SYSTEM」使用者以前曾設定過HTTP Proxy設定,現在該Proxy已不存在。由於代理不再存在,因此SYSTEM使用者在嘗試通過HTTP/HTTPS訪問資源時收到超時。
這是一個用於檢查SYSTEM使用者許可權的有用工具。使用實用程式完成以下步驟:
1.使用實用程式啟動「C:\Program Files\Internet Explorer\iexplore.exe」。
2.訪問https://api.opendns.com/v2/OnPrem.Asset。
3.查詢不帶任何安全提示的「1005缺少API金鑰」。如果有提示,請確保UDP/TCP 443開啟到「api.opendns.com」、「crl4.digicert.com」、「ocsp.digicert.com」,並且系統中存在DigiCert根CA。
如果您的防火牆限制未經身份驗證的帳戶(如SYSTEM帳戶)訪問必要的站點,則需要免除Umbrella註冊域。由於漫遊客戶端從SYSTEM使用者帳戶呼叫註冊,因此必須開啟此項,Umbrella的先決條件才能進行未經身份驗證的訪問。
症狀
最常見的症狀是無法註冊到儀表板或與Umbrella API同步。這可能導致客戶端從不註冊(因此不進入保護模式),或者停止更新儀表板。
如果您看到這些症狀,請重新啟動漫遊客戶端服務,然後在重新啟動後立即傳送診斷報告日誌以支援工作。客戶端包括僅在啟動時運行的代理檢查。
識別是否有代理
首先檢查日誌。
如果在日誌中,您會看到類似以下內容的日誌條目:
2014-03-14 09:39:43 [2252] [INFO ] Trying to get Device ID from API...
2014-03-14 09:39:43 [2252] [DEBUG] Sending GET to https://api.opendns.com/v3/organizations/XXXXX/roamingdevices/lookup?api-key=XXXXXXXXXXXXXXXXXXXXXXXXXX&deviceKey=XXX&userId=XXXXXXXX&fingerprint=XXXXXXXXXXXXXXXXXXX
2014-03-14 09:39:43 [2252] [ERROR] Error creating DeviceID: The remote name could not be resolved: 'api.opendns.com'
以下內容:
2014-12-08 09:25:27 [5700] [ERROR] POST failed: The operation has timed out
或此項:
2015-03-05 12:41:11 [4084] [ERROR] Error creating DeviceID: Unable to connect to the remote server
代理伺服器設定可能與此相關。
案例 1
日誌顯示無法解析「api.opendns.com」。
The remote name could not be resolved: 'api.opendns.com'
這可能是由以下幾個問題導致的:
- 網路連線上的DNS解析失敗: 如果阻止第三方DNS伺服器,請確保防火牆中允許Umbrella的DNS伺服器。
- 您有一個不允許進行連線的代理伺服器:如果您有一個代理服務器,最好允許清單「*.opendns.com」,這樣它就不會干擾註冊或API同步。
- 埠443/TCP僅限於特定IP範圍:如果使用非常嚴格的防火牆規則,則需要暫時向所有出站連線開啟443/TCP。Umbrella漫遊客戶端需要從GeoTrust IP/域空間獲取SSL證書。
您可以在Umbrella的「漫遊客戶端先決條件」一文中閱讀Umbrella的特定防火牆需求,該文章調出HTTP代理。
案例2和3
日誌顯示無法解析「proxyserver.exampledomain.com」。
2014-03-14 09:39:43 [2252] [ERROR] Error creating DeviceID: The remote name could not be resolved: 'proxy1.exampledomain.com'
日誌顯示它嘗試向Umbrella API("api.opendns.com")傳送資訊,但結果錯誤顯示它嘗試連線到"proxy1.exampledomain.com"
發生這種情況的原因是Umbrella漫遊客戶端使用WebRequest.DefaultWebProxy的.NET framework呼叫使用電腦的「SYSTEM」使用者的代理設定。這通常通過組策略對象(GPO)設定,除非特別刪除此項,否則可以長期保留在登錄檔中。如果此代理伺服器不再存在,或需要更新到其他主機,可以通過以下方法修改設定。
案例 4
日誌顯示以下消息:
Error creating DeviceID: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.
但是,UDP/TCP crl4.digicert.com或ocsp.digicert.com沒有防火牆塊。如果電腦被帶到其他網路(例如移動熱點),則問題繼續存在。
運行此命令以確定是否仍然在此處設定代理:
netsh winhttp show proxy
此代理設定位置被Microsoft加密API v2作為.NET Framework證書驗證的一部分使用。如果此代理已到位,則可能導致此驗證失敗。有關詳細資訊,請參閱Microsoft支援文章「從CRL分發點下載證書吊銷清單(CRL)時加密API代理檢測機制的說明」。
附註:PCI合規性設定和.NET(如果已禁用TLS 1.0)也可能導致場景4。有關詳細資訊,請參閱此Umbrella知識庫文章。
新增或刪除代理設定
警告:此設定通常使用GPO或某種指令碼設定。在單個電腦上設定該選項並不常見。Umbrella建議僅在以下情況下使用此方法:想要在單獨的電腦上進行測試,或者認為此設定對於此電腦是唯一的。請跳至下一個方法,瞭解有關為整個組使用GPO的資訊。
PsExec和Internet Explorer(IE 10或更高版本)
1.下載並解壓PsExec。
2.載入管理命令提示符(右鍵單擊>以管理員身份運行)。
3.使用「cd」更改為提取的PSTools目錄。
cd C:\Path\To\PSTools\
4.運行以下命令以「SYSTEM」使用者身份開啟Internet Explorer:
PsExec.exe /i /s "C:\Program Files\Internet Explorer\iexplore.exe"
以SYSTEM使用者身份運行PsExe.exe
5.從Internet Explorer的設定選單(cog)中開啟Internet選項。
6.在Connections頁籤中,選擇Local Area Network(LAN)Settings,然後根據需要更改或刪除代理設定。
更改或刪除LAN設定中的代理設定
7.依次選擇確定和應用,然後關閉Internet Explorer。
Umbrella漫遊客戶端在大約三分鐘內註冊。
替代方案(登錄檔)
1.檢查HKEY_USERS\S-1-5-18\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections\DefaultConnectionSettings中的金鑰以查詢代理設定。如果存在代理設定,則會導致早期在系統使用者IE連線設定下顯示的代理。
2.要在登錄檔中刪除,請完成以下步驟,從當前使用者複製無代理設定:
1.在HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections\DefaultConnectionSettings中開啟金鑰並複製該值。
2.將其複製到HKEY_USERS\S-1-5-18(SYSTEM使用者)下的同一個金鑰中。
3.重新啟動漫遊客戶端以驗證註冊是否成功。
PsExec和MMC(IE9或更低版本)
1.下載並解壓PsExec。
2.載入管理命令提示符(右鍵單擊>以管理員身份運行)。
3.使用「cd」更改為提取的PSTools目錄。
4.運行此命令:
PsExec.exe /i /s mmc
5.載入MMC後,載入組策略對象管理單元。
GPO管理單元
6.導覽至本地連線設定,然後根據需要更改或刪除代理伺服器資訊。
7.在所有選單上選擇OK,然後Umbrella漫遊客戶端進行註冊。
本地連線設定
編輯登錄檔
根據您的Windows Server版本,使用前面提到的步驟使用MMC控制檯並選擇正確的組可以工作。
如果您的Windows Server版本沒有這些設定,您可以通過登錄檔修改或刪除此設定,以便在全域性級別(多台電腦)清除此設定。
HKEY使用者
.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Internet設定\連線\預設連線設定
刪除GPO中的連線設定
此螢幕截圖是舊版IE用於傳統應用程式的示例。從GPO或本地設定中刪除代理值將允許Umbrella漫遊客戶端連線並以系統使用者身份註冊(受這些IE代理設定約束)。
移除代理值
如果其中任何一種方法都無效,請通過控制面板開啟Umbrella支援票證並參考此文章。