我可以通过 nm-applet 连接到 802.1 网络。我不喜欢这样做,因为我大部分时间都在没有 nm 的情况下运行,并且我不想加载 nm 只是为了连接到无线网络。
连接到 802.1 网络时出现以下错误:
Error: Failed to add/activate new connection: (32) Failed to determine AP security information
我不知道如何解决这个问题,因为 nmcli 似乎没有提供任何指定网络类型的方法。
答案1
您可以使用命令行创建 WPA2 Enterprise 连接nmcli
(将您自己的 wifi 设备名称替换为wlp3s0
,等等):
nmcli connection add \
type wifi con-name "MySSID" ifname wlp3s0 ssid "MySSID" -- \
wifi-sec.key-mgmt wpa-eap 802-1x.eap tls 802-1x.identity "USERNAME" \
802-1x.ca-cert ~/ca.pem 802-1x.client-cert ~/cert.pem \
802-1x.private-key-password "..." 802-1x.private-key ~/key.pem
然后它将列在下面nmcli connection
,并且可以使用 来调出nmcli connection up MySSID
。
使用用户名和密码进行身份验证
(此部分是由编辑帖子的贡献者添加的,很有帮助:)
或者,如果您使用用户名/密码身份验证(可能通过 RADIUS),您可以使用下面的命令来添加它(使用802-1x.eap
适合您网络的正确选项,下面的示例ttls
不需要定义证书),然后使用--ask
第一次连接时将密码保存到连接文件中。
nmcli connection add \
type wifi con-name "MySSID" ifname wlp3s0 ssid "MySSID" -- \
wifi-sec.key-mgmt wpa-eap 802-1x.eap ttls \
802-1x.phase2-auth mschapv2 802-1x.identity "USERNAME"
如果使用用户名/密码选项,您应该在第一次调用--ask
后nmcli
添加它以保存密码,而不是将其保留在命令历史记录中。当您尝试以其他方式提出该问题时,它会给您一条错误消息。使用时,您可能会收到有关其他无线设置的提示--ask
,您可以键入no
它们,除非您需要指定静态 IP,在这种情况下,请回答yes
该选项并设置正确的信息,并且将来您不需要使用--ask
除非您的密码更改。
自行探索 nmcli
一般来说,nmcli
可以通过将单词添加asdf.asdf asdf
到命令行末尾来探索可能的设置空间,以生成一条错误消息,说明哪些单词可以替代第一个asdf
。选择其中一个,然后您将收到一条错误消息,其中列出了第二个的可能的子设置asdf
。选择其中之一,您将看到可能的设置:
$ nmcli connection add ... asdf.asdf asdf
Error: invalid or not allowed setting 'asdf': 'asdf' not among [connection, 802-11-wireless (wifi), 802-11-wireless-security (wifi-sec), 802-1x, ipv4, ipv6].
$ nmcli connection add ... wifi-sec.asdf asdf
Error: invalid property 'asdf': 'asdf' not among [key-mgmt, wep-tx-keyidx, auth-alg, proto, pairwise, group, leap-username, wep-key0, wep-key1, wep-key2, wep-key3, wep-key-flags, wep-key-type, psk, psk-flags, leap-password, leap-password-flags].
$ nmcli connection add ... wifi-sec.proto asdf
Error: failed to modify wifi-sec.proto: 'asdf' not among [wpa, rsn].
通过迭代所有子设置,我能够拼凑出上面显示的成功命令行。令人惊讶的是,密码必须位于私钥路径之前 - 如果您稍后输入密码,则不会产生任何效果!
答案2
无线网络
获取 Wi-Fi 状态
nmcli radio wifi
打开或关闭 wifi
nmcli radio wifi <on|off>
列出要连接的可用接入点 (AP)
nmcli device wifi list
刷新之前的列表
nmcli device wifi rescan
创建与开放 AP 的新连接
nmcli device wifi connect <SSID|BSSID>
创建到受密码保护的 AP 的新连接
nmcli device wifi connect <SSID|BSSID> password <password>
答案3
NetworkManager
可以使用图形前端生成 WPA2 Enterprise 配置文件。 nmcli
并且 nmtui
不支持这一点,但可以使用现有的配置文件。
答案4
nmcli 似乎无法连接到 WPA2 企业网络。网络必须手动配置或通过各种小程序创建。