Windows 7客户端在多个AP间漫游时会被要求重新输入用户名和密码

在一些比较大型的公司,一般会部署很多个AP来保证无线信号的覆盖范围。为了避免混淆,这些AP通常都使用相同的SSID。

 

默认情况下Windows客户端会使用当前登录账号进行无线认证。但是在某些环境中,客户使用本地账号(非域账号)登录计算机。在连接无线网络时,由于本地账号验证失败,用户会收到弹框要求输入正确的域用户名和密码。此时用户再手工输入另一个域账号连接无线网络。

 

正常情况下,用户在多个AP信号范围间漫游时,Windows客户端会使用用户手工输入的域账号自动进行验证。

 

但是在一些环境中,我们发现Windows 7客户端漫游时会反复弹出对话框要求用户重新输入用户名和密码。Windows XP系统不会出现该问题。

 

针对这个问题,我们收集了RRAS日志加以分析。分析后发现:

A.从第一次(手工输入用户名和密码)验证之后,计算机又自动用相同的域账号验证了很多次。

B.后续的这些验证对用户透明(均在后台自动完成)。这些验证是由于用户在多个AP之间漫游产生的。

C.用户发现验证对话框弹出是在第四次后台验证失败后产生的。第四次验证失败的日志如下:

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

[2184] 09-20 18:26:58:728: No Credentails passed

[2184] 09-20 18:26:58:728: RasEapGetInfo

[2184] 09-20 18:26:58:728: EAP-TLS using All-purpose cert

[2184] 09-20 18:26:58:728: Self Signed Certificates will not be selected.

[2184] 09-20 18:26:58:728: EAP-TLS will accept the All-purpose cert

[2184] 09-20 18:26:58:728: EapTlsInitialize2: PEAP using All-purpose cert

[2184] 09-20 18:26:58:728: PEAP will accept the All-purpose cert

[2184] 09-20 18:26:58:728: Read Mui string failed, reading friendly name from registry

[2184] 09-20 18:26:58:728: PeapEapInfoInvokeIdentityUI API call failed with error code 703

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

以上高亮部分的错误信息从字面意思理解,我们会认为Windows 7客户机没有发送出用户凭证。

 

但同时我们又注意到这次失败验证和之前的几次成功验证一样,用户确实使用了 “domain\admin”的用户凭证。至此我们可以确认Windows 7客户端的行为没有异常。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

[2]03E4.1638::?2011?-?09?-?20 18:27:08.534
[Microsoft-Windows-EapHost]RasEapGetIdentity Exit: returning identity(domain\admin)

[2]03E4.1638::?2011?-?09?-?20 18:27:08.534
[Microsoft-Windows-EapHost]GetIdentity returning domain\admin

[0]03C8.05A4::?2011?-?09?-?20 18:27:08.535
[Microsoft-Windows-OneX]Port(8): Identity being sent in the ResponseId packet
is domain\admin

[0]03C8.0A24::?2011?-?09?-?20 18:27:08.569
[Microsoft-Windows-WLAN-AutoConfig]Wireless 802.1x authentication failed. Network Adapter: Intel(R) Centrino(R)
Advanced-N 6200 AGN Interface GUID: {ab66b96a-dc58-4dce-ab84-c039c9274e84} Local MAC Address: 18:3X:XX:XX:XA:88 Network SSID: CorpWifi@DOMAIN BSS Type: Infrastructure Peer MAC Address: 28:9X:XX:XX:XF:11 Identity: domain\admin User: admin-domain Domain: domain Reason: Explicit Eap failure received Error: 0x0
EAP Reason: 0x0 EAP Root cause
String: EAP Error: 0x0
  

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

因此,我们怀疑是MAC地址为28:9X:XX:XX:XF:11的AP设备工作异常从而返回了EAP Failure。

 

该MAC是Cisco的设备所有,在Cisco网站上我们发现了以下文档。该文档描述了CiscoACS5在处理Window 7客户端PEAP验证请求时的一个bug。

https://www.cisco.com/en/US/docs/net_mgmt/cisco_secure_access_control_system/5.2/release/notes/acs_52_rn.html#wp191433

 CSCtj31250          Windows7 PEAP fast reconnect fails with ACS5

 

最终解决方法是在Cisco 设备上安装该文档中提到的补丁文件。

 

本文中提到的RRAS日志的详细信息请参考下面的文章:

Troubleshooting IEEE 802.11 Wireless Access with MicrosoftWindows https://technet.microsoft.com/zh-cn/library/bb457017(en-us).aspx

 

本博文仅供参考,微软公司对其内容不作任何责任担保或权利赋予