免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 20003 | 回复: 64
打印 上一主题 下一主题

讨论一下:如何限制单个IP在指定时间内的连接数限制 [复制链接]

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-03-18 16:03 |只看该作者 |倒序浏览
发个讨论题目吧:

如何有效的限制单个IP在指定时间内的连接数?或者说流量访问限制?
这个应该是基于conntrack来实现吧。

论坛徽章:
0
2 [报告]
发表于 2009-03-18 16:09 |只看该作者
iptables就可以实现吧

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
3 [报告]
发表于 2009-03-18 16:17 |只看该作者
原帖由 dreamice 于 2009-3-18 16:03 发表
发个讨论题目吧:

如何有效的限制单个IP在指定时间内的连接数?或者说流量访问限制?
这个应该是基于conntrack来实现吧。


那也就是控制某个源IP多长时间内发多少个SYN链接吗?

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
4 [报告]
发表于 2009-03-18 16:36 |只看该作者
原帖由 Godbach 于 2009-3-18 16:17 发表


那也就是控制某个源IP多长时间内发多少个SYN链接吗?


应该可以这么认为,因为syn连接的过程,相当于建立了一条连接;但连接失败的就另当别论了。

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
5 [报告]
发表于 2009-03-18 16:37 |只看该作者
原帖由 richardhesidu 于 2009-3-18 16:09 发表
iptables就可以实现吧


Iptables有这么个功能可以实现统计以及时间限制么?

论坛徽章:
0
6 [报告]
发表于 2009-03-18 16:40 |只看该作者
原帖由 dreamice 于 2009-3-18 16:03 发表
发个讨论题目吧:

如何有效的限制单个IP在指定时间内的连接数?或者说流量访问限制?
这个应该是基于conntrack来实现吧。

应该换个思路考虑:如何在某时间限制某数量的连接
根据 xt_connlimit.c 提供的功能,可以做到限制某连接多少个连接数
现在差的就是时间,但好在有 xt_time.c 可以做到
因此只要在特定时间做 connlimit,或者用把 time 和 connlimit 一起用即可


统计可以改写 connlimit,他能限制,就必然有统计,你只要做输出接口就行了

论坛徽章:
0
7 [报告]
发表于 2009-03-18 17:06 |只看该作者
原帖由 dreamice 于 2009-3-18 16:37 发表


Iptables有这么个功能可以实现统计以及时间限制么?

我想到的是iptables的connlimit模块,不过看来你的需求比这个复杂。

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
8 [报告]
发表于 2009-03-18 17:13 |只看该作者
要是自己实现的话,内核中hash+统计基数就可以

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
9 [报告]
发表于 2009-03-18 18:17 |只看该作者
原帖由 platinum 于 2009-3-18 16:40 发表

应该换个思路考虑:如何在某时间限制某数量的连接
根据 xt_connlimit.c 提供的功能,可以做到限制某连接多少个连接数
现在差的就是时间,但好在有 xt_time.c 可以做到
因此只要在特定时间做 connlimit,或 ...


看来改一下这个connlimit模块就可以定制自己的需求了
回去研究研究

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
10 [报告]
发表于 2009-03-18 18:18 |只看该作者
原帖由 Godbach 于 2009-3-18 17:13 发表
要是自己实现的话,内核中hash+统计基数就可以



God兄上次做那个红黑树来统计IP的做得如何?
我觉得你那个可以拿来借鉴一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP