 鲜花( 0)  鸡蛋( 0)
|
网吧用ROS的个人看法- o8 d7 e! X# w/ D P
; N" u9 B0 q6 X% Q# g# m! g一直以来,都看论坛上的达人说ROS做软路由器效果是多么的强大,于是偶也搞一个试试看。找了一个2.9.27的完全 *** 版,用了2块D-LINK530的网卡,装完一用还真行。比我那1000的锐捷强多了,网吧120台机器,座满的时候那个锐捷的路由器登陆界面都打不开。用上以后问题就来了,我们30M的光纤,如果不限速,那些下载狂人把带宽全部给占用了,打游戏的顾客很有意见。于是我就做了个限速,每个机器下载最大2M.平均1M。但是群众还是不满意,都所卡。我又找资料,pps影音标准版2010下载,发现原来还有个叫智能动态限速的东西,好偶照做。做好以后,平时喊卡的人没有了,人多的时候一样都喊卡。9 `# ~1 U$ R0 o3 @% I
偶傻眼了,难道只能不限速。还好天无绝人之路,还有个“小包优先”的高级货,于是照做。结果用简单队列限速后,“小包优先”也是白搭,难道天要忘我。终于经过N次测试以后,魔兽改键精灵4.5下载,我明白了。网吧用简单队列做限速完全是扯蛋。网吧限速最好的办法应该是带宽均分,然后在用简单队列来限制上传。在利用小包优先来处理游戏卡的问题。经过2个网吧,一个月的测试,完全摆脱了到处喊卡的噩梦,现在把经验发来大家分享一下。
( a$ C2 V+ j6 E+ ~9 O, N/ MROS不要用简单队列来限速,什么智能动态限速也不要用。只需要用小包优先+带宽均分+简单队列限制上传速度,360安全卫士7.0下载。* A9 t& x; z9 Z& f, F
小包优先的脚本如下:7 U: J& g E0 a2 G
ip firewall mangle + |" J/ E* g" E" b- y7 Q5 g
add chain=forward p2p=all-p2p action=mark-connection new-connection-mark=p2p_conn passthrough=yes comment="" disabled=no % V' |+ C7 c4 {9 l, k* f
add chain=forward connection-mark=p2p_conn action=mark-packet new-packet-mark=p2p passthrough=yes comment="" disabled=no
9 u" S' B$ x4 R Badd chain=forward connection-mark=!p2p_conn action=mark-packet new-packet-mark=general passthrough=yes comment="" disabled=no
' q) U! k2 y/ g& b0 }add chain=forward packet-size=32-512 action=mark-packet new-packet-mark=small passthrough=yes comment="" disabled=no & E# L* n# c% @* `; ?: [0 e# w
add chain=forward packet-size=512-1200 action=mark-packet new-packet-mark=big passthrough=yes comment="" disabled=no! A7 v/ l4 W, s9 [- R/ S4 K3 \/ W" L
7 K5 l9 E/ A- o% V( }" a# _7 |
/ queue tree G5 ?0 M+ J9 _9 ]# M% }6 V
add name="p2p1" parent=wan packet-mark=p2p limit-at=2000000 queue=default priority=8 max-limit=6000000 burst-limit=0 burst-threshold=0 burst-time=0s disabled=no % G( R) ~; ]; v2 C# u
add name="p2p2" parent=lan packet-mark=p2p limit-at=2000000 queue=default priority=8 max-limit=6000000 burst-limit=0 burst-threshold=0 burst-time=0s disabled=no
: V( n8 [9 V& j* Badd name="ClassA" parent=lan packet-mark="" limit-at=0 queue=default priority=8 max-limit=100000000 burst-limit=0 burst-threshold=0 burst-time=0s disabled=no
( h% S3 R# k' a0 z5 h4 A+ Padd name="ClassB" parent=ClassA packet-mark="" limit-at=0 queue=default priority=8 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s disabled=no
# T5 E7 W0 P2 n7 h6 m: h7 z# \add name="Leaf1" parent=ClassA packet-mark=general limit-at=0 queue=default priority=7 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s disabled=no - W& x% ?1 E8 P: u5 P
add name="Leaf2" parent=ClassB packet-mark=small limit-at=0 queue=default priority=5 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s disabled=no
0 g* z" f6 s3 k# m! a% u& _add name="Leaf3" parent=ClassB packet-mark=big limit-at=0 queue=default priority=6 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s disabled=no: o+ P- @& O. i. K
然后是带宽均分:" ?# _: Z- F" X a; f% y0 i
/ip firewall mangle add chain=forward src-address=192.168.0.0/24 \
" s& g) n. n" ^& Eaction=mark-connection new-connection-mark=users-con
* q' V+ u! X: e. X/ip firewall mangle add connection-mark=users-con action=mark-packet \+ m$ {0 a' X( ?- I& v I
new-packet-mark=users chain=forward
G2 S2 W! x6 e9 c! s1 d/queue type add name=pcq-download kind=pcq pcq-classifier=dst-address
K- c5 }1 }+ x4 d/queue type add name=pcq-upload kind=pcq pcq-classifier=src-address
6 ?- |0 G1 N* M8 c( d/queue tree add name=Download parent=lan max-limit=30M
, ~, W/ [; M# F. Q! {7 t( y. ]/queue tree add parent=Download queue=pcq-download packet-mark=users, p# C0 a* h. V$ Q2 s0 \0 C# m: ? i# C
/queue tree add name=Upload parent=wan max-limit=28M
& x& }; R H b+ |1 m, e1 q/queue tree add parent=Upload queue=pcq-upload packet-mark=users
9 n7 Z7 [3 d% {6 c( E请根据直接实际修改IP地址段,下载最大速度,上传最大速度,lan为我连接内网的网卡,wan是我连接外网的网卡8 U" S. I8 `. k/ o
限制上传速度的脚本:5 m- T1 t3 H# F r" ~0 j; D7 M. T
:for aaa from 2 to 180 do={/queue simple add name=(PC . $aaa) dst-address=(192.168.0. . $aaa) limit-at=10000000/3000000 max-limit=30000000/3000000}
7 \3 O' J5 @/ F) z如果是3.2版本的,这个脚本自己要修改下,
, e! E' a5 m1 `) u5 m$ V就用这3个部分,别的不需要的,绝对比什么智能动态限速好的多。 |
|