阻止Amazon Web Services时将忽略ipset规则

我正在下载Amazon Web Services的CIDR列表:

https://ip-ranges.amazonaws.com/ip-ranges.json

然后把它们放在一个ipset与行:

sudo ipset -q -A tor $ip 

并用下面的命令阻止iptables

 sudo iptables -A INPUT -m set --match-set tor src -j DROP 

总共有约65,000个IP在ipset tor 。 它也有阻止IP和其他一些,这对于这些工作正常,但由于某种原因,似乎无法阻止任何亚马逊IP。

有任何想法吗?

完整的规则列表:

 sudo ipset -N whitelist nethash sudo iptables -A INPUT -i lo -j ACCEPT sudo iptables -A INPUT -m set --match-set whitelist src -j ACCEPT sudo iptables -N BLOCK24 sudo iptables -A BLOCK24 -m recent --name blocked --set sudo iptables -A INPUT -m state --state NEW -m recent --set sudo iptables -A INPUT -m state --state NEW -m recent --update --seconds 300 --hitcount 200 -j BLOCK24 sudo iptables -A INPUT -m recent --name blocked --rcheck --seconds 86400 -j BLOCK24 sudo iptables -A BLOCK24 -j LOG --log-prefix='[NETFILTER] ' --log-level 7 sudo iptables -A BLOCK24 -j REJECT 

然后,首先我运行这些去创build并重新创build块列表:

 sudo iptables -D INPUT -m set --match-set tor src -j DROP sudo ipset destroy tor sudo ipset -N tor iphash 

添加cira 65K IPs:

 sudo ipset -q -A tor $ip 

将ipset添加到iptables:

 sudo iptables -A INPUT -m set --match-set tor src -j DROP 

再一次,除了亚马逊,所有东西都被封锁

设置types需要是hash:net而不是hash:ip,因为JSON文件中的条目是net / mask表示法。