论坛风格切换切换到宽版
  • 1081阅读
  • 9回复

[问题求助]关于connlimit的时间期限 [复制链接]

上一主题 下一主题
 
发帖
2289
C币
-198556
威望
435
贡献值
1
银元
-3
铜钱
5124
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-01
关于connl.imit的解释:.
This adds an iptables match which allows you to restrict .the number of parallel TCP connect.ions to a server. per client IP address(or address. block). 教育

翻译:这个增.加一个iptables匹配允许你限制每个客户ip地址的.并发tcp连接,即同时连接到一个服务器个数. .

Examples: 例子:

# allow 2 telnet connections per client. host (允许每个客户机同时两个telnet连接.) .

iptables -p tcp .--syn --dport 23 -m connl.imit --connlimit-above 2 -j RE.JECT            女人

# you can also match the other way around你也可以匹配其他的方法http://upload.bbs.csuboy.com/Mon_1004/126_7018_893987e7a18c182.gif[/img] http://upload.bbs.csuboy.com/Mon_1004/126_7018_07b5498b08dbc4a.gif[/img].

iptables -p tcp --syn --dport 23 -m connlimi.t ! --connl.imit-above 2 -j A.CCEPT --- 印刷

#. limit the nr of parallel http reques.ts to 16 per class C .sized (这下面例子限制80端口最多同时16个连接请求) <性病>

# network. (24 bit netmask.) 投资

iptables -p tcp --syn --.dport 80. -m connlimit --connlimit-above 16 -.-connlimit-mask 24 -j REJECT              汽车

模块. connlimit 作用:连接限制 电影

--con.nlimit-above n .限制为多少个              汽车

--connlimit-mask n 这组主机的掩码,默认是connlimit-mask 32 ,.即每.ip. 虚拟主机

这个主要可以限制内网用户的网络使用,对服务器而言则可以限.制每个ip发起的.连接数...比较实用             杀毒

例如.:只.允许每个ip同时5个80端口转发,超过的丢弃: <性病>

iptables -I FORWARD -p tcp --syn --dpo.rt 80 -m connli.mit --connlimit-above .5 -j DROP             杀毒

例如:只允许每组C类ip同时10.个80端口转发: .

iptables -I FORWARD -p tcp --syn --dport 80 -m connlimit .--co.nnlimit-above 10 --.connlimit-mask 24 -j DROP              电子

例如:为了防止DOS太多连接进来,那.么可以允许最多15个初始连接,超.过的丢弃.            建材

/sbi.n/iptables -A INPUT -s 192.186.1.0/24 -p tcp --syn -m connlimit --connlimit-.above 15 -j DR.OP            建材

/sb.in/iptables -A INPUT -s 192.186.1.0/24 -p tcp -m state -.-state ESTABLISHE.D,RELATED -j ACCEPT 外贸



=====.============.================================(        游戏          )
我想问一下的是,比如这条规则例如:只允许每个ip同.时5个.80端口转发,超过的丢弃: <性病>

iptables -I FORWARD -p tcp --s.yn --dport 80 -m connlimit --connlimit-a.bov.e 5 -j DROP .
有没有时间概念的?每个ip.同时5个80,.是怎么的一个时间概念??同时不知道该何理解!            杀毒

评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
离线七郎仔.
发帖
2107
C币
-235752
威望
397
贡献值
2
银元
-2
铜钱
4687
人人网人气币
0
只看该作者 沙发  发表于: 2010-04-13
按照我的理解,应该就是每个IP最多5条链接,譬如5条TCP会话。
但是不清楚尚未建立的会话算不算,应该是不算的。

发帖
2052
C币
-235233
威望
369
贡献值
1
银元
-4
铜钱
4636
人人网人气币
0
只看该作者 板凳  发表于: 2010-04-13
iptables -I FORWARD -p tcp --syn --dport 80 -m connlimit --connlimit-above 5 -j DROP
那比如上面这条规则,不可能我每台电脑永远就只允许5个新的连接吧??
这样的理论好像不对啊,我用光5个只后,就不能再用了?我觉得应该有个时间概念或范围吧!

离线solai.
发帖
2029
C币
-139384
威望
380
贡献值
1
银元
-4
铜钱
4560
人人网人气币
0
只看该作者 地板  发表于: 2010-04-13
哪位高手来指点一下啊!!

离线ljhddzyj.
发帖
2034
C币
-193449
威望
384
贡献值
1
银元
-1
铜钱
4502
人人网人气币
0
只看该作者 4楼 发表于: 2010-04-13


