我最近将我的 Wifi 路由器的固件升级为支持 WPA3 的固件,然后我尝试通过在“安全”选项卡上选择“WPA3 个人”来调整运行 20.04.1 的笔记本电脑上的相应 WiFi 连接设置(“详细信息”选项卡显示路由器按预期宣传了 WPA3 支持)。
尽管删除并重新创建连接配置文件并多次重启,我的笔记本电脑始终通过 WPA2 连接(路由器 UI 报告)。一个明显的迹象是“安全”选项卡上的下拉设置会切换回“WPA 和 WPA2 个人版”。
我的笔记本电脑硬件支持 WPA3;由于一些旧设备尚不支持 WPA3,因此必须将路由器设置为混合模式 (WPA2+WPA3)。固件升级后,我的 iPhone 和其他 iOS 设备立即利用了 WPA3。
其他 WPA3 问题与 18.04 相关;20.04 附带的网络管理器版本 (1.22.10) 应该开箱即用地支持 WPA3。
答案1
我发现解决此问题最干净的方法是使用nmcli
。
首先识别您现有的 wifi 连接(我们假设它被称为mywifi
):
nmcli conn show
NAME UUID TYPE DEVICE
mywifi xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx wifi wlp1s0
...other connections here...
然后,我们使用 nmcli 交互式编辑器来修复key-mgmt
正在使用的问题,如下所示:
nmcli conn edit xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx
===| nmcli interactive connection editor |===
Editing existing '802-11-wireless' connection: 'mywifi'
nmcli> print wifi-sec.key-mgmt
802-11-wireless-security.key-mgmt: wpa-psk
nmcli> describe wifi-sec.key-mgmt
=== [key-mgmt] ===
[NM property description]
Key management used for the connection. One of "none" (WEP), "ieee8021x" (Dynamic WEP), "wpa-psk" (infrastructure WPA-PSK), "sae" (SAE) or "wpa-eap" (WPA-Enterprise). This property must be set for any Wi-Fi connection that uses security.
nmcli> set wifi-sec.key-mgmt sae
nmcli> verify
Verify connection: OK
nmcli> save persistent
Connection 'mywifi' (xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx) successfully updated.
此后可能需要重新启动。
背景信息:
“WPA3 标准用同步平等认证 (SAE) 取代了预共享密钥交换”,维基百科。
实现上述目标的更快方法是通过直接操作连接文件,如下所示:
sudo sed -i -e '/key-mgmt=/s,wpa-psk,sae,' /etc/NetworkManager/system-connections/mywifi.nmconnection
这可能是 NetworkManager 用户界面的一个错误?如果多个用户确认,我会提交缺陷报告。
答案2
我查看了源代码,发现了一个例子适用于 WPA3 (SAE)。
您必须使用 NetworkManager 后端才能使其工作。
network:
version: 2
renderer: NetworkManager
wifis:
wlpXXX:
dhcp4: yes
access-points:
"MYSSID":
auth:
key-management: "none"
password: "KEYHERE"
networkmanager:
#uuid: "ff9d6ebc-226d-4f82-a485-b7ff83bC0FFE" # please change
passthrough:
wifi-security.key-mgmt: "sae"