- 论坛徽章:
- 0
|
在bsd下如果设置对同一IP地址一定时间连接频率限制?
原帖由 "startdd" 发表:
例如对 同一个IP地址限制一分钟内不能连接超过200次,超过就断开其连接并且屏蔽此IP地址一分钟。
相同的问题在linux下可以用iptable实现,freebsd 下如何实现?
也许PF可以满足你的要求:
set timeout src.track 60
pass in quick on fxp0 proto tcp from any to fxp0 port = 80 flags S/SA keep state (source-track, max-src-states 200)
上面只是争对单一IP地址连接到80端口的限制,限制同时只能有200个连接,如果超过200过,则屏蔽该IP一分钟。
但该规则只能免强说是满足你的要求,在并发连接没有超过200个时,该规则如同一般规则,当超过200个时,更多的连接将被拒绝,拒绝时间为1分钟,也就是说在一分钟之内,同一个IP不能有超过200个的连接,如果超过,则不再接受来自该IP的连接请求,如果该IP主动减少与fxp0的连接数,则从并发连接小于200时开始,1分钟内不再接受该IP的连接请求,直到超过一分钟,才开始再次接受该IP小于200的并发请求,但已经通过的连接将可以继续使用 
如果要完全屏蔽可以使用脚本来实现. |
|