NetworkManager 找不到预定义的系统连接文件

NetworkManager 找不到预定义的系统连接文件

我正在使用 pi-gen 为 Rasberry Pi 创建自定义操作系统。

我决定安装 NetworkManager 来管理与默认网络接口(eth0 和 wlan0)的连接/重新连接。

我制作了位于 /etc/NetworkManager/system-connections 的 2 个配置文件,如下所示:

/etc/NetworkManager/system-connections/wifi:

[connection]
id=wifi
uuid=319f2d8e-3ce7-4e47-b6eb-fabb0aa69f68
type=wifi

[wifi]
mode=infrastructure
ssid=Facco

[wifi-security]
auth-alg=open
key-mgmt=wpa-psk
psk=facco2016

[ipv6]
method=disabled

[ipv4]
method=auto

/etc/NetworkManager/system-connections/ethernet:

[connection]
id=ethernet
uuid=60d17e82-1be7-3d0f-b924-e980be41fcba
type=ethernet

[ipv6]
method=disabled

[ipv4]
method=auto

这两个文件完美运行。

之后,我将 2 个配置文件添加到操作系统存储库中,并生成了操作系统映像。

现在,当我启动操作系统时,我可以看到网络管理器正常,但 nmtui/nmtui-edit 根本看不到我复制并粘贴到 /etc/NetworkManager/system-connections 内的 2 个文件。

nmtui 不应该查看系统连接文件夹并找到我粘贴在那里的文件吗?

我有什么遗漏的吗?

答案1

NetworkManager 客户端(如 nmtui)从不直接查看这些文件。它们通常不以 root 身份运行,并且没有读取/修改它们的权限。相反,他们使用 NetworkManager 的 D-Bus API。

欢迎您在编辑器中创建连接配置文件或预部署它们。也就是说,直接配置文件而不是使用 D-Bus API 是非常受支持的,并且您尝试做的事情也很好。

密钥文件文件(其中的连接配置文件/etc/NetworkManager/system-connections)必须由 root 拥有并具有权限0600。使用和来检查文件所有者和权限ls -l并修复它。chownchmod

NetworkManager 无法访问这些文件的可能性较小。例如。我们使用 SELinux 标签。

无论如何,查看 NetworkManager 的日志文件会告诉您为什么它不加载它们。检查系统日志/日志。

例如,在 CentOS 7 中,您可能想查看以下日志文​​件:

tail -f /var/log/messages

要拦截这样的消息:

... keyfile: error loading connection from file /etc/NetworkManager/system-connections/example.conf: File permissions (100644) are insecure

答案2

不是直接为您提供答案,而是为我们其他在互联网上搜索的人提供答案network manager manually configured system-connections file

/etc/NetworkManager/system-connections/eno2.nmconnection使用正确的模式0600和所有者定义后root:root,您需要重新启动 NetworkManager 以获取更新的更改。也许也可以激活它:

sudo systemctl restart NetworkManager.service
sudo nmcli up eno2

相关内容