Arch 如何连接 USTB-V6

Published on: 2026-07-20

Written by: Siriuns
description: Arch 上, wpa_supplicant 在 OpenSSL 的默认安全策略下无法认证采用 TLSv1.1 及以下的 PEAP Wi-Fi

如何解决

如果网络采用的后端是 wpa_supplicant + OpenSSL, 要连接 USTB-V6 这样的采用 TLSv1.0 老协议的 PEAP Wi-Fi, 需要运行下面这个命令来允许老版本 TLS 协议.

sudo nmcli con mod "USTB-V6" 802-1x.phase1-auth-flags tls-1-0-enable

为什么

在连接 USTB-V6 的时候用 journalctl -f -u wpa_supplicant -u NetworkManager 实时获取日志发现有这样一段内容

SSL: SSL3 alert: write (local SSL3 detected an error):fatal:protocol version
OpenSSL: openssl_handshake - SSL_connect error:0A000102:SSL routines::unsupported protocol

可以看出 TLS(虽然写着是SSL, 实际上是TLS) 的版本有问题. 查了一下发现在 2021.3 的时候 IETF 发布了 RFC8996, 废弃了 TLSv1.0/1.1, 然后 OpenSSL 在 2021.9.7 发布的 3.0.0 版本中默认情况下禁用了 TLSv1.0/1.1, 所以会连接失败.

TLS 是一个传输层安全协议, 在 PEAP 类型的 Wi-Fi 中, 客户端需要先通过 AP 去和 Radius 认证服务器 建立 TLS 隧道, 然后在加密隧道中进行账号密码认证.

在运行完最开始的命令能连接 Wi-Fi 之后再跑一次 journalctl -f -u wpa_supplicant -u NetworkManager | grep 'TLS' 可以发现一开始尝试协商 1.2 版本, 但是最终协商的版本是 1.0.

...
SSL: Using TLS version TLSv1.2
...
SSL: Using TLS version TLSv1
...