为什么iptables不显示规则?

时间:2014-01-09 18:26:27

标签: iptables

有一个关于iptables的简单问题。我在/ etc / sysconfig / iptables中有一个带有以下内容的centos机器:

# Generated by iptables-save v1.4.7 on Tue Dec 17 14:19:35 2013
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [2774:229756]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A INPUT -p icmp -j ACCEPT 
-A INPUT -i lo -j ACCEPT 
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT 
-A INPUT -j REJECT --reject-with icmp-host-prohibited 
-A FORWARD -j REJECT --reject-with icmp-host-prohibited 
COMMIT

但是当我在shell提示符下输入iptables -L时,我看到了:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

为什么我看到没有规则的链条?在这种情况下iptables的行为是什么? 提前谢谢

2 个答案:

答案 0 :(得分:0)

你的规则很可能已被刷新了一个la:

iptables -F

在重新启动iptables服务之前,编辑/ etc / sysconfig / iptables所做的每个更改都不会处于活动状态。

service iptables restart

如果您希望“即时”添加规则,则需要使用iptables命令来执行此操作。

iptables -A INPUT -j LOG --log-prefix "Logging"

现在你做的时候:

iptables -L 

您将立即看到您的新规则

答案 1 :(得分:0)

您是否启动了firewallD?似乎是在我安装了firrewallD且它没有激活且iptables是的情况下,

iptables -L

不显示任何规则。 启动防火墙后,所有规则都将再次显示。