nmcli 在 Kickstart 脚本中不起作用

nmcli 在 Kickstart 脚本中不起作用

我在 Kickstart 安装后脚本中有以下命令:

firewall-offline-cmd --new-zone=management
firewall-offline-cmd --zone=management --add-service=ssh --add-service=snmp
firewall-offline-cmd --zone=management --change-interface=eth1
nmcli device modify eth1 connection.zone management

firewalld从我的阅读来看,当 NetworkManager 出现时似乎无法进行这些更改,因此我添加了nmcli更改区域的命令。但它没有生效。安装完成并重新启动服务器后,接口仍位于默认区域。之后我可以运行该nmcli命令,它将生效。

我在网上找不到关于这个问题的任何信息,除了可能本文,但需要付费。

答案1

我也遇到过这个问题。我通过以下方法解决了它:

echo 'ZONE=management' >> /etc/sysconfig/network-scripts/ifcfg-eth1

我更喜欢一些更优雅的东西,但暂时已经决定这么做了。

答案2

长话短说:“不要使用它,它不起作用”

解决

  • 在安装过程中,或者执行 %post 脚本时,不会启用锁,所需的服务也不会运行。该环境是 anaconda 执行环境,当用户将其 chroot 到已安装的机器时,将使用相同的运行环境和 mount-bind-d 伪文件系统。
  • 由于在执行 anaconda 时缺少这样的设置环境,nmcli 执行会出现问题。kickstart 的 %post 部分并非全部正常工作,因为它在功能齐全的运行机器上工作,您可能会遇到此问题。
  • 更好的方法是在机器重启后运行它,并在安装后完全正常运行。如果您愿意,也可以将其放入某种首次启动逻辑(首次启动 systemd 单元)中。

所以 nmcli 是实现网络配置自动化的优秀工具。除了安装之外,你可以将其用于任何目的。

相关内容