我正在开发一个系统,在该系统中我们重命名了一些网络接口以确保应用程序的一致性。我们正在努力在安装过程中配置 IP 地址。我通过配置连接做了一些测试,nmtui
似乎有两个用例:
自动命名的接口:
当接口名称具有操作系统指定的名称(示例eno1
)时,连接配置存储在/etc/NetworkManager/system-connections/eno1.nmconnection
重命名接口:
当接口名称已更改时(例如通过在文件中data
提供一个),连接配置将存储在文件中。DEVICE
ifcfg-
/etc/sysconfig/network-scripts/ifcfg-data
现在在这两种情况下,都ifcfg-
存在一个文件。在 的情况下eno1
,文件设置MTU
和ZONE
,在 的情况下data
,它设置NAME
和DEVICE
。
有没有人解释为什么会出现明显的不一致,以及在这两种情况下我应该如何预配置我的接口?
更新:
我已经做了一些进一步的测试,无论是否包含NAME
中的设置ifcfg
,只要device
设置为默认值以外的其他内容,NetworkManager 都会将该接口的 IP 配置存储在ifcfg
. 如果您使用原始接口名称填充NAME
和DEVICE
,它会将 IP 配置存储在一个.nmconnection
文件中。
我从来没有找到一种方法来有效地预配置我重命名的接口,所以我们现在使用的过程如下:
network
。这会导致网络配置针对 nmconnection 密钥文件格式的默认接口名称进行配置。如果在安装过程中需要界面,您可以这样做。无论如何,我们稍后会删除它们。%post
脚本中:/mnt/sysimage
),ifcfg-
为您要重命名的接口创建文件。HWADDR
在接口的 MAC 地址中包含DEVICE
所需的设备名称和NAME
所需的连接名称。network-config.sh
将在第一次启动期间运行的脚本,该脚本执行以下操作:/etc/NetworkManager/system-connections
nmcli conn reload
)network-config.sh
脚本仅在第一次启动时运行。最终结果是重命名的接口将存储其 IP 配置
/etc/sysconfig/network-scripts/ifcfg-*
,而您的具有默认名称的接口将配置在/etc/NetworkManager/system-connections/*.nmconnection