Ipset + Iptables. Правило в iptables производит обход IP в Ipset тогда, когда это не нужно

Моя конечная цель: заблокировать огромное количество подсетей благодаря Ipset

Я создаю правило в Iptables. И я ожидаю, что ТОЛЬКО пользователи которые подключены с IP адресов начиная с 128.0.0.0 и заканчивая 159.255.255.254 будут проверены через Ipset, в списке под названием "block128", которые содержит все подсети которые я хочу запретить начиная с 128.0.0.0 и заканчивая 159.255.255.254

iptables -A INPUT -s 128.0.0.0/3 -m set --match-set block128 src -j DROP

Но, например, я подключаюсь с IP адреса 85.133.90.30 которые не попадает под этот список и я появляется задержка в 3-5 секунд (которой быть не должно, ведь я не попадаю под этот 128.0.0.0/3, и по логике меня не должно сверять с списком "block128"), такая же, если бы я например подключался с IP 128.133.90.30. Убирая данное правило - проблема исчезает, задержки нет

Возможно, я что-то делаю не так. И хотел бы узнать, почему так происходит и как сделать правильно


Ответы (1 шт):

Автор решения: eri

Похоже проверяются все условия.

Используй jump чтоб убрать эту проверку в отдельную цепь

iptables -A INPUT -s ... -j CHEKBLOCK
iptables -A CHEKBLOCK --match .. -j DROP
iptables -A CHEKBLOCK -j RETURN

И перед этим ,если используешь conntrack, эстаблишед релатед в ацепт.

→ Ссылка