424 字
2 分钟
NixOS 连接过时的企业Wi-Fi
解决部分 802.1X 企业网络配置过旧导致无法通过系统的安全检测
问题来源
如果你在连接一些企业 Wi-Fi 时,看到了包含以下字眼的错误:
- 无法激活连接:确定 AP 安全信息失败
- CA 验证失败
- TLS renegotiation
那么本文或许对你有用。
解决方案
警告这只是凑合用的手段,会增加网络被攻击的风险。如果可以,请让相关管理部门升级网络基础设施。
更改相关的 OpenSSL 配置
在 /etc/nixos 下的 configuration.nix 中增加以下内容:
# 修复:无法连接不遵循规范的的WPA2企业网络 systemd.services.wpa_supplicant.environment.OPENSSL_CONF = pkgs.writeText "openssl.cnf" '' openssl_conf = openssl_init
[openssl_init] ssl_conf = ssl_sect
[ssl_sect] system_default = system_default_sect
[system_default_sect] Options = UnsafeLegacyRenegotiation CipherString = Default:@SECLEVEL=0 '';这段配置的大致行为是:
- 修改了
wpa_supplicant的OpenSSL配置 - 允许不安全的旧式 TLS renegotiation(理论上会增加被中间人利用旧协商缺陷的风险)
- 把 OpenSSL 的加密强度门槛降到最低兼容模式(允许弱加密配置)
然后记得重建系统(如果没有使用 flake 就删掉 --flake):
sudo nixos-rebuild switch --flake .手动添加连接
由于 nmtui 等工具会拒绝连接加密强度低的网络,需要手动增加连接。运行下面的命令:
nmcli connection add type wifi \ con-name "<连接名称(一般和SSID相同)>" \ ifname "*" \ ssid "<网络的SSID>" \ wifi-sec.key-mgmt wpa-eap \ 802-1x.eap peap \ 802-1x.identity "<账号>" \ 802-1x.password "<密码>" \ 802-1x.phase2-auth mschapv2提示请将命令中所有被
<>包裹的部分根据实际情况做出修改。
以下命令适用于使用 WPA-EAP 与 MSCHAPV2 的网络,如果你不确定网络的配置,可以先在手机上尝试登陆。
执行后就可以在“已保存的连接”中看到了。
文章修订历史 (1 次)
查看变更记录
2026-03-07docs: NixOS 连接过时的企业Wi-Fi
06b2220 NixOS 连接过时的企业Wi-Fi
https://rinx.nz/posts/nixos-connect-legacy-enterprise-wifi/