3

我正在使用 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

请帮忙..谢谢..

4

2 回答 2

3

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

于 2013-06-18T08:44:39.360 回答
1

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

于 2013-06-18T09:30:59.980 回答