我正在使用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
请帮忙..谢谢..
答案 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 DROP
在iptables -I INPUT -p all -j ACCEPT
之前。