当我手动运行 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
需要对创建 voipbl_temp ipset 的行进行哈希大小/最大元素的更改。