如何在 Ubuntu 20.04 中使用 WPA3

如何在 Ubuntu 20.04 中使用 WPA3

我最近将我的 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"

相关内容