现在存在的所有具有QOS功能TT版本,对UDP连接数的限制都存在问题,采用什么 数据包/s 的限制方式,
极大的影响BT效率。
看来开发者只是拿DD,TT做实验,增长自己的技术,好东西都不肯放出来。
下面一条命令即可一把内网单个IP的的UDP连接树限制在100
iptables -t mangle -A PREROUTING -i br0 -p ! tcp -m state --state NEW
-m connlimit --connlimit-above 100 --connlimit-mask 32 -j DROP
如果要限制单机TCP连接数为80,也一条命令就搞定
iptables -t mangle -A PREROUTING -i br0 -p tcp --syn -m connlimit --connlimit-above 80 --connlimit-mask 32 -j DROP
这两条命令DD,TT通吃,保存为开机脚本就OK
如果要在连接数满了之后顺利浏览网页,再加两条命令:
iptables -t mangle -I PREROUTING -i br0 -p tcp --dport 80 -j ACCEPT
iptables -t mangle -I PREROUTING -i br0 -p udp --dport 53 -j ACCEPT
-------------------
connlimit只能限制TCP吧?? UDP是无连接的. 所以 数据包/s 的限制方式是对的吧.
看清楚是 ! tcp,也就是非tcp协议,一般就是 UDP了(ICMP占的比例可以忽略)
这是由于2.4的linux核心不支持 -p udp的方式。
但是可以支持 -p ! tcp的选项。
如果是2.6核心,可以直接-p all限制整体连接数。
数据包/s 的限制方式 是可以抑制UDP数据包,但限制效果不好,把很多正常的UDP数据包也丢掉了。
阅读(6100) | 评论(0) | 转发(0) |