Iptable不会丢弃传入或传出的数据包

时间:2013-06-18 03:03:44

标签: centos iptables

我正在使用CentOS。

我在IPTable测试环境中完成了以下操作。我使用

刷新了所有规则
    iptables -F 

然后我添加了以下规则。

    iptables -I INPUT -p all -j ACCEPT

然后根据观察,我添加了这个规则;

    iptables -A INPUT -s 192.168.2.50 -j DROP

我已经运行了

    service iptable save

之后我尝试ping阻止的ip(192.168.2.50)。我仍然可以ping它,阻止的ip可以ping我。

我想阻止来自阻止IP的任何阻止连接。

这是 iptables -L

的输出
    Chain INPUT (policy DROP) target prot opt source destination

    ACCEPT all -- anywhere anywhere
    DROP all -- 192.168.2.50 anywhere

    Chain FORWARD (policy DROP) target prot opt source destination

    Chain OUTPUT (policy ACCEPT) target prot opt source destination

    Chain icmp_packets (0 references) target prot opt source destination

    Chain tcp_packets (0 references) target prot opt source destination

请帮忙..谢谢..

2 个答案:

答案 0 :(得分:2)

Iptables适用于规则链。在链中,规则从第一个(从顶部)到最后一个按顺序应用于数据包。 您的第一个规则ACCEPT all -- anywhere anywhere允许接受通过链的所有数据包,因此它们不会进一步下一个应该删除所有数据的规则。 因此,如果您只想将所有流量丢弃到您的机器,只需删除第一个带有iptables -D INPUT 1的规则,该规则将删除输入链中的第一个规则,只保留drop all规则。然后再次添加带有iptables -A INPUT -p all -j ACCEPT的accept all规则,以便允许所有不是来自被阻止的ip的数据包通过。

答案 1 :(得分:1)

我认为你应该这样做 iptables -A INPUT -s 192.168.2.50 -j DROPiptables -I INPUT -p all -j ACCEPT之前。