AlmaLinux是否同时使用`ifcfg-`和`nmconnection`位置来存储网络配置?

AlmaLinux是否同时使用`ifcfg-`和`nmconnection`位置来存储网络配置?

我正在开发一个系统,在该系统中,我们重命名了一些网络接口,以确保应用程序的一致性。我们在安装过程中很难配置 IP 地址。我做了一些测试,通过配置连接,nmtui似乎有两个用例:

自动命名接口: 当接口名称具有操作系统指定的名称(示例eno1)时,连接配置存储在/etc/NetworkManager/system-connections/eno1.nmconnection

重命名的接口: 当接口名称更改时(例如在文件中data提供),连接配置将存储在文件中。DEVICEifcfg-/etc/sysconfig/network-scripts/ifcfg-data

现在,在这两种情况下,ifcfg-都存在一个文件。在 的情况下eno1,文件设置MTUZONE,在 的情况下data,文件设置NAMEDEVICE

有谁能解释一下为什么会出现明显的不一致以及在这两种情况下我应该如何预先配置我的界面?

更新: 我做了一些进一步的测试,无论是否在 中包含该NAME设置ifcfg,只要设置device为默认值以外的其他值,NetworkManager 都会将该接口的 IP 配置存储在 中ifcfg。如果您使用原始接口名称填充NAMEand DEVICE,它会将 IP 配置存储在.nmconnection文件中。

答案1

我从未找到有效地预先配置重命名的接口的方法,因此我们现在使用的过程如下:

  1. 不要使用 ksnetwork命令配置接口。这会导致网络配置根据 nmconnection 密钥文件格式的默认接口名称进行配置。如果您在安装过程中需要该界面,则可以这样做。无论如何,我们稍后会删除它们。
  2. 在启动%post脚本中:
    1. 在新文件系统(应安装在/mnt/sysimage)中,ifcfg-为要重命名的接口创建文件。HWADDR将接口的 MAC 地址DEVICE与所需的设备名称和NAME连接名称一起包含在内。
    2. 创建一个network-config.sh将在首次引导期间运行的脚本,该脚本执行以下操作:
      1. 删除所有自动生成的连接/etc/NetworkManager/system-connections
      2. 重新加载网络配置 ( nmcli conn reload)
      3. 使用 nmcli 使用新设备名称配置网络接口
      4. 禁用然后重新启用接口
      5. 修改引导脚本以确保该network-config.sh脚本仅在第一次引导时运行。

最终结果是重命名的接口将存储其 IP 配置/etc/sysconfig/network-scripts/ifcfg-*,并且具有默认名称的接口将配置在/etc/NetworkManager/system-connections/*.nmconnection

相关内容