이 오류를 해결하려면 어떻게 해야 합니까? "ipset v6.11: 해시가 가득 차서 더 많은 요소를 추가할 수 없습니다."

이 오류를 해결하려면 어떻게 해야 합니까? "ipset v6.11: 해시가 가득 차서 더 많은 요소를 추가할 수 없습니다."

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를 생성하는 라인에 해시 크기/최대 요소를 변경해야 합니다.

관련 정보