nmcli配置802.1X失败主因是参数缺失或不匹配:必须先设wifi-sec.key-mgmt为wpa-eap,再配802-1x.eap及对应凭证,且证书路径须为绝对路径。

nmcli 配置 802.1X 接入失败,绝大多数情况不是命令写错,而是关键参数缺失或顺序/类型不匹配——尤其是 wifi-sec.key-mgmt 和 802-1x.eap 必须成对出现,且值必须严格对应认证服务器要求。
必须先设 wifi-sec.key-mgmt 才能启用 802.1X 参数
NetworkManager 不会为普通 WPA-Personal 连接加载 802.1X 字段。如果跳过这步直接设 802-1x.identity,nmcli con modify 不报错,但实际配置不会生效。
-
wifi-sec.key-mgmt必须设为wpa-eap(WPA/WPA2 Enterprise),不能是wpa-psk或留空 - 该参数必须在
802-1x.*系列参数之前或同一条modify命令中设置 - 若连接已存在,建议先用
nmcli con show "Your-Conn"确认当前wifi-sec.key-mgmt值
802-1x.eap 取值决定后续参数组合
EAP 方法不同,需要的凭证类型和二级认证参数完全不同。常见组合有:
-
peap:需配802-1x.phase2-auth(如mschapv2)+802-1x.identity+802-1x.password;不需要证书 -
tls:需配802-1x.client-cert、802-1x.private-key、802-1x.ca-cert;802-1x.identity通常为证书 CN 或空 -
ttls:类似peap,但phase2-auth支持更多选项(如pap、chap) - 错误示例:
802-1x.eap peap却配了802-1x.client-cert—— NetworkManager 会忽略证书字段
密码类字段默认不加密存储,敏感信息要谨慎
802-1x.password 和 802-1x.private-key-password 会明文写入 /etc/NetworkManager/system-connections/ 下的连接文件(即使 root 权限保护)。生产环境应避免硬编码密码。
- 可改用
nmcli con modify "Conn" 802-1x.password-flags 1启用交互式输入(连接激活时弹出提示) - 若脚本自动化部署,建议配合
keyring后端(如gnome-keyring)或使用pkcs#12证书封装私钥+密码,只传802-1x.client-cert -
802-1x.private-key-password仅在私钥受密码保护时才需设置;未加密私钥则绝对不要设此项
连接激活后无响应?检查 journalctl -u NetworkManager 中的真实错误
表面看 nmcli con up 成功,但实际卡在 EAP 阶段。常见日志线索:
-
CTRL-EVENT-EAP-STARTED出现但无后续 → 认证服务器未响应(防火墙、RADIUS 地址错误) -
CTRL-EVENT-EAP-FAILURE→ 用户名/密码错误,或phase2-auth不匹配 -
certificate verify failed→802-1x.ca-cert路径错、证书过期、或服务器证书 CN 不符 - 没有
CTRL-EVENT日志 →wifi-sec.key-mgmt未生效,连接仍走 WPA-Personal 流程
证书路径必须是绝对路径(如 /etc/pki/tls/certs/ca.pem),相对路径会被 NetworkManager 忽略。











