阻止 Amazon Web Services 时,ipset 规则被忽略

阻止 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

该 IP 集中总共有大约 65,000 个 IP托尔。它还阻止了 tor IP 和一些其他 IP,并且对于这些 IP 来说,此功能运行良好,但由于某种原因,它似乎无法阻止任何 Amazon 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

然后我首先运行这些来销毁并重新创建阻止列表:

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

再说一遍,除了亚马逊以外所有东西都被屏蔽了。

答案1

设置类型需要是hash:net而不是,hash:ip因为 JSON 文件中的条目是网络/掩码符号。

相关内容