分类: LINUX
2010-03-12 14:04:58
以前使用coyote2.24软路由,参照一些教程,写了Qos脚本限制局域网内每台机器的带宽,限制了p2p,甚至把迅雷、狗狗的网站给屏蔽了,可就是没有什么效果。在测试流量的时候发现,整个局域网使用带宽远远没有达到电信分给我们的带宽,可就是网速慢,估计电信已经限制了我们的并发连接数,而我们局域网内有很多人在同时看p2p电影,无效连接很多,所以,虽然带宽没用多少,连接数却用完了。我曾经想过用限制连接数,但coyote2.24不支持。 后来改用了minifw36,里面有connlimit的插件,可以限制连接数,于是创建了以下脚本,限制每ip的连接数为20: a=2 while [ $a -le 254 ] #从192.168.0.2开始到192.168.0.254限制连接数 do iptables -I FORWARD -p tcp -s 192.168.0.$a -m connlimit --connlimit-above 20 -j REJECT iptables -I INPUT -p tcp -s 192.168.0.$a -m connlimit --connlimit-above 20 -j REJECT a=`expr $a "+" 1` done 除了限制连接数,其他都不限制,其效果是浏览网页速度如飞,比以前这限制那限制的要快多了——限制的东西多了,必然会占用路由器更多资源,速度自然就不快了。到现在,整个局域网上网都很稳定。 有些人会认为限制连接数会浪费带宽,其实这是一种误解。用网际快车下载时,最多也不过用10个连接,下载速度足以占用整个带宽了。相反,象我以前没有限制连接数时,明明带宽远远没有用尽,却上不了网,那才叫浪费带宽。 另外说明一下,20个连接数用来看pplive等p2p电影也很流畅了,不过同一机器在看电影的同时,就无法浏览网页了,因为这台机器分配到的连接数已用完。如果想边看电影边浏览网页,只能把p2p电影的最大并发连接数设为20以下(最好是15以下)。 |