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 を作成する行に対して行う必要がありました。