iptables禁止ip

我使用下面的命令来禁止那些伤害我的网站的IP,但是不起作用。 我不知道为什么

iptables -I INPUT -s 89.200.143.50 -j DROP iptables -I INPUT -s 37.46.112.102 -j DROP 

请帮忙

 Centos 5.7+LAMP #iptables -L -n output:~ Chain INPUT <policy Accept> target INPUT opt source destination DROP all -- 89.200.143.50 0.0.0.0/0 DROP all -- 37.46.112.102 0.0.0.0/0 Chain FORWARD <policy ACCEPT> target prot opt source destination chain OUTPUT <policy Accept> target prot opt source destination 

你的规则对我来说看起来不错。 我想问两个问题:

  1. 你怎么知道这不起作用?
  2. 你是否过滤了发往这台机器的stream量或转发给另一台机器? 在后面的情况下,您需要将您的规则添加到FORWARD链。

这里有一些提示可以帮助你:

为了帮助你debugging,你可以使用tcpdump来检查你的服务器是否响应来自这些IP的stream量。

此外,您可以使用iptables -j LOG目标来确保这些规则被击中。 另外,您可以通过iptables -L -n -v来查看iptables计数器。