防火墙规则在 kickstart 的后脚本中不起作用

防火墙规则在 kickstart 的后脚本中不起作用

我正在使用 kickstart 安装 centos,并且在安装后期脚本中它应该通过 tftp 更新设备。

在我的脚本中,我触发该设备,该设备最终从我的系统(我的 kickstart 正在运行)复制固件。

这些防火墙规则在第一次重启后有效,但我想在 kickstart 的后续部分执行此操作。

firewall --enabled --service=tftp --service=ssh 

%post --erroronfail --log=/tmp/ks-post.log --interpreter=/usr/bin/bash
echo -e $(firewall-cmd  --list-services)
telnet> copy tftp x.x.x.x device-firmware my.rom
%end

但是 echo 命令输出说firewalld 没有运行

答案1

据我所知,firewalld 仅由 kickstart 配置,并且在 kickstart 安装期间不会激活(无论是使用新配置还是根本没有激活)。

Kickstart 用途firewall-offline-cmd配置防火墙设置,这也是您应该用来查询防火墙的方法。

另一种方法是您在 %post 部分明确启动firewalld,然后就可以使用firewall-cmd

答案2

也许我错了,但在 %post 部分它使用的是 ram OS。所以我不明白在这里使用防火墙有什么意义。顺便说一句,您可以复制 %pre 部分中的该文件(dns 在这里不起作用,但 wget、curl 等可以),并在 %post 部分(/etc/firewalld)中创建防火墙的配置文件。

相关内容