Howto Ipset
Иногда не работает iptables -j SET --add-set
При создании ipset всегда нужно указывать параметры: «family inet hashsize 65536 maxelem 65536», например:
ipset create mylist hash:ip,port family inet hashsize 65536 maxelem 65536
В противном случае, добавляет через раз. Почему - неизвестно. Например проблема проявляется вот так:
-A mytable -p tcp -j SET --add-set mylist dst,dst -A mytable -p tcp -m set ! --match-set mylist dst,dst -j SET --add-set mylist dst,dst -A mytable -p tcp -m set ! --match-set mylist dst,dst -j SET --add-set mylist dst,dst -A mytable -p tcp -m set ! --match-set mylist dst,dst -j SET --add-set mylist dst,dst
при этом большая часть пакетов попадает в нижние правила, что неправильно. И часть адресов не попадает в ipset вообще никогда, значит не связано с параллельной обработкой.
~~OWNERAPPROVE~~
Прочитал howto howto ipset |
Обсуждение
Мб достигает maxelem? Его можно указывать больше 65536.
нет проблема не в maxelem
мы не стали искать в чем проблема, скорей всего что то типа try_lock and skip
решение рабочее hashsize = maxelem