当我在 Linux Redhat 6.8 版机器上运行服务 iptables 状态时
我得到了规则表(但不知道 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
启动时启用 Iptables
# chkconfig --list iptables
iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
答案1
不存在“iptables 正在运行”这样的事情——没有专门的防火墙进程需要监控。
如果已加载内核模块并定义规则(这两者都可以通过显示有效规则表来证明),则过滤处于活动状态。它是在内核中根据事件(数据包 rcv/snd)完成的,而不是在单独的进程中完成的。
所以:是的,如果显示的规则是您想要的,那么您的防火墙就启动了。
答案2
在 Ubuntu 20.04 上,我曾经service iptables status
显示以下内容:
~$ service iptables status
● iptables.service - netfilter persistent configuration
Loaded: loaded (/etc/alternatives/iptables.service; enabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:netfilter-persistent(8)
~$ service iptables restart
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to restart 'iptables.service'.
Authenticating as: <user id>
Password:
==== AUTHENTICATION COMPLETE ===
~$ service iptables status
● iptables.service - netfilter persistent configuration
Loaded: loaded (/etc/alternatives/iptables.service; enabled; vendor preset: enabled)
Active: active (exited) since Sun 2021-01-31 08:25:23 EST; 11s ago
Docs: man:netfilter-persistent(8)
Process: 140486 ExecStart=/usr/sbin/netfilter-persistent start (code=exited, status=0/SUCCESS)
Main PID: 140486 (code=exited, status=0/SUCCESS)
答案3
这样我们就可以知道它是否没有运行
[root@vm1 ~]# service iptables status iptables: 防火墙未运行。
如果运行,它会打印规则表,如下所示