Правила ipset игнорируются при блокировке Amazon Web Services

Я загружаю список CIDR для Amazon Web Services здесь:

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

Всего в ipset tor около 65 000 IP-адресов. У него также заблокированы IP-адреса и некоторые другие, и для них это работает нормально, но по какой-то причине он не может заблокировать IP-адреса Amazon.

Есть идеи?

Полный список правил:

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

Добавьте IP-адреса cira 65K с помощью:

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 являются нотацией net/mask.

Другие вопросы по тегам