简介
本文档介绍如何对Windows上的Umbrella漫游客户端的HTTP代理进行故障排除。
先决条件
要求
本文档没有任何特定的要求。
使用的组件
本文档中的信息基于Windows上的Umbrella漫游客户端。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
概述
在Umbrella部署中的部分或全部计算机上,Umbrella漫游客户端未正确注册。您会注意到这一点,因为机器上的Umbrella漫游客户端托盘图标处于红色状态,或者Umbrella漫游客户端未按预期显示在控制面板中。此外,您当前或曾经在网络中使用HTTP代理。如果客户端正在漫游,则它们已通过HTTP代理联机。
您当前运行的是HTTP代理:Umbrella漫游客户端使用“SYSTEM”用户,因为它作为系统服务运行,并且您已经通过组策略对象(GPO)或其他远程监控和管理(RMM)工具推送了配置设置,该工具向组织中的用户提供特定于用户的HTTP代理设置。此外,您的网关防火墙中具有默认拒绝规则,这些规则不允许HTTP/HTTPS流量,除非流量通过代理。
您过去曾运行HTTP代理:“SYSTEM”用户以前曾在某个时间设置过HTTP代理设置,现在该代理不再存在。由于代理不再存在,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 Roaming Client注册。
本地连接设置
编辑注册表
根据您的Windows Server版本,使用前面提到的步骤,使用MMC控制台并选择正确的组。
如果您的Windows Server版本没有这些设置,您可以通过注册表修改或删除此设置,以便在全局级别(多台计算机)清除此设置。
HKEY_USERS
.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections\DefaultConnectionSettings
删除GPO中的连接设置
此屏幕截图是用于旧版应用程序的IE的早期版本的一个示例。从GPO或本地设置中删除代理值将允许Umbrella漫游客户端连接并注册为系统用户(遵循这些IE代理设置)。
删除代理值
如果其中任何一种方法不起作用,请通过控制面板打开Umbrella支持通知单并参阅此文章。