 鲜花( 0)  鸡蛋( 0)
|
网吧用ROS的个人看法
/ n& s' C4 f% Y% P/ ?( W , x& M9 s# |- }. l# [
一直以来,都看论坛上的达人说ROS做软路由器效果是多么的强大,于是偶也搞一个试试看。找了一个2.9.27的完全 *** 版,用了2块D-LINK530的网卡,装完一用还真行。比我那1000的锐捷强多了,网吧120台机器,座满的时候那个锐捷的路由器登陆界面都打不开。用上以后问题就来了,我们30M的光纤,如果不限速,那些下载狂人把带宽全部给占用了,打游戏的顾客很有意见。于是我就做了个限速,每个机器下载最大2M.平均1M。但是群众还是不满意,都所卡。我又找资料,pps影音标准版2010下载,发现原来还有个叫智能动态限速的东西,好偶照做。做好以后,平时喊卡的人没有了,人多的时候一样都喊卡。
3 ^; N# M% |9 i偶傻眼了,难道只能不限速。还好天无绝人之路,还有个“小包优先”的高级货,于是照做。结果用简单队列限速后,“小包优先”也是白搭,难道天要忘我。终于经过N次测试以后,魔兽改键精灵4.5下载,我明白了。网吧用简单队列做限速完全是扯蛋。网吧限速最好的办法应该是带宽均分,然后在用简单队列来限制上传。在利用小包优先来处理游戏卡的问题。经过2个网吧,一个月的测试,完全摆脱了到处喊卡的噩梦,现在把经验发来大家分享一下。
3 G5 x6 L" _% }; s$ hROS不要用简单队列来限速,什么智能动态限速也不要用。只需要用小包优先+带宽均分+简单队列限制上传速度,360安全卫士7.0下载。
5 r; o. t2 B) `" Y+ ~4 R小包优先的脚本如下:
) K6 U3 R- q6 o. j% p3 s- ]ip firewall mangle $ s5 D8 _8 E% I
add chain=forward p2p=all-p2p action=mark-connection new-connection-mark=p2p_conn passthrough=yes comment="" disabled=no ' m/ Q d6 R+ [6 H2 F
add chain=forward connection-mark=p2p_conn action=mark-packet new-packet-mark=p2p passthrough=yes comment="" disabled=no - p' A3 W2 `9 {5 ]- }: v
add chain=forward connection-mark=!p2p_conn action=mark-packet new-packet-mark=general passthrough=yes comment="" disabled=no - |5 V. u6 o6 ^+ i7 K# ? X
add chain=forward packet-size=32-512 action=mark-packet new-packet-mark=small passthrough=yes comment="" disabled=no
8 Y7 l% R; D& c6 y5 ~1 wadd chain=forward packet-size=512-1200 action=mark-packet new-packet-mark=big passthrough=yes comment="" disabled=no. A" V) h& [3 a5 Q% V0 K, Z9 Z
# d7 H5 w8 D, l6 m& M% c& n
/ queue tree 4 n9 n6 R: ~& M' Q/ X3 z! P$ a6 z
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 4 A. F4 q' a% x3 l
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
# M ~; F( c# g& yadd 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 % P- i1 I; m1 K# t2 M
add 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
# ?2 _" ?4 K0 v1 b$ U7 x, P# u9 Jadd 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
: v4 K: ]) b5 l5 z' Sadd 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
# R( y0 P" p( U: I! \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
: J5 s- [5 q& W' r0 q% ]: E7 n然后是带宽均分:
) `7 f/ A5 h) \* y: G! [/ip firewall mangle add chain=forward src-address=192.168.0.0/24 \8 x. M& w4 L4 n- E3 A
action=mark-connection new-connection-mark=users-con
, v/ j. Z$ H; J8 B" \& l* j4 `/ip firewall mangle add connection-mark=users-con action=mark-packet \
! I' w/ ]2 ^* \6 m" P, {new-packet-mark=users chain=forward( Z$ F6 n W) m
/queue type add name=pcq-download kind=pcq pcq-classifier=dst-address% e: F5 _+ A, m/ L5 i4 x& X6 `
/queue type add name=pcq-upload kind=pcq pcq-classifier=src-address
7 |: Z l Z* U+ g# w/queue tree add name=Download parent=lan max-limit=30M9 W1 d! o. |6 E& }' X0 ~) v
/queue tree add parent=Download queue=pcq-download packet-mark=users6 q# q' Y, I. }0 L- X: T: b$ ~) C
/queue tree add name=Upload parent=wan max-limit=28M# g9 E8 Q# c( k, y# W
/queue tree add parent=Upload queue=pcq-upload packet-mark=users
! A# Y9 v& Q* |( G+ x6 ~- x请根据直接实际修改IP地址段,下载最大速度,上传最大速度,lan为我连接内网的网卡,wan是我连接外网的网卡) c$ F. m* N& I3 ?
限制上传速度的脚本:% R# P4 f) s- Y' p: V
: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}
% N2 g+ Y4 N( c$ K ?6 @" r; N如果是3.2版本的,这个脚本自己要修改下,7 O9 }; J; m5 k$ i
就用这3个部分,别的不需要的,绝对比什么智能动态限速好的多。 |
|