重启后IPTables不会自动启动 – Red Hat 7

在红帽7我试图强制IP表服务重新启动后自动启动。 目前,每次重新启动后,我需要运行命令:

sudo systemctl start iptables

我试过设置

sudo chkconfig iptables on

但它没有运行。

在我设置的文件/etc/sysconfig/iptables-config

IPTABLES_SAVE_ON_STOP="yes" IPTABLES_SAVE_ON_RESTART="yes"

有人可以让我知道如何设置这个重新启动?

根据RHEL7 / Centos7,缺省安装中不提供iptables服务。 相反,他们希望你使用默认打开的firewalld 。 (有关如何操作firewalld的更多信息,请参阅man firewall-cmd

如果你想使用iptables你需要安装iptables-services并使用systemctl enable iptables启用它们。 你需要用systemctl disable firewalld

如果没有真正具体的理由使用iptables或chkconfig我会build议你不要使用它们。 相反,我会投资学习如何firewalld和systemctl工作。

使用iptables命令创build的规则存储在内存中。 如果系统在保存iptables规则集之前重新启动,则所有规则都将丢失。 对于netfilter规则,通过系统重启来保持,他们需要先保存。

要保存规则,请以root身份键入以下命令:

 iptables-save 

要么

 service iptables save 

这之后重新启动iptables服务。

 service iptables restart 

你可以根据你的linux的风格修改服务命令来启动或停止服务。

这对我工作:

 yum -y install iptables-services; systemctl disable firewalld; systemctl mask firewalld; service iptables restart; service iptables save