QUOTE:iptables -I FORWARD -p tcp --syn --dport 80 -m connlimit --connlimit-above 5 -j DROP
那比如上面这条规则,不可能我每台电脑永远就只允许5个新的连接吧??
这样的理论好像不对啊,我用光5个只后,就不能再用了?我觉得应该有个时间概念或范围吧!


ipt_connlimit.c 里面的注释说得很清楚
当链接关闭或者因为超时而关闭的话,自动删除记录


                if (found->ctrack->proto.tcp.state == TCP_CONNTRACK_TIME_WAIT) {
                        /* we don't care about connections which are
                           closed already -> ditch it */
                        lh = lh->prev;
                        list_del(lh->next);
                        kfree(conn);
                        nf_conntrack_put(&found->ctrack->infos[0]);
                        continue;
                }


[ 本帖最后由 platinum 于 2007-7-2 23:46 编辑 ]

离线zymxs.
发帖
2008
C币
-193636
威望
349
贡献值
1
银元
-4
铜钱
4362
人人网人气币
0
只看该作者 5楼 发表于: 2010-04-13
多谢老大,经过实际测试,确实如此,谢谢!!

这个功能很实用,呵呵

离线liuxiao30.
发帖
2037
C币
-140620
威望
363
贡献值
1
银元
-1
铜钱
4544
人人网人气币
0
只看该作者 6楼 发表于: 2010-04-13


QUOTE:原帖由 platinum 于 2007-7-2 21:54 发表


ipt_connlimit.c 里面的注释说得很清楚
当链接关闭或者因为超时而关闭的话,自动删除记录


                if (found->ctrack->proto.tcp.state == TCP_CONNTRACK_TIME_WAIT) {
                    ...

我的如下,iptables默认允许一切
iptables -A FORWARD -p tcp -s 192.168.1.224 --syn --dport 80 -m connlimit --connlimit-above 2 -j DROP
但是实际测试的时候 客户机192.168.1.224能打开N多个服务器的80页面
iptables -A INPUT -p tcp --syn --dport 22 -m connlimit --connlimit-above 2 -j DROP
当我通过securecrt打开3个SSH是都OK 但是当打开第四个的时候就会话超时了
这该怎么理解?

发帖
2107
C币
-235514
威望
408
贡献值
1
银元
-5
铜钱
4774
人人网人气币
0
只看该作者 7楼 发表于: 2010-04-13
继续讨论这个问题:
如果我要限制,且仅限制192.168.100IP段中的任何一个IP,访问我23端口的链接数不能超过3个,那么策略要怎么来写?
1、是用脚本循环,把192.168.100.1-254的所有IP都加一遍?
还是
2、直接用:
iptabels -A INPUT -p tcp -s 192.168.100.0/24 -m connlimit --connlimit-above 3 --connlimit-mask 32 -j DROP?

关键在于,--connlimit-mask有多灵活!!!

发帖
2133
C币
-193311
威望
363
贡献值
1
银元
-2
铜钱
4686
人人网人气币
0
只看该作者 8楼 发表于: 2010-04-13


QUOTE:原帖由 busyant 于 2008-2-20 17:36 发表
………………
2、直接用:
iptabels -A INPUT -p tcp -s 192.168.100.0/24 -m connlimit --connlimit-above 3 --connlimit-mask 32 -j DROP?
………………


在RHEL 3上验证成功。

离线dengxin.
发帖
1917
C币
-263183
威望
354
贡献值
1
银元
-4
铜钱
4219
人人网人气币
0
只看该作者 9楼 发表于: 2010-04-13


QUOTE:原帖由 busyant 于 2008-2-20 17:36 发表
继续讨论这个问题:
如果我要限制,且仅限制192.168.100IP段中的任何一个IP,访问我23端口的链接数不能超过3个,那么策略要怎么来写?
1、是用脚本循环,把192.168.100.1-254的所有IP都加一遍?
还是
2、直 ...

你的意思是小于或者等于3个的时候 这么写connlimit --connlimit-above 3 那么你在你的机器上实际的时候是打开第几个的时候就无法访问(3?4?5?)了呢,因为我测试结果有些出入所以问问 顺便说下 iptabels -A INPUT -p tcp -s 192.168.100.0/24 -m connlimit --connlimit-above 3 --connlimit-mask 32 -j DROP
这样确实是可以的 或者iptabels -A INPUT -p tcp -s 192.168.100.0/24 -m connlimit --connlimit-above 3  -j DROP都一样
快速回复
限100 字节
批量上传需要先选择文件,再选择上传
 
上一个 下一个