各位宝塔官方的运维工程师,您好:我在「监控」插件(bt-monitor)的 IP 防护机制中发现了容量波动与可优化点,希望提报建议,供后续版本参考。【环境】- 宝塔面板:13.0.0 专业版(Debian 12)- 组件:监控插件 /www/server/monitor/monitor + ipfilter(二进制)- 相关 ipset:monitor_filter(hash:ip, maxelem=204800, timeout 2073600s=24天)【现象】1. monitor_filter 容量在数天内剧烈波动:8-26 90.4% → 8-27 96.6% → 8-28 90.0% → 8-29 99.9%(±1.3~2万条/天),接近打满(204800)。2. 8-28 15:00 日志出现向 monitor_filter 加入网段 104.28.200.0/24(一条=256个IP)的尝试;当前集合以单IP为主,但插件已具备网段封禁逻辑。3. 8-29 时 20.1万条中,约 20.1万条的剩余 timeout 均为 1.57 天左右(同一时刻批量加入、24天后集中过期),仅 60 条剩余 21 天。说明批量导入与自动过期节奏不匹配,形成脉冲式容量占满。【建议(按优先级)】1. 提供可配置项:monitor_filter 的 maxelem、timeout、封禁阈值(如支持 90%/95% 告警与自动驱逐)。2. 封禁来源支持精确IP优先、网段按需:默认仅封精确IP,/24 及以上网段放入可选策略,避免单条网段放大 256 倍占用。3. 插件内置容量保护:接近 maxelem 时自动驱逐剩余 timeout 最早的一批 IP(或先膨胀 maxelem),避免打满后新封禁静默失败。
4. 扩容【现状说明】我们已用每日巡检脚本做了兜底:使用率达 95% 时自动删除剩余 timeout 最小的 3000 个 IP 并邮件通知。这能缓解但不能根治,希望在面板原生层面支持上述配置项。以上现象均可复现(收集了巡检日志与 ipset 快照佐证),如需补充数据可随时联系。谢谢!
|
|