阻止IP地址负载平衡群集

我们使用HAproxy作为前端负载平衡器/代理,并正在寻找阻止随机IP地址干扰群集的解决scheme。

是否有人熟悉HAProxy的conf,可以阻止请求,如果他们超过了一个特定的阈值从一个单一的IP在规定的时间内。 或者任何人都可以提出一个可以放在HAProxy前面的软件解决scheme来处理这种阻塞。

fail2ban能够添加防火墙(iptables)规则来阻止stream量以响应日志文件条目,所以如果您可以为请求制作HAProxy写入日志条目,fail2ban可以为您定义速率限制。

只需使用普通的IPtables。 下面的例子是针对ssh的,希望你明白了。

http://www.debian-administration.org/articles/187

iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --set iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP 

还有“hashlimit”模块,但我没有尝试过

取决于您是否希望拒绝ips在重新启动后保留。 这些路由在重启过程中会丢失(除非你添加到rc.local等)。 但是,当我有一些讨厌的人在我们的一些系统上敲击时,我只是添加一个空路由到haproxy服务器。

route add -host [net]目标[/ prefix] gw 1​​27.0.0.1

这很快,不需要编辑iptables,只需删除路由即可。