如何在 CenOS/RHEL7 上重启后自动启动 iptables 服务?

Dav*_*ave 8 firewall rhel iptables centos

我正在准备新安装的家庭服务器时遇到了一些问题。我在上面安装了 CentOS7,发现 80 和 443 端口默认是关闭的。因此,我使用以下命令将它们添加到 iptables:

iptables -I INPUT 5 -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -I INPUT 5 -i eth0 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
service iptables save
Run Code Online (Sandbox Code Playgroud)

我还安装了不存在的 iptable 服务。问题是每次我重新启动机器时,新配置都会被擦除。

我尝试将 iptable 服务添加到 chkconfig,但出现以下错误:

[root@CentOS-7]# chkconfig --add iptables
error reading information on service iptables: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我认为我收到此错误的原因是 /etc/init.d/ 中没有 iptable 脚本,但是如果我实际上在做正确的事情和/或是否有更简单更可靠的方法来做任何人有任何想法这个?如果不是,我该如何解决这个问题?最后我只需要使用我的家庭服务器作为网络/邮件服务器......

我还尝试使用“systemctl enable iptables”命令作为 flemingovirus 善意的建议,但没有成功。输入命令后,我得到以下输出:

ln -s '/usr/lib/systemd/system/iptables.service' '/etc/systemd/system/basic.target.wants`/iptables.service'`
Run Code Online (Sandbox Code Playgroud)

更新:我查看了 iptables,命令“service iptables save”运行正常。问题似乎是由于服务未在重新启动时启动。将以下行添加到 /etc/rc.local 后,我设法让服务在重新启动时运行

systemctl start  iptables.service
Run Code Online (Sandbox Code Playgroud)

但是我想知道为什么“systemctl enable iptables”命令在这种情况下不起作用。我错过了什么吗?谢谢

小智 6

虽然这个问题很老,但我遇到了同样的问题并在这里找到了解决方案。

systemctl mask firewalld
systemctl stop firewalld
Run Code Online (Sandbox Code Playgroud)

基本上 firewalld 与 iptables 冲突,因此会阻止 iptables 加载:

# cat /usr/lib/systemd/system/firewalld.service 
[Unit]
Description=firewalld - dynamic firewall daemon
Before=network.target
Before=libvirtd.service
Before=NetworkManager.service
Conflicts=iptables.service ip6tables.service ebtables.service

...
Run Code Online (Sandbox Code Playgroud)

我能够通过屏蔽 firewalld 来解决这个问题,以确保它不会自动启动并且此后永远不会启动。当然,您需要确保启用了 iptables:

systemctl enable iptables
Run Code Online (Sandbox Code Playgroud)


fle*_*rus 4

初始化脚本消失了。现在它的systemctl. 它存在于所有 CentOS7 文档中。要 chkconfig ipatables 或在启动时启动 iptables 服务,您需要使用以下命令:-

systemctl 启用 iptables

您应该在iptables上的 Cyber​​citi 文档中查看有关 systemctl 的简单知识。