手动创建 NetworkManager 连接文件失败(错误:未知连接)

手动创建 NetworkManager 连接文件失败(错误:未知连接)

客观的:我正在尝试通过命令行使用 NetworkManager 0.9.4 建立 3G 连接。我之前已经成功了(看到这个问题)通过 nm-applet(X 中的 GUI)设置连接,但现在我需要在许多机器上复制此操作,因此希望通过命令行来完成此操作,作为安装 bash 脚本的一部分,该脚本除其他外还执行此操作。

我的做法:我编写了一个 bash 脚本来创建此连接文件并将其放置在/etc/NetworkManager/system-connections/

[connection]
id=viettel
uuid=df62d4f8-0699-11e5-8996-ab1b9b4c6754
type=gsm
autoconnect=false
[ppp]
lcp-echo-failure=5
lcp-echo-interval=30
[ipv4]
method=auto
[serial]
baud=115200
[gsm]
number=*99#
password-flags=1
apn=e-connect

该文件看起来与之前由 GUI 工具创建的(工作)文件完全相同。

我添加了monitor-connection-files=yes这样/etc/NetworkManager/NetworkManager.conf的内容,以便 NM 在运行时注意到配置文件的更改。

问题:但是,当尝试建立连接 ( sudo nmcli con up id viettel) 时,我收到此错误:

错误:未知连接:viettel。

事实上,当运行sudo nmcli con list查看 NM 知道的连接时,我得到一个空列表:

名称 UUID 类型 时间戳-真实

我看到有些人建议运行来刷新此列表,但该命令在我的系统的最新稳定 NM 软件包中不可用(见下文),并且据我了解,无论如何nmcli con reload都不需要它。monitor-connection-files=yes我尝试重新启动 NM 服务并重新启动,但均未成功。

所以看起来 NM 根本没有在正确的位置寻找连接文件,或者有某种可用连接列表,在添加新文件后没有刷新。

我的问题:如何让 NM 知道新的连接文件?还有其他建议下一步该怎么做吗?

系统信息:我在带有 Raspbian Wheezy 的 Raspberry Pi 2 上运行此程序(所有软件包均已更新)。 NetworkManager 的版本是 0.9.4(我看到有更新的版本可用,但显然没有作为 RPi 的稳定 debian 包发布)

非常感谢您的帮助!

答案1

NetworkManager.conf基本配置文件插件的手册页注释:

为了安全起见,它将忽略除 root 之外的任何用户或组可读或可写的文件。

在这种情况下,结果是“未知连接”。chown您与 root 的连接及其chmod0600 与 NetworkManager 创建的连接相匹配。

更一般地说,连接文件对拼写非常敏感,nmclia)如果出现任何错误,将完全忽略连接;b)不会告诉您正常输出中的拼写错误。不过,请参阅/var/系统日志(默认,可配置)用于 NetworkManager 消息。 NetworkManager 似乎没有注意到自己的权限或所有权更改,因此touch在这些情况下需要重新扫描文件。

我创建的连接文件的行不正确

key-mgmt=wpa2-psk

...该值应该是简单的“WPA-PSK“并且只有日志文件告诉我问题出在哪里:

9月17日12:26:05 ahost NetworkManager[2477]:密钥文件:更新/etc/NetworkManager/system-connections/ATT2
9月17日12:26:05 ahost NetworkManager[2477]:密钥文件:错误:无效或丢失连接属性“密钥” -管理'

相关内容