Centos 服务器不会保留 iptables 配置

Centos 服务器不会保留 iptables 配置

我已经设置了一台 Centos 7 服务器来运行 Nagios。默认情况下,操作系统有相当严格的 iptables 规则,这里有一位朋友建议通过输入以下命令来修复此问题:

iptables -A IN_public_allow -p tcp --dport 80 -j ACCEPT 

这一切都正常,直到我重新启动服务器,此时我必须再次输入命令,否则服务器将再次无法访问。

这是 iptables 的正常行为吗?我可以做些什么来修复它吗?

答案1

CentOS 7 使用防火墙默认管理防火墙。

您可以使用以下命令简单地将端口添加到firewalld:

firewall-cmd --add-service=http --permanent     # Startup config
firewall-cmd --add-service=http                 # Running config

答案2

这肯定会“修复”相当严厉的规则 - 但会在您的系统中产生严重的安全漏洞,而且效率低下。

实际上,您应该在链的开头插入 2 条规则 - 第一条规则应该允许相关且已建立的数据包进入(任何端口),另一条规则允许新数据包进入端口 80。

除非您真的知道自己在做什么,否则直接使用 iptables 是个坏主意。防火墙在启动时从 /etc/sysconfig/iptables-config 加载。除非您真的知道自己在做什么,否则编辑它是个坏主意。

如果您阅读手册,那么您就会知道您可以通过运行使 iptables 更改持久化,/sbin/service iptables save但这是建立在手动更改 iptables 规则的前提下。

我手边没有 centos 机器可以检查,但如果它是 RHEL 的直接克隆,那么它应该有一个名为防火墙配置的 GUI 工具,允许进行更改而不会破坏任何东西。

相关内容