Chinaunix

标题: 限制单个IP并发TCP连接的iptables方法 [打印本页]

作者: platinum    时间: 2003-06-16 13:38
标题: 限制单个IP并发TCP连接的iptables方法
限制单个IP并发TCP连接的方法适应于保护Linux上的各种TCP服务,使用iptables
中patch-o-matic中iplimit补丁来实现,对各种TCP服务比较通用。
做法:
配置Linux核心,使用2.4.20,并使用www.netfilter.org中patch-o-matic中的
base补丁中的iplimit。编译配置安装新核心。
使用www.netfilter.org的 iptables 1.2.8,安装到系统中。

示例:
1 限制连往本机的telnet单个IP并发连接为2个,超过的连接被拒绝:
iptables -I INPUT -p tcp --dport 23 -m iplimit --iplimit-above 2 -j REJECT

2 限制连往本机的web服务,1个C段的IP的并发连接不超过100个,超过的被拒绝:
iptables -I INPUT -p tcp --dport 80 -m iplimit --iplimit-above 100 \
--iplimit-mask 24 -j REJECT
作者: hss202    时间: 2003-11-07 09:44
标题: 限制单个IP并发TCP连接的iptables方法
我用这个命令后提示:
iptables: No chain/target/match by that name
什么意思
作者: seabillow    时间: 2003-11-27 17:41
标题: 限制单个IP并发TCP连接的iptables方法
hss202 回复于:2003-11-07 09:44:27
我用这个命令后提示:
iptables: No chain/target/match by that name
什么意思

我的也是这样呀!
怎么办?
作者: 5417    时间: 2003-12-15 13:53
标题: 限制单个IP并发TCP连接的iptables方法
[root@flyyoung root]# iptables -I INPUT -p tcp --dport 2099 -m iplimit --iplimit-above 2 -j REJECT
iptables: No chain/target/match by that name

我的也是!
作者: 5417    时间: 2003-12-15 13:55
标题: 限制单个IP并发TCP连接的iptables方法
编译内核选择了iplimit
lib库也有啊
[root@flyyoung iptables]# ls
libip6t_eui64.so   libip6t_multiport.so  libipt_ecn.so      libipt_mark.so        libipt_rpc.so       libipt_TOS.so
libip6t_hl.so      libip6t_owner.so      libipt_ECN.so      libipt_MARK.so        libipt_SAME.so      libipt_ttl.so
libip6t_HL.so      libip6t_standard.so   libipt_esp.so      libipt_MASQUERADE.so  libipt_SNAT.so      libipt_TTL.so
libip6t_icmpv6.so  libip6t_tcp.so        libipt_helper.so   libipt_MIRROR.so      libipt_standard.so  libipt_udp.so
libip6t_length.so  libip6t_udp.so        libipt_icmp.so     libipt_multiport.so   libipt_state.so     libipt_ULOG.so
libip6t_limit.so   libipt_ah.so          libipt_iplimit.so  libipt_owner.so       libipt_TARPIT.so    libipt_unclean.so
libip6t_LOG.so     libipt_conntrack.so   libipt_length.so   libipt_physdev.so     libipt_tcpmss.so
libip6t_mac.so     libipt_DNAT.so        libipt_limit.so    libipt_pkttype.so     libipt_TCPMSS.so
libip6t_mark.so    libipt_dscp.so        libipt_LOG.so      libipt_REDIRECT.so    libipt_tcp.so
libip6t_MARK.so    libipt_DSCP.so        libipt_mac.so      libipt_REJECT.so      libipt_tos.so
[root@flyyoung iptables]# pwd
/lib/iptables
作者: love100    时间: 2004-04-24 08:59
标题: 限制单个IP并发TCP连接的iptables方法
可能是iplimit模块没装吧!
作者: cexoyq    时间: 2006-03-28 12:57
能不能应用到FORWARD中?
作者: kenduest    时间: 2006-03-28 14:49
原帖由 cexoyq 于 2006-3-28 12:57 发表
能不能应用到FORWARD中?


1. 可以用于 FORWARD。

2. 另外 iplimit 已经列为过时不使用项目,目前要使用请用 connlimit 这个 MATCH EXTENSION。

==
作者: cexoyq    时间: 2006-03-29 12:32
connlimit ,对TCP的限制是不是所有的TCP连接?
如:iptables -I FORWARD -p tcp -m connlimit --connlimit-above 10 -j DROP
是不是超过了10个连接就会把这个包给DROP?
作者: kenduest    时间: 2006-03-29 14:54
原帖由 cexoyq 于 2006-3-29 12:32 发表
connlimit ,对TCP的限制是不是所有的TCP连接?
如:iptables -I FORWARD -p tcp -m connlimit --connlimit-above 10 -j DROP
是不是超过了10个连接就会把这个包给DROP?


我认为你可以先测过后,可以报告一下您的心得感想

有其他问题可以再讨论。

==
作者: anthonyfeng    时间: 2006-04-28 20:59
有些大厦的宽带是使用192.168.x.x 之类的地址,估计亦是使用NAT 的技术上网的,如果我在我的internet www 服务器上使用楼主的技术设置限制10个连接并发,那么此大厦的访问必受影响。

请问有什么办法可以限制大厦内每人对此internet www 服务器并发访问?
作者: JohnBull    时间: 2006-04-28 22:42
原帖由 cexoyq 于 2006-3-29 12:32 发表
connlimit ,对TCP的限制是不是所有的TCP连接?
如:iptables -I FORWARD -p tcp -m connlimit --connlimit-above 10 -j DROP
是不是超过了10个连接就会把这个包给DROP?


iptables -I FORWARD -p tcp --syn -m connlimit --connlimit-above 10 -j DROP

这样负载轻些
作者: colddawn    时间: 2006-04-29 07:42
原帖由 kenduest 于 2006-3-29 14:54 发表


我认为你可以先测过后,可以报告一下您的心得感想

有其他问题可以再讨论。

==


不是全部丢弃,而是有个burst in的算法,这个很早在CU就有帖子讨论了,搜索一下应该能找到。
iplimit确实过时了,没人维护,只有connlimit了。
作者: cexoyq    时间: 2006-05-02 11:25
原帖由 kenduest 于 2006-3-29 14:54 发表


我认为你可以先测过后,可以报告一下您的心得感想

有其他问题可以再讨论。

==


我试过了.好像不行.我限制的是20个TCP,但是用iptables -L
查看FORWARD却用32>20表示,而客户端能正常打开多个TCP连接.
作者: wheel    时间: 2006-12-05 12:21
iptables -I FORWARD -p tcp -m connlimit --connlimit-above 10 -j DROP
iptables: Unknown error 4294967295
为何不可以阿?
作者: wheel    时间: 2006-12-05 12:24
也不可以阿//
iptables -I FORWARD -p tcp --syn -m connlimit --connlimit-above 10 -j DROP
iptables: Unknown error 4294967295
作者: platinum    时间: 2006-12-05 12:26
modprobe ipt_connlimit 看是否报错
作者: lihn    时间: 2006-12-05 14:10
可以限制UDP的并发链接数码?
作者: dzb_01    时间: 2006-12-05 14:52
原帖由 lihn 于 2006-12-5 14:10 发表
可以限制UDP的并发链接数码?


UDP有连接吗
作者: ksfksf    时间: 2006-12-09 10:13
有时系统会在运行一段时间后会报错 OOP
作者: ulovko    时间: 2012-06-03 14:00
不错,感谢分享!




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2