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)をハッシュに格納できなかったため、このエラーが発生しますか?誰かが私を正しい方向に向けることができますか?ありがとう!
Voipblスクリプトには、次の行が含まれています:ipset create voipbl_temp hash:ip
および:
ipset swap voipbl_temp voipbl
ipset destroy voipbl_temp || true
ハッシュサイズ/最大要素の変更は、voipbl_tempipsetを作成する行に対して行う必要がありました。