我正在下载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表示法。