Red Hat Training

A Red Hat training course is available for RHEL 8

第 25 章 手动创建密钥文件格式的 NetworkManager 配置文件

NetworkManager 支持以密钥文件格式存储的配置文件。但是,默认情况下,如果您使用 NetworkManager 工具(如 nmclinetwork RHEL 系统角色或 nmstate API)来管理配置文件,NetworkManager 仍然使用 ifcfg 格式的配置文件。

在下一个主 RHEL 版本中,密钥文件格式将为默认。

25.1. NetworkManager 配置文件的密钥文件格式

NetworkManager 在磁盘上存储连接配置文件时,使用 INI 样式的密钥文件格式。

密钥文件格式的以太网连接配置文件的示例

[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 设置名称,如 nm-settings(5)nm-settings-keyfile(5) 手册页中所述。该部分中的每一个键值对是手册页设置规范中列出的一个属性。

NetworkManager 密钥文件中的大部分变量都具有一对一映射。这意味着 NetworkManager 属性以相同的名称和格式的变量存储在密钥文件中。不过,也有例外情况,主要是为了使密钥文件语法更易于阅读。有关这些例外的列表,请查看 nm-settings-keyfile(5) 手册页。

重要

出于安全考虑,由于连接配置文件可以包含敏感信息,如私钥和密语,NetworkManager 仅使用 root 拥有的配置文件,并且仅可由 root 读和写。

根据连接配置文件的目的,将其保存在以下目录中:

  • /etc/NetworkManager/system-connections/ :用户创建的持久配置文件的通用位置,也可以对其进行编辑。NetworkManager 将它们自动复制到 /etc/NetworkManager/system-connections/
  • /run/NetworkManager/system-connections/ :用于在重启系统时自动删除的临时配置文件。
  • /usr/lib/NetworkManager/system-connections/ :用于预先部署的不可变的配置文件。当您使用 NetworkManager API 编辑此类配置文件时,NetworkManager 会将此配置文件复制到持久性存储或临时存储中。

NetworkManager 不会自动从磁盘重新加载配置文件。当您以密钥文件格式创建或更新连接配置文件时,请使用 nmcli connection reload 命令告知 NetworkManager 这些变化。