RADIUS wifi 在具有域用户的 Windows 8.1 和 Windows 10 上不起作用

RADIUS wifi 在具有域用户的 Windows 8.1 和 Windows 10 上不起作用

编辑:

我能够缩小问题范围。显然这不是 Surface 的问题,而是 Windows 8.1(可能 8 也是)和 10 的问题。我最初没有发现这个问题,因为我先用非域笔记本电脑和用户测试了 Windows 8.1。

当我使用本地用户帐户时,连接到 RADIUS wifi 可以完美运行。当我尝试使用域用户帐户(我尝试了一个具有本地管理员权限的帐户和一个没有本地管理员权限的帐户)时,它无法连接。请注意,我说的是域而不是 AD,因为我们仍在使用 Samba 3。

原来的:

我们正在使用 FreeRADIUS 服务器(带 MSChapv2 的 PEAP)运行半径 wifi 网络。它在所有机器上都运行良好(在 Windows 7 和 8.1、Android 4.3、Arch Linux 上测试过),除了我们所有的 Surface Pro 3。Windows 机器使用完全相同的设置,因为 wifi 设置是使用 powershell 脚本自动完成的。我也尝试过多次使用不同的选项手动配置它。我们正在为 FreeRADIUS 服务器使用由我们公司的自定义证书颁发机构签名的证书。我已经验证了 CA 是否已正确安装在 Windows 中,并且还尝试了不验证证书的连接。

这是 FreeRADIUS 日志文件中显示的内容:

Wed Jul 15 10:32:52 2015 : Auth: Login OK: [someuser] (from client stg-wlan-core port 0 via TLS tunnel)
Wed Jul 15 10:32:55 2015 : Auth: Login incorrect: [someuser] (from client stg-wlan-core port 217 cli C0-33-5E-33-10-8F)

如果您在 FreeRADIUS 上使用调试,则会显示以下内容:

[eap] EAP packet type response id 221 length 43
[eap] Continuing tunnel setup.
++[eap] returns ok
Found Auth-Type = EAP
# Executing group from file /etc/freeradius/sites-enabled/default
+- entering group authenticate {...}
[eap] Request found, released from the list
[eap] EAP/peap
[eap] processing type peap
[peap] processing EAP-TLS
[peap] eaptls_verify returned 7
[peap] Done initial handshake
[peap] eaptls_process returned 7
[peap] EAPTLS_OK
[peap] Session established.  Decoding tunneled attributes.
[peap] Peap state send tlv success
[peap] Received EAP-TLV response.
[peap] Client rejected our response.  The password is probably incorrect.
[peap] We sent a success, but received something weird in return.
[eap] Handler failed in EAP/peap
[eap] Failed in EAP select
++[eap] returns invalid
Failed to authenticate the user.
Login incorrect: [someuser] (from client stg-wlan-core port 112 cli 50-1A-C5-F4-F6-87)
Using Post-Auth-Type Reject

它说密码不正确。我不确定它说的是哪个密码,因为我确定用户帐户存在并且密码是正确的。

从表面追踪:

[500] 07-15 10:19:48:898: RasEapCreateConnectionProperties, eap type id = 26
[500] 07-15 10:19:48:899: CopyXmlDoc returned: 0x0
[500] 07-15 10:19:48:899: ReadConnectionData
[500] 07-15 10:19:48:900: Setting the defaults to use win-logon
[500] 07-15 10:19:48:900: Use Winlogon credentials is set to No
[500] 07-15 10:19:48:900: Successfully generated blob for MSChapV2 Connection Properties
[500] 07-15 10:19:49:831: RasEapCreateConnectionProperties, eap type id = 26
[500] 07-15 10:19:49:831: CopyXmlDoc returned: 0x0
[500] 07-15 10:19:49:832: ReadConnectionData
[500] 07-15 10:19:49:833: Setting the defaults to use win-logon
[500] 07-15 10:19:49:833: Use Winlogon credentials is set to No
[500] 07-15 10:19:49:833: Successfully generated blob for MSChapV2 Connection Properties
[500] 07-15 10:19:49:843: RasEapCreateConnectionProperties, eap type id = 26
[500] 07-15 10:19:49:843: CopyXmlDoc returned: 0x0
[500] 07-15 10:19:49:844: ReadConnectionData
[500] 07-15 10:19:49:845: Setting the defaults to use win-logon
[500] 07-15 10:19:49:845: Use Winlogon credentials is set to No
[500] 07-15 10:19:49:845: Successfully generated blob for MSChapV2 Connection Properties
[500] 07-15 10:19:50:109: InitLSA.
[500] 07-15 10:19:50:109: InitLSA: returning 0x0
[500] 07-15 10:19:50:109: ChapInit: exit: fInitialize=0x1, g_dwRefCount = 0x1, g_hLsa = 0x1147e5d0
[500] 07-15 10:19:50:109: EapMSCHAPv2Initialize Exit: fInitizlize = 1, dwRefCount = 0x1,
[500] 07-15 10:19:50:109: EapMSCHAPv2Initialize: fInitizlize = 0, dwRefCount = 0x1,
[500] 07-15 10:19:50:109: ChapInit: fInitialize=0x0, g_dwRefCount = 0x1, g_hLsa = 0x1147e5d0
[500] 07-15 10:19:50:135: RasEapGetIdentity
[500] 07-15 10:19:50:135: ReadUserData
[500] 07-15 10:19:50:135: NULL user blob is passed, size: 0
[500] 07-15 10:19:50:135: ReadConnectionData

我能想到的唯一原因是 wifi 适配器或其驱动程序存在问题。如果您有任何想法或需要更多信息,请告诉我。

答案1

问题是您无法再配置 Windows 8 和 Windows 10 以使用 GUI 中的所需设置。

为了解决这个问题

您可以从 Windows 7 客户端导出配置文件并将其导入 Windows 8 和/或 10 客户端。

  1. 在 Windows 7 客户端上打开命令提示符
  2. 输入以下命令

    netsh wlan show profiles
    
  3. 从显示的列表中选择要导出的配置文件(WiFi 半径)

  4. 使用以下命令导出

    netsh wlan export profile <profile name>
    

    这会将配置文件导出到 xml 文件。

  5. 找到 XML 文件并将其复制到 Windows 8 和 Windows 10 客户端

  6. 使用以下命令导入它:

    netsh wlan add profile <profile name>.xml
    
  7. 输入相应的凭证即可完成。

笔记:有时我需要删除 Windows 8 和/或 10 客户端中的旧(无效)配置文件:

netsh wlan delete profile <invalid profile>

笔记:有时可能需要重新启动

答案2

这不是 radius 问题。我认为当 Windows 8-10 连接到类似 samba Nt4 的域时,这是凭据存储的问题。如果 Windows 8-10 连接到本地用户帐户(而不是来自域),radius 服务器和网卡将正常工作。

答案3

我的联想 ThinkPad Yoga 14(英特尔 N 7265)也遇到过类似的问题。我安装了最新的 PROSet 软件 (18.30) 驱动程序,并通过 PROSet 连接到 Wi-Fi。这似乎为我解决了问题。

相关内容