在 Linux 上连接昆明理工大学 KMUST-Auto 校园 Wi-Fi 时,可能会遇到一个比较隐蔽的问题:账号和密码确认无误,但系统仍然一直无法连接。
这类问题不一定是账号密码错误。
实际排查中发现,KMUST-Auto 使用的是企业级 WPA2 802.1X 认证,部分较新的 Linux 系统可能会因为 OpenSSL / wpa_supplicant 默认安全策略较高,无法兼容学校认证服务器的旧 TLS/cipher 配置。
本文记录一次完整排查和解决过程。
问题现象
连接 KMUST-Auto 时,系统反复认证失败,NetworkManager 可能提示:
Passwords or encryption keys are required to access the wireless network 'KMUST-Auto'
或者一直停留在认证阶段,无法获取 IP。
确认过以下信息后,问题仍然存在:
- 校园网账号正确
- 校园网密码正确
- Wi-Fi 信号正常
- 同一账号在其他设备上可以使用
KMUST-Auto 的网络类型
KMUST-Auto 用的是企业级认证网络:
安全类型:WPA2 802.1X
EAP 方法:PEAP
二阶段认证:MSCHAPv2
需填写校园网账号和上网密码。
推荐基础配置
如果使用 NetworkManager,先确认或设置如下配置:
nmcli connection modify KMUST-Auto \
802-11-wireless-security.key-mgmt wpa-eap \
802-1x.eap peap \
802-1x.identity '<校园网账号>' \
802-1x.phase2-autheap mschapv2 \
802-1x.system-ca-certs no
关键修复
真正解决问题的是这个参数:
nmcli connection modify KMUST-Auto \
802-1x.openssl-ciphers 'DEFAULT:@SECLEVEL=0'
这个参数会降低该 Wi-Fi 连接在 OpenSSL 中使用的安全级别,使客户端能够兼容较旧的 802.1X/RADIUS 认证服务器。
完整修正命令如下:
nmcli connection modify KMUST-Auto \
802-1x.phase2-auth "" \
802-1x.phase2-autheap mschapv2 \
802-1x.openssl-ciphers 'DEFAULT:@SECLEVEL=0' \
802-11-wireless.cloned-mac-address permanent \
802-11-wireless.mac-address-randomization never
然后重新连接:
nmcli connection up KMUST-Auto
为什么这样能解决
较新的 Linux 发行版通常使用较新的 OpenSSL 和 wpa_supplicant。默认安全级别提高后,客户端可能会拒绝某些旧版 RADIUS/802.1X 认证服务器使用的 TLS/cipher 配置。
此时即使账号和密码完全正确,认证握手也可能失败,看起来像是“密码错误”或“需要重新输入密码”。
DEFAULT:@SECLEVEL=0 的作用是针对这个 NetworkManager 连接降低 OpenSSL 安全级别,从而兼容旧认证服务器。
验证连接
连接成功后,可以检查 Wi-Fi 状态:
nmcli device status
查看 IP、网关和 DNS:
nmcli device show wlp0s20f3
测试网络连通性:
ping -c 2 223.5.5.5
ping -c 2 metc.kust.edu.cn
如果能够获取校园网 IP,并且可以 ping 通外网或学校站点,说明连接已经正常。
如果仍然失败
如果执行以上配置后仍然无法连接,可以继续检查:
- EAP 方法是否为
PEAP - 二阶段认证是否为
MSCHAPv2 - 是否关闭了随机 MAC / 私有 Wi-Fi 地址
- 是否错误启用了 CA 证书校验
- 账号是否被校园网系统限制或绑定
- 该账号是否已达到同时在线设备数量上限
也可以删除旧配置后重新创建:
nmcli connection delete KMUST-Auto
然后通过图形界面或 nmcli 重新连接。
总结
KMUST-Auto 在 Linux 上无法连接时,如果账号密码确认无误
对于较新的 Linux 系统,排查方向是:
PEAP + MSCHAPv2 + 关闭随机 MAC + OpenSSL SECLEVEL 兼容
其中最关键的一项通常是:
nmcli connection modify KMUST-Auto \
802-1x.openssl-ciphers 'DEFAULT:@SECLEVEL=0'
参考
- 昆明理工大学现代教育技术中心说明页:https://metc.kust.edu.cn/info/1262/2221.htm
- NetworkManager 802.1X 设置文档:https://www.networkmanager.dev/docs/api/latest/settings-802-1x.html