CentOS 6 – 如何在kickstart安装期间修改iptables?

在定制的CentOS 6的kickstart安装过程中,我无法修改iptablesconfiguration。kickstart进程正在最小的ISO映像之上安装几个定制的RPM。 其中一个rpms尝试修改iptables规则,但在Anaconda完成安装之后,原始的默认规则仍在/ etc / sysconfig / iptables中设置。

我试过使用iptables(save | restore),但在安装过程中iptables模块不可用。 iptables -L返回错误“无法初始化iptables'filter:表不存在”,保存/恢复命令都无法运行。

打了一遍后,我意识到,包系统configuration防火墙基地安装,似乎是设置默认规则。 此外,我看到我的规则已被复制到/etc/sysconfig/iptables.old但我无法弄清楚是什么原因造成的。 我已经尝试在我的包中添加Requires: system-config-firewall-base ,希望在设置好之后,可以更改我的%post中的规则,但这种方式无效。

第一次启动安装此软件包将正确设置规则。

任何关于如何在安装过程中正确configurationiptables的build议,或者如何configuration一些在第一次启动时自动实现的build议?

谢谢。

最好的办法是直接在kickstart文件%post部分的脚本中编辑/ etc / sysconfig / iptables文件。 这将在您安装软件包后运行。

你想要做什么防火墙模块?

你可以用kickstart制作防火墙

例如,启用ssh(tcp 22)和http(tcp 80)将下面的行放在kickstart中

防火墙 – 启用–http –ssh

我将指出有一个编程的API来编辑iptablesconfiguration文件

这里是一个例子:

 iptables -I INPUT -p tcp --dport 8880 -j ACCEPT iptables -I INPUT -p tcp --dport 8443 -j ACCEPT iptables-save > /etc/sysconfig/iptables service iptables restart