在 Linux 中连接到没有 phase2-auth 的 802.1x EAP-PEAP 无线网络

在 Linux 中连接到没有 phase2-auth 的 802.1x EAP-PEAP 无线网络

我学校的 wifi 网络使用 PEAP 802.1x 身份验证,但没有 CA 证书,也没有 Phase2 身份验证。

我的问题是 NetworkManager 不支持没有 Phase2 身份验证。我尝试过进入/etc/NetworkManager/system-connections/*connection*并手动设置phase2-auth=nonephase2-auth=false完全忽略它,但似乎不起作用。当我重新启动 NetworkManager 时,它不再看到该配置文件,因为我认为它出错了。这似乎是一个众所周知的“错误”,已经存在多年了,所以我想 NetworkManager 根本就不可能做到这一点。

我也尝试过使用 Connman,但没有成功。如果可以使用 Connman,有人可以指导我如何进行设置吗?

我并没有离不开 NetworkManager,如果有办法通过 wpa_supplicant、iw 或其他方式做到这一点,我非常愿意这样做。

谢谢你的帮助。

答案1

所以看来这个问题在 NetworkManager 中已经存在多年了。我无法与 Connman 或任何其他“网络管理器”连接。

直接配置 wpa_supplicant 就可以实现这一点:

  1. 创建一个 wpa_supplicant.conf 文件。我的是*ssid*.conf
  2. 将以下内容添加到文件:

    ctrl_interface=DIR=/var/wpa_supplicant
    network={
        ssid="*ssid*"
        key_mgmt=WPA-EAP
        eap=PEAP
        phase2="none"
        identity="*username*"
        password="*password*"
    }
    
  3. 现在运行wpa_supplicant并将其指向配置。确保其他“网络管理器”(如 NetworkManager)已关闭,如果无线接口已关闭,请先启用它。

    $ sudo wpa_supplicant -B -i *interface* -c *ssid*.conf
    
  4. 现在您只需设置标准 ip 网络信息。最简单的方法就是使用 dhcp。

我必须这样做,这很烦人,但我已经编写了一个可以自动执行此操作的小脚本。当我想连接到学校 wifi 时,我只需运行它即可。

来源:https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/1578589https://wiki.archlinux.org/index.php/WPA_supplicant

相关内容