安装iptables服务(从CentOS 7开始默认防火墙是firewalld,所以我们要自己安装iptables服务)

安装iptables服务(从CentOS 7开始默认防火墙是firewalld,所以我们要自己安装iptables服务)

在 Red Hat 7 中,我尝试强制 IP 表服务在重启后自动启动。目前,每次重启后我都需要运行以下命令:

sudo systemctl start iptables

我尝试过设置

sudo chkconfig iptables on

但它没有运行。

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

IPTABLES_SAVE_ON_STOP="yes" IPTABLES_SAVE_ON_RESTART="yes"

有人可以告诉我如何将其设置为在重启时启动吗?

答案1

根据 RHEL7/Centos7,默认安装中没有可用的 iptables 服务。相反,他们希望您使用firewalld默认启用的服务。(man firewall-cmd有关如何操作firewalld的更多信息,请参阅)

如果您想使用 iptables,您需要安装iptables-services并启用它们systemctl enable iptables。您需要关闭防火墙systemctl disable firewalld

如果没有特别的理由使用 iptables 或 chkconfig,我建议你不要使用它们。相反,我会花点时间学习防火墙和 systemctl 的工作原理。

答案2

使用 iptables 命令创建的规则存储在内存中。如果在保存 iptables 规则集之前重新启动系统,则所有规则都会丢失。为了让 netfilter 规则在系统重新启动后继续存在,需要先保存它们。

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

iptables-save

或者

service iptables save

此后重新启动 iptables 服务。

service iptables restart

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

答案3

这对我有用:

安装iptables服务(从CentOS 7开始默认防火墙是firewalld,所以我们要自己安装iptables服务)

yum-y 安装 iptables 服务;

禁用firewalld服务(CentOS 7中的默认服务)

systemctl 禁用防火墙;

屏蔽防火墙服务(防止 SysOp 意外启动该服务)

systemctl 掩码防火墙;

启动 iptables

服务iptables重启;

将 iptables 规则保存到磁盘,以便在重启后应用这些规则

服务 iptables 保存;

相关内容