第 37 章 密钥文件格式的 NetworkManager 连接配置文件
默认情况下,Red Hat Enterprise Linux 9 及之后的版本中的 NetworkManager 以 keyfile 格式存储连接配置文件。与已弃用的 ifcfg
格式不同,keyfile 格式支持 NetworkManager 提供的所有连接设置。
37.1. NetworkManager 配置文件的密钥文件格式
keyfile 格式与 INI 格式类似。例如,以下是 keyfile 格式的以太网连接配置文件:
[connection] id=example_connection uuid=82c6272d-1ff7-4d56-9c7c-0eb27c300029 type=ethernet autoconnect=true [ipv4] method=auto [ipv6] method=auto [ethernet] mac-address=00:53:00:8f:fa:66
参数的拼写错误或不正确的放置可能会导致意外行为。因此,请不要手动编辑或创建 NetworkManager 配置文件。
使用 nmcli
工具、network
RHEL 系统角色或 nmstate
API 来管理 NetworkManager 连接。例如,您可以 在离线模式下使用nmcli
工具 创建连接配置文件。
每个部分都对应一个 NetworkManager 设置名称,如 nm-settings(5)
和 nm-settings-keyfile(5)
手册页中所述。该部分中的每一个键值对是手册页设置规范中列出的一个属性。
NetworkManager 密钥文件中的大部分变量都具有一对一映射。这意味着 NetworkManager 属性以相同的名称和格式的变量存储在密钥文件中。不过,也有例外情况,主要是为了使密钥文件语法更易于阅读。有关这些例外的列表,请查看 nm-settings-keyfile(5)
手册页。
为安全起见,因为连接配置文件可以包含敏感信息,如私钥和密码短语,所以 NetworkManager 仅使用 root
用户所拥有的配置文件,并且仅可由 root
读写。
根据连接配置文件的目的,将其保存在以下目录中:
-
/etc/NetworkManager/system-connections/
:持久配置文件的位置。如果您使用 NetworkManager API 修改了持久配置文件,NetworkManager 会写并覆盖此目录中的文件。 -
/run/NetworkManager/system-connections/
:用于在重启系统时自动删除的临时配置文件。 -
/usr/lib/NetworkManager/system-connections/
:用于预先部署的不可变的配置文件。当您使用 NetworkManager API 编辑此类配置文件时,NetworkManager 会将此配置文件复制到持久性存储或临时存储中。
NetworkManager 不会自动从磁盘重新加载配置文件。当您以密钥文件格式创建或更新连接配置文件时,请使用 nmcli connection reload
命令告知 NetworkManager 这些变化。