在 红帽企业 Linux 中有两种方法来控制 iptables:
/sbin/service iptables <option> — 通过使用它的初始脚本来处理 iptables 的不同功能。它包括以下选项:
start — 如果一个防火墙被配置(有 /etc/sysconfig/iptables 文件),所有运行的 iptables 都将完全停止,然后使用 /sbin/iptables-restore 命令启动。这个选项只在 ipchains 内核模块没有被加载的时候有效。要检查这个模块是否被加载,以根用户的身份运行以下命令:
[root@MyServer ~]# lsmod | grep ipchains
如果这个命令的运行没有返回任何输出,则这个模块没有被加载。如果需要,使用 /sbin/rmmod 命令来删除这个模块。
stop — 如果一个防火墙在运行,内存中的防火墙规则会被丢掉,所有 iptables 模块和 helper 会被卸载。
如果 /etc/sysconfig/iptables-config 配置文件中的 IPTABLES_SAVE_ON_STOP 项的值由默认值改为 yes,当前的规则会被保存到 /etc/sysconfig/iptables,所有存在的规则都会被移到 /etc/sysconfig/iptables.save 文件中。
请参阅 第 3.4.5.1 节 “IPTables 控制脚本配置文件” 来获得更多关于 iptables-config 文件的信息。
restart — 如果一个防火墙在运行,内存中的防火墙规则会被丢掉,如果它在 /etc/sysconfig/iptables 中被配置,防火墙会重新运行。这个选项只在 ipchains 内核模块没有被加载的情况下有效。
如果 /etc/sysconfig/iptables-config 配置文件中的 IPTABLES_SAVE_ON_RESTART 项的值由默认值改为了 yes,当前的规则会被保存到 /etc/sysconfig/iptables,所有存在的规则都被移到 /etc/sysconfig/iptables.save 文件中。
请参阅 第 3.4.5.1 节 “IPTables 控制脚本配置文件” 来获得更多关于 iptables-config 文件的信息。
status — 显示防火墙的状态并列出所有活跃的规则。
这个选项的默认配置是在每条规则中显示 IP 地址。要显示域名和主机名信息,编辑 /etc/sysconfig/iptables-config 文件,把 IPTABLES_STATUS_NUMERIC 项的值改为 no。请参阅第 3.4.5.1 节 “IPTables 控制脚本配置文件”来获得更多关于 iptables-config 文件的信息。
panic — 丢掉所有防火墙规则。所有配置的规则表中的政策都被设为 DROP。
当一个服务器的安全性被破坏时这个选项将非常有用。您可以使用这个选项来停止所有到这个系统的网络流量,同时可以保持这个系统的运行来分析系统的状态。
save — 使用 iptables-save 把防火墙规则保存到 /etc/sysconfig/iptables。请参阅第 3.4.4 节 “保存 IPTables 规则”来获得更详细的信息。
要使用相同的初始脚本命令对 IPv6 进行 netfilter 控制,把本节中介绍的 /sbin/service 命令中的 iptables 替换为 ip6tables。更多关于 IPv6 和 netfilter 的信息,请参阅 第 3.4.6 节 “IPTables 和 IPv6”。