我正在使用 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)中创建防火墙的配置文件。