Windows XP 故障排除工具
Windows XP 中用于诊断无线连接的工具是“网络连接”文件夹和跟踪。
“网络连接”文件夹
“网络连接”文件夹和 Windows XP 通知图标提供了关于身份验证状态的信息。 如果某次身份验证需要用户提供附加信息,比如从多个用户证书中作出选择,则会显示一个文本气球来通知用户。 在“网络连接”文件夹中,对应于无线网络适配器的连接名称下面的文本指明了该连接的状态。
图 1 显示了对 Windows XP“网络连接”文件夹中的某个无线连接可用的信息。
图 1 “网络连接”文件夹中的一个无线网络连接
在 Windows XP Service Pack 2 (SP2) 中,“修复”功能已经针对无线连接作了增强。 您可以通过无线连接的修复上下文菜单选项或通过某个连接的状态对话框的支持选项卡上的修复按钮来访问“修复”功能。 当您修复某个无线连接时,它将被禁用然后再被启用,这样可以清除无线网络适配器上的许多错误。
当运行 Windows XP 的无线客户端尝试建立无线连接时,它将经历以下身份验证状态,这些状态在“网络连接”文件夹和新的无线连接状态对话框以及无线网络连接对话框中表示为该无线连接的状态:
正在验证身份需要用于连接到无线网络的凭据。
正在尝试身份验证 正在与无线网络交换凭据,以便对无线连接进行身份验证。
身份验证没有成功 用于连接到无线网络的凭据无效,身份验证失败。
已连接 用于连接到无线网络的凭据有效。
在身份验证成功之后,运行 Windows XP SP2 的无线客户端就会尝试获得一个有效的 IP 地址配置,并经历下列状态,这些状态在“网络连接”文件夹和新的无线连接状态对话框以及无线网络连接对话框中表现为该无线连接的状态:
正在获取网络地址 正在使用动态主机配置协议 (DHCP) 来获得 IP 地址配置。
受限或没有连接 无法联系到 DHCP 服务器,并且被分配到一个 169.254.0.0/16 范围内的“自动专用 IP 寻址”(APIPA) 地址。 无线特定 (ad-hoc) 网络不会显示这个状态,这些网络通常没有 DHCP 服务器。 相反,无线特定网络连接的状态将显示为“已连接”。
已连接 已联系到 DHCP 服务器,并获得一个有效的 IP 地址配置。
这些改进为用户和网络故障排除人员提供了关于无线连接进展情况(从最初的联系到有效 IP 地址的分配)的更多信息。
如果无线连接获得一个 APIPA 地址,Windows XP SP2 将使用如下消息在桌面通知区域发出警告:“该连接受限或没有连接。 您可能无法访问 Internet 或某些网络资源。 有关更多信息,请单击这个消息。” 当您单击这个消息时,Windows XP 将显示该无线连接的状态对话框的支持选项卡,您可以通过该选项卡查看附加细节或尝试修复该连接。
此外,当您获得该连接的状态时,可以在常规选项卡上查看信号强度,在支持选项卡上查看 IP 地址配置。 如果无线适配器具有一个“自动专用 IP 寻址”(APIPA) 地址 (169.254.0.0/16) 或已配置的备用 IP 地址,则身份验证已经失败,而 Windows XP 无线客户端仍在联系无线 AP。 如果身份验证失败,而联系仍在进行,则无线适配器将被启用,TCP/IP 将执行常规的配置过程。 如果没有找到 DHCP 服务器,它将自动配置一个 APIPA 或备用地址。
对于 Windows 2000 Service Pack 4 (SP4) 或更高版本,或者带 Microsoft 802.1X Authentication Client 的 Windows 2000 Service Pack 3 (SP3),可使用 Ipconfig 工具来显示无线网络适配器的适配器状态和 IP地址配置。
跟踪
为了获得关于 Windows XP“无线零配置”(Wireless Zero Configuration) 服务和 EAP 身份验证过程的详细信息,您必须在命令提示符下使用以下命令来启用跟踪:
netsh ras set tracing * enabled
为了获得关于“无线零配置”服务如何连接到无线网络的详细信息,可再次尝试建立该无线连接并查看 SystemRoot\Tracing 文件夹中的 Wzcdlg.log 和 Wzctrace.log 文件。
为了获得关于 EAP 身份验证过程的详细信息,可再次尝试身份验证过程,然后查看 SystemRoot\Tracing 文件夹中的 Eapol.log 和 Rastls.log 文件。
有关跟踪的更多信息,请参见本文中的“IAS 故障排除工具”。
对于 Windows 2000,您可以使用相同的方法来启用跟踪,以便查看 SystemRoot\Tracing 文件夹中的 Rastls.log 文件。
服务器名称
对于 Windows XP SP1、Windows XP SP2、Windows Server 2003 或 Windows 2000 SP4,您可以在“智能卡或其他 EAP 类型”的属性的连接到这些服务器中指定必须对无线客户端进行身份验证的服务器名称,该选项可在无线网络属性的身份验证选项卡上找到。 服务器的名称必须与身份验证服务器的名称相匹配,否则身份验证就会失败。 图 2 显示了 Windows XP SP1、Windows XP SP2 和 Windows Server 2003 中的“智能卡和其他证书”EAP 类型的默认属性。
图 2 Windows XP SP1、Windows XP SP2 和 Windows Server 2003 中的“智能卡和其他证书”EAP 类型的属性
对于没有安装 Service Pack 的 Windows XP 和 Windows 2000,如果无线客户端正在验证服务器证书(默认是启用的),而服务器名称结尾为如下时,才连接字符串不正确,身份验证就会失败。 在对应于无线 LAN 网络适配器的无线连接的属性中,在身份验证选项卡上的“智能卡和其他证书”EAP 类型的属性中检验该字符串是否正确。 图 3 显示了没有安装 Service Pack 的 Windows XP 和 Windows 2000 中的“智能卡和其他证书”EAP 类型的默认属性。
图 3 没有安装 Service Pack 的 Windows XP 中的“智能卡和其他证书”EAP 类型的属性
有关 Windows XP 无线客户端问题的一般疑难解答,请参见 Microsoft 知识库文章Q313242“How to Troubleshoot Wireless Network Connections in Windows XP”。
对于基于 Windows Server 2003 的无线客户端,您可以使用新的“无线监视器”(Wireless Monitor) 管理单元,它可用于查看无线 AP 和无线客户端事件信息。
无线 AP 故障排除工具
用于诊断无线 AP 的工具取决于随无线 AP 提供的工具集和管理软件。 例如:
有些无线 AP 提供了信号强度分析工具,您可以使用它们来诊断低信号强度和覆盖区域问题。
无线 AP 也可能提供一个 PING 功能,它使用标准或专用的无线协议来检查无线 AP 的可达性。
无线 AP 还可能支持简单网络管理协议 (SNMP) 和 802.11 管理信息基 (MIB)。
有关无线 AP 故障排除工具和技术的更多信息,请参见随无线 AP 一起提供的文档。
IAS 故障排除工具
为了帮助您搜集信息以便排除 IAS 问题,可以使用以下故障排除工具:
IAS 事件日志记录和事件查看器
网络监视器
跟踪
SNMP 服务
系统监视器计数器
IAS 事件日志记录和事件查看器
为了在系统事件日志中诊断 IAS 身份验证尝试,请确保启用所有类型的 IAS 事件(拒绝、放弃和成功的身份验证事件)的日志记录。 这在“Internet 验证服务”管理单元中的 IAS 服务器属性的服务选项卡上是默认启用的。
下面是成功的身份验证事件的一个说明性示例(事件来源:IAS,事件 ID:1):
User client@example.com was granted access.
Fully-Qualified-User-Name = example.com/Users/Client
NAS-IP-Address = 10.7.0.4
NAS-Identifier =
Client-Friendly-Name = Building 7 Wireless AP
Client-IP-Address = 10.7.0.4
NAS-Port-Type = Wireless-IEEE 802.11
NAS-Port = 6
Policy-Name = Wireless Remote Access Policy
Authentication-Type = EAP
EAP-Type = Smart Card or other Certificate
失败的身份验证事件为:“事件来源:IAS,事件 ID: 2”。
查看这个日志中的身份验证尝试对于诊断远程访问策略是有用的。 当您配置了多个远程访问策略时,可以使用系统事件日志来确定接受或拒绝连接尝试的远程访问策略的名称(参见事件描述中的 Policy-Name)。 启用 IAS 事件日志记录并阅读系统事件日志中的 IAS 身份验证事件的文本,对于诊断失败的 IAS 身份验证最为有用。
网络监视器
可以使用 Microsoft Systems Management Server 或 Windows 2000 Server 和 Windows Server 2003 系列中提供的“网络监视器”来捕捉和查看发送到 IAS 服务器以及从 IAS 服务器发出的 RADIUS 身份验证和记帐消息。 “网络监视器”包括一个 RADIUS 分析器,您可以使用该分析器来查看 RADIUS 消息的属性和诊断连接问题。
跟踪
Windows Server 2003 具有一个全面的跟踪功能,您可以使用该功能来诊断特定组件的复杂问题。 您可以在 Windows Server 2003 启用那些组件,以便使用 Netsh 命令将特定组件或所有组件的跟踪信息记录到文件中。 为了启用或禁用特定组件的跟踪,可以使用如下语法:
netsh ras set tracingComponentenabled|disabled
其中Component 是在注册表中的 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Tracing 下面找到的组件列表中的某个组件。 例如,为了启用 IASRAD 组件的跟踪,该命令应该是:
netsh ras set tracing iasrad enabled
虽然您可以逐个启用组件跟踪,但是一次启用所有组件的跟踪,然后查看以“IAS”开头的日志文件和 Rastls.log 文件,这样通常更加有用。
为了启用所有组件的跟踪,可使用以下命令:
netsh ras set tracing * enabled
为了禁用所有组件的跟踪,可使用以下命令:
netsh ras set tracing * disabled
生成的日志文件将存储在 Systemroot\tracing 文件夹中。
跟踪会消耗系统资源,因而应该谨慎地将跟踪用于帮助识别网络问题。 在捕捉到跟踪信息或识别出问题之后,应该立即禁用跟踪。 不要在多处理器计算机上将跟踪保留为启用状态。
SNMP 服务
可以使用“简单网络管理协议”(SNMP) 服务来监视 IAS 服务器的状态信息。 IAS 支持“RADIUS 身份验证服务器 MIB (RFC 2619)”和“RADIUS 记帐服务器 MIB (RFC 2621)”。
系统监视器计数器
可以使用“系统监视器”来监视特定组件和程序进程的资源使用情况。 有了“系统监视器”,您可以使用图表和报告来判断服务器对 IAS 的使用效率如何,并且同时识别和诊断潜在的问题。
可以使用“系统监视器”来监视下列 IAS 相关的性能对象:
IAS 记帐客户端
IAS 记帐服务器
IAS 身份验证客户端
IAS 身份验证服务器
诊断 IAS 身份验证和授权
为了诊断最常见的 IAS 身份验证和授权问题,可检验以下内容:
无线 AP 是否能够访问 IAS 服务器。
为测试这点,可尝试从 IAS 服务器 ping 无线 AP 的未受控制的端口的 IP 地址。 此外,还要确保 IPSec 策略、IP 数据包筛选器和限制网络流量的其他机制没有阻止 RADIUS 消息(UDP 端口 1812 和 1813)在无线 AP 和为其配置的 IAS 服务器之间的交换。
每个 IAS 服务器/无线 AP对都配置了一个公共的共享机密。
如果使用第三方证书颁发机构,则检验 IAS 服务器是否能够访问 Interent 资源来执行它自己的计算机证书和无线客户端证书的证书吊销检查。 有关更多信息,请参见 “Enterprise Deployment of Secure 802.11 Networks Using Microsoft Windows”中的“使用第三方 CA”。
IAS 服务器能够访问全局编录服务器和 Active Directory 域控制器。
IAS 服务器的计算机帐户是相应域的“RAS 和 IAS 服务器”组的成员。
用户或计算机帐户没有被锁定、过期、被禁用,或者建立连接的时间符合允许的登录时间。
用户帐户没有被远程访问帐户锁定所锁定。
远程访问帐户锁定是一个身份验证计数,是一种设计用于防止用户密码遭受在线字典攻击的锁定机制。 有关更多信息,请参见“Internet Authentication Service for Windows 2000”白皮书中的“Remote Access Account Lockout”,地址为: http://www.microsoft.com/windows2000/techinfo/howitworks/communications/remoteaccess/ias.asp.
连接已获得授权。 对于授权,连接尝试的参数必须:
至少匹配一个远程访问策略的所有条件。
通过用户帐户(设置为允许访问)被授予远程访问权限,或者如果对该用户帐户选中了通过远程访问策略控制访问选项,那么必须对第一个匹配的远程访问策略的远程访问权限选中授予远程访问权限选项。
匹配配置文件的所有设置。
匹配用户或计算机帐户的拨入属性的所有设置。
为了获得拒绝连接尝试的远程访问策略的名称,请确保启用 IAS 事件日志记录,并查找事件来源为 IAS、事件 ID 被设置为 2的事件。在事件消息的文本中,查找 Policy-Name 字段后面的远程访问策略名称。
如果将 Active Directory 域从混合模式改为本机模式,IAS 服务器将不再能够验证合法的连接请求。 您必须重新启动域中的每个域控制器来复制该变更。
验证无线客户端的证书
为便于 IAS 服务器验证无线客户端的证书,无线客户端发送的证书链中的每个证书的以下条件必须为真:
当前日期必须在证书的有效期内。
证书在颁发时被赋予一系列的有效期,在该有效期之前,证书不能被使用,在该有效期之后,证书被视为过期。
证书没有被吊销。
已颁发的证书可以在任何时间吊销。 每个颁发 CA 通过发布一个最新的证书吊销列表 (CRL),维护一个不再被视为有效的证书的列表。 默认情况下,IAS 服务器检查无线客户端的证书链(从无线客户端证书到根 CA 的证书系列)中的所有证书的吊销情况。 如果证书链中的任何证书已被吊销,证书验证就会失败。 这个行为可以通过本主题中稍后将要描述的注册表设置来修改。
为了在“证书”管理单元中查看某个证书的 CRL 分发点,可使用证书属性,单击详细信息选项卡,然后再单击 CRL 分发点字段。
证书吊销验证仅在 CRL 发布时和分发系统中才会起作用。 如果不经常更新证书中的 CRL,已吊销的证书仍然可以使用并被视为有效,因为 IAS 检查的已发布 CRL 已经过期。
证书具有有效的数字签名。
CA 会对它们颁发的证书进行数字签名。 IAS 服务器通过从证书的颁发 CA 获得公钥,然后执行数学计算来验证数字签名,从而检验证书链中每个证书(根 CA 证书例外)的数字签名。
无线客户端证书还必须具有“客户端身份验证”证书目的(也称为增强型密钥用法 [Enhanced Key Usage,EKU])(OID 1.3.6.1.5.5.7.3.2),并且证书的“使用者备用名称”属性中必须包含一个有效用户帐户的 UPN 或者一个有效计算机帐户的 FQDN。
为了在“证书”管理单元中查看某个证书的 EKU,请在内容窗格中双击该证书,单击详细信息选项卡,然后单击增强型密钥用法字段。 为了在“证书”管理单元中查看某个证书的“使用者备用名称”属性,请在内容窗格中双击该证书,单击详细信息选项卡,然后单击使用者备用名称字段。
最后,为了信任无线客户端提供的证书链,IAS 服务器必须在其“受信任的根证书颁发机构”存储区中安装无线客户端证书的颁发 CA 的根 CA 证书。
此外,IAS 服务器会检验“EAP-响应/身份”(EAP-Response/Identity) 消息中发送的身份是否与证书的“使用者备用名称”属性中的名称相同。 这样可以防止恶意用户伪装成一个不同于“EAP-响应/身份”消息中指定的用户。
IAS 服务器上的 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RasMan\PPP\EAP\13 中的下列注册表设置可以修改 EAP-TLS 在执行证书吊销时的行为:
IgnoreNoRevocationCheck
当设置为 1 时,即使 IAS 没有执行或无法完成客户端的证书链中的证书(根证书除外)吊销检查,它也允许 EAP-TLS 客户端建立连接。 通常,吊销检查会因为证书没有包括 CRL 信息而失败。
IgnoreNoRevocationCheck 默认被设置为 0(禁用)。 除非服务器完成了客户端的证书链(包括根证书)的吊销检查,并确认没有任何证书已被吊销,否则 EAP-TLS 客户端就不能建立连接。
当证书没有包括 CRL 分发点时(比如那些第三方颁发的证书),您可以使用这个注册表条目来对客户端进行身份验证。
IgnoreRevocationOffline
当设置为 1 时,即使存储 CRL 的服务器在网络上不可用,IAS 也会允许 EAP-TLS 客户端建立连接。 IgnoreRevocationOffline 默认被设置为 0。 除非 IAS 完成了客户端的证书链的吊销检查,并确认没有任何证书已被吊销,否则它就不允许客户端建立连接。 当 EAP-TLS 无法连接到存储吊销列表的服务器时,它就会认为该证书的吊销检查已经失败。
将 IgnoreRevocationOffline 设置为 1 可以防止证书验证因为糟糕的网络条件阻止了吊销检查的成功完成而失败。
NoRevocationCheck
当设置为 1 时,IAS 阻止 EAP-TLS 执行无线客户端证书的吊销检查。 吊销检查检验无线客户端的证书以及它的证书链中的证书是否已被吊销。 NoRevocationCheck 默认被设置为 0。
NoRootRevocationCheck
当设置为 1 时,IAS 阻止 EAP-TLS 执行无线客户端的根 CA 证书的吊销检查。 NoRootRevocationCheck 默认被设置为 0。 这个条目仅取消客户端的根 CA 证书的吊销检查。 吊销检查仍然会针对无线客户端的证书链中的其余证书照常执行。
当证书没有包括 CRL 分发点时(比如那些第三方颁发的证书),您可以使用这个条目来对客户端进行身份验证。 而且,这个条目还可以在证书吊销列表离线或过期时防止证书相关的延迟。
所有这些注册表设置都必须作为 DWORD 类型来添加,并具有有效值 0 或 1。无线客户端不使用这些设置。
验证无线客户端的 MS-CHAP v2 凭据
当使用 PEAP-MS-CHAP v2 而不是 EAP-TLS 来进行身份验证时,无线客户端发送的用户名和密码必须与一个有效的用户帐户的凭据相匹配。 IAS 服务器对 MS-CHAP v2 凭据的成功验证依赖以下条件:
用户名的域部分对应于 IAS 服务器所在的域,或者与 IAS 服务器所在的域具有双向信任的域。
用户名的帐户名部分对应于域中的一个有效帐户。
密码是该帐户的正确密码。
为了检验凭据,可让无线客户端的用户使用一台已经连接到网络的计算机登录他们的域,比如使用一个以太网连接(如果可能的话)。
验证 IAS 服务器的证书
为了使无线客户端验证 IAS 服务器的证书来进行 EAP-TLS 或 PEAP-MS-CHAP v2 身份验证,IAS 服务器发送的证书链中的每个证书的以下条件必须为真:
当前日期必须在证书的有效期内。
当证书被颁发时,它们被赋予一系列有效期,在有效期之前,证书不能被使用,在有效期之后,证书被视为已经过期。
证书具有有效的数字签名。
CA 要对它们颁发的证书进行数字签名。 无线客户端通过从证书的颁发 CA 获得公钥,然后执行数学计算来验证数字签名,从而检验证书链中每个证书的数字签名。
此外,IAS 服务器计算机证书还必须具有“服务器身份验证 EKU”(OID 1.3.6.1.5.5.7.3.1)。 为了在“证书”管理单元中查看某个证书的 EKU,可在内容窗格中双击该证书,单击“详细信息”选项卡,然后单击“增强型密钥用法”字段。
最后,为了信任 IAS 服务器提供的证书链,无线客户端必须在其“受信任的根证书颁发机构”存储区中安装 IAS 服务器证书的颁发 CA 的根 CA 证书。
注意无线客户端不会对 IAS 服务器的计算机证书的证书链中的证书执行证书吊销检查。 这里假设无线客户端还没有建立到网络的物理连接,因而无法访问 Web 页或其他资源来检查证书吊销情况。
结束语
本文描述了用于诊断 IEEE 802.11 无线连接的不同工具和技术。 对于 Windows XP,可使用“网络连接”和跟踪功能中的信息。 对于无线 AP,可使用 AP 的诊断功能。 对于 IAS,可使用事件日志记录、记帐日志记录、网络监视器和跟踪功能。 为了诊断 IAS 验证和证书验证,可使用本文中提供的列表和信息。