如何验证 iptables 是否正在运行或防火墙是否已激活

Kin*_*vid 22 linux iptables rhel-6

当我在我的 linux Redhat 6.8 版机器上运行时 - service iptables status

我得到了规则表(但不是 iptables 是否运行)

以下是否表明 iptables 正在运行?

 # service iptables status
 Table: filter
 Chain INPUT (policy ACCEPT)
 num  target     prot opt source               destination
 1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state   RELATED,ESTABLISHED
 2    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0
 3    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
 4    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state  NEW tcp dpt:22
 5    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject- with icmp-host-prohibited

 Chain FORWARD (policy ACCEPT)
 num  target     prot opt source               destination
 1    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject- with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination
Run Code Online (Sandbox Code Playgroud)

启动时启用 iptables

# chkconfig --list iptables
iptables        0:off   1:off   2:on    3:on    4:on    5:on    6:off
Run Code Online (Sandbox Code Playgroud)

Eug*_*eck 24

没有“iptables 正在运行”这样的东西——没有专门的防火墙进程来监控。

如果加载了内核模块并定义了规则(两者都通过显示有效的规则表来证明),则过滤处于活动状态。它在事件(数据包 rcv/snd)的内核中完成,而不是在单独的进程中完成。

所以:是的,如果显示的规则是您想要的,那么您的防火墙就启动了。

  • 并非总是如此。在 CentOS7 下,你默认安装了 `firewalld`,你可以通过运行 `systemctl status firewalld` 来检查它的状态。此外,可以安装一个名为“iptables-services”的包,如果启动(服务名称:“iptables”),您可以检查它是否正在运行。 (6认同)
  • 一遍又一遍:不存在“iptables 正在运行”这样的事情。 (4认同)
  • @nKn - 问题是:如何验证 **iptables** 是否正在运行。firewalld 不会取代 iptables,它只是用来配置它。带有活动 iptables 规则的死 firewalld 意味着防火墙是 UP,而不是 DOWN (3认同)
  • @nKn 谢谢兄弟。 “firewalld”是我的问题! (2认同)