我学校的 wifi 网络使用 PEAP 802.1x 身份验证,但没有 CA 证书,也没有 Phase2 身份验证。
我的问题是 NetworkManager 不支持没有 Phase2 身份验证。我尝试过进入/etc/NetworkManager/system-connections/*connection*
并手动设置phase2-auth=none
或phase2-auth=false
完全忽略它,但似乎不起作用。当我重新启动 NetworkManager 时,它不再看到该配置文件,因为我认为它出错了。这似乎是一个众所周知的“错误”,已经存在多年了,所以我想 NetworkManager 根本就不可能做到这一点。
我也尝试过使用 Connman,但没有成功。如果可以使用 Connman,有人可以指导我如何进行设置吗?
我并没有离不开 NetworkManager,如果有办法通过 wpa_supplicant、iw 或其他方式做到这一点,我非常愿意这样做。
谢谢你的帮助。
答案1
所以看来这个问题在 NetworkManager 中已经存在多年了。我无法与 Connman 或任何其他“网络管理器”连接。
直接配置 wpa_supplicant 就可以实现这一点:
- 创建一个 wpa_supplicant.conf 文件。我的是
*ssid*.conf
将以下内容添加到文件:
ctrl_interface=DIR=/var/wpa_supplicant network={ ssid="*ssid*" key_mgmt=WPA-EAP eap=PEAP phase2="none" identity="*username*" password="*password*" }
现在运行
wpa_supplicant
并将其指向配置。确保其他“网络管理器”(如 NetworkManager)已关闭,如果无线接口已关闭,请先启用它。$ sudo wpa_supplicant -B -i *interface* -c *ssid*.conf
现在您只需设置标准 ip 网络信息。最简单的方法就是使用 dhcp。
我必须这样做,这很烦人,但我已经编写了一个可以自动执行此操作的小脚本。当我想连接到学校 wifi 时,我只需运行它即可。
来源:https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/1578589和https://wiki.archlinux.org/index.php/WPA_supplicant