Как правильно добавить IP-адрес в ipset из правила iptables? Или это вообще невозможно?
У меня это правило не работает: -A INPUT -m recent --name IP_LIST --set
Тип IP_LIST - хэш: net IP_LIST был создан с помощью команды ipset create IP_LIST hash:net
Но проверка того же списка для IP-адреса, чтобы его удалить, работает: -A INPUT -m set --match-set IP_LIST src -j DROP
Как сказали @Olipro и @ 0x534B41, я не должен использовать -m recent
. Итак, чтобы добавить запись в ipset из правила iptables, вы должны использовать -j SET --add-set IPSET_LIST src
Итак, поскольку -j SET
это то, что вы хотели:
В iptables -m set
используется, когда вы хотите сравнить пакет с ipset (-m
означает совпадение) его можно использовать несколько раз в рамках одного правила.
-j SET
с другой стороны, используется для вставки записи в ipset, это не прекращающийся target, что означает продолжение обхода правила.
Вы должны прочитать справочную страницу iptables для полного объяснения ожидаемого синтаксиса.
Документация iptables предполагает, что recent
модуль не имеет ничего общего с ipset
. Вместо этого он создает динамические списки, которые используются только сами по себе. Списки recent
использование модуля доступно через procfs по адресу /proc/net/xt_recent/