Linux 服务--status-all 显示“防火墙已停止。”防火墙指的是什么服务?

Linux 服务--status-all 显示“防火墙已停止。”防火墙指的是什么服务?

我有一个运行 CentOS 的带 lamp 堆栈的开发服务器:

[Prompt]# cat /etc/redhat-release
CentOS release 5.8 (Final)

[Prompt]# cat /proc/version
Linux version 2.6.18-308.16.1.el5xen ([email protected]) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-52)) #1 SMP Tue Oct 2 22:50:05 EDT 2012

[Prompt]# yum info iptables
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.anl.gov
 * extras: centos.mirrors.tds.net
 * rpmfusion-free-updates: mirror.us.leaseweb.net
 * rpmfusion-nonfree-updates: mirror.us.leaseweb.net
 * updates: mirror.steadfast.net
Installed Packages
Name       : iptables
Arch       : x86_64
Version    : 1.3.5
Release    : 9.1.el5
Size       : 661 k
Repo       : installed
.... Snip....

当我跑步时:

service --status-all

部分输出如下所示:

.... Snip....
httpd (pid  xxxxx) is running...
Firewall is stopped.
Table: filter
Chain INPUT (policy DROP)
num  target     prot opt source               destination
1    RH-Firewall-1-INPUT  all  --  0.0.0.0/0            0.0.0.0/0

Chain FORWARD (policy DROP)
num  target     prot opt source               destination
1    RH-Firewall-1-INPUT  all  --  0.0.0.0/0            0.0.0.0/0

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination

Chain RH-Firewall-1-INPUT (2 references)
....Snip....

iptables 已被加载到内核并且处于活动状态,如所显示的规则所示。

仅检查 iptables 就会返回与 status all 一样的规则:

[Prompt]# service iptables status
Table: filter
Chain INPUT (policy DROP)
num  target     prot opt source               destination
1    RH-Firewall-1-INPUT  all  --  0.0.0.0/0            0.0.0.0/0

Chain FORWARD (policy DROP)
num  target     prot opt source               destination
1    RH-Firewall-1-INPUT  all  --  0.0.0.0/0            0.0.0.0/0

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination

Chain RH-Firewall-1-INPUT (2 references)
.... Snip....

启动或者重启iptables表示iptables已经成功加载到内核:

[Prompt]# service iptables restart
Flushing firewall rules:                                   [  OK  ]
Setting chains to policy ACCEPT: filter                    [  OK  ]
Unloading iptables modules:                                [  OK  ]
Applying iptables firewall rules:                          [  OK  ]
Loading additional iptables modules: ip_conntrack_netbios_n[  OK  ]

[Prompt]# service iptables start
Flushing firewall rules:                                   [  OK  ]
Setting chains to policy ACCEPT: filter                    [  OK  ]
Unloading iptables modules:                                [  OK  ]
Applying iptables firewall rules:                          [  OK  ]
Loading additional iptables modules: ip_conntrack_netbios_n[  OK  ]

我用 Google 搜索过“防火墙已停止。”并阅读了大量 iptables 指南以及 RHEL 文档,但是没有找到。

据我所知,没有“防火墙”服务,那么该行"Firewall is stopped."指的是什么?


编辑- 这里有一些附加信息。
尽管服务状态输出“防火墙已停止”,但 iptables 仍在运行。

我向 iptables 添加了一条规则,将 ssh 访问限制为只有一个 IP 地址(不是我的 IP 地址),重新启动 iptables 后,我无法登录。

我有一个想法,这两个项目是一个接一个输出的,service --status-all因为服务是按字母顺序输出的(只是猜测)。

那么,有人能解释为什么我会看到“防火墙已停止”。即使 iptables 规则有效且正常工作,我的服务状态输出也是如此吗?


解决方案
如果 iptables 或 ip6tables 被关闭,则会出现“防火墙已停止。”消息。

如果两者都关闭,则(完全相同的)消息将出现两次(如果 ip6 的消息表明它指的是 ip6,那不是很好吗)。

如果服务已打开,但规则表为空,您也会看到错误消息(就像我的 ip6 情况一样)。

信息由@Alexander Janssen提供。请参阅答案以获取 CentOS 5.8 默认 ip6 规则集的链接。

答案1

编辑:与 OP 聊天后,我们可以陈述以下事实:

它指的是服务iptablesip6tables

当服务ip6tables开启(由chkconfig)但没有任何规则时,会出现错误消息。

我建议设置默认的 IPv6 规则,就像 CentOS 5.8 安装中给出的那样。你可以采取这作为参考。这是从库存 5.8 安装中获取的。

希望现在一切都已经解决了 :)

相关内容