При запуске скрипта обновления для voipbl вручную я получаю следующую ошибку от ipset:ipset v6.11: Хэш заполнен, невозможно добавить больше элементов. Я запускаю его вручную, потому что некоторые IP-адреса, находящиеся в черном списке, похоже, все еще проходят через брандмауэр. Из страниц руководства для ipset можно сделать вывод, что это как-то связано с увеличением размера хеша или максимального количества элементов, но ни один из этих способов не работает для меня.
Вот список набора:
CommandMe-> ipset voipbl -l
Name: voipbl
Type: hash:ip
Header: family inet hashsize 2048 maxelem 200000
Size in memory: 16460
References: 1
Members:
Похоже, в набор вошло следующее количество адресов:
CommandMe-> ipset -l |wc -l
65549
В руководстве указано, что максимальное количество элементов, которое можно сохранить в наборе, по умолчанию составляет 65536. Похоже, я превышаю этот лимит, но не могу вместить больше 65549 элементов.
У меня в черном списке около 80000 адресов. Я получаю эту ошибку, потому что ipset не смог сохранить оставшиеся IP (65550-80000) в хэше? Может кто-нибудь указать мне правильное направление? Спасибо!
решение1
Скрипт voipbl включает в себя эту строку: ipset create voipbl_temp hash:ip
а также:
ipset swap voipbl_temp voipbl
ipset destroy voipbl_temp || true
Изменение размера хэша/максимального количества элементов необходимо было внести в строку, создающую ipset voipbl_temp.