少尉
- 注册时间
- 2011-6-27
- 金币
- 377 个
- 威望
- 1 个
- 荣誉
- 0 个
尚未签到
|
本帖最后由 aieee 于 2011-7-29 14:50 编辑 & [6 ~! z L" M2 ]1 o% S2 c
/ e: V: D8 h; ?3 H5 Y
以下脚本是ros2.9.6的pppoe脚本!希望ros高手帮我改成ros5.2 可以使用的!+ ~/ P, q4 [2 Z
另外我想用hotspot来做!功能和pppoe一样!
7 s, D% w- C7 V3 Z: ~7 C当只有一个用户的时候 整个宽带用完!两个用户时平分!; G- f/ C, c2 ]0 \7 @- v
====================================================% } J5 g( `5 P
#客户数量
: ]% x8 ?* E: Z& j1 Y1 u0 F& s9 b( r:local count1 0
3 W7 Y I, P( c4 S2 B7 ~#上传速率,这里是2条ADSL1 {! C- N9 K" o* D7 g; Z: e
:local UpRate (1*500000)
9 y% N# h1 ]. k9 k#下载速率
- s1 W6 B/ W! N8 Z7 r f:local DownRate (1*6000000)
$ I" n( R9 C+ n* g) M* }#平均上传速率
! q" U8 m( Q+ Q. r( n& _" f:local UpAverage 25000/ J: x2 \ w5 t$ [0 ~
#平均下载速率
3 P5 H1 x( b3 d8 V. D" e:local DownAverage 1500000/ a, O2 Q* a9 E4 X$ n
#得到客户数量+ S2 j4 Z3 G9 r: @ ^3 j
:set count1 [:len [/ppp act find]]* D8 F6 O1 p7 [1 `, q1 Y1 a3 W% l
#得到平均上传速率
7 p5 D/ r" s' ]$ V! c4 r! z:set UpAverage ($UpRate/$count1); b7 p! L: K) c. m! @1 G
#得到平均下载速率
" m" D4 o1 U7 M/ X+ a) G( t/ N+ ]:set DownAverage ($DownRate/$count1)! c" y0 ^8 z$ i5 x
#得到限速值
6 T5 H5 p2 O* |' O% B! M:local LimitAt (($UpAverage*50/100/1000*1000) . "/" . ($DownAverage*50/100/1000*1000)). n3 O- ~/ g' ~, M' }4 o
#最低上传下载速率
3 P, n- y7 J$ s' V$ o5 m, N! b4 g:if ($UpAverage < 25000) do={:set UpAverage 25000}
/ H1 j1 X! r) {/ ^: F:if ($DownAverage < 1500000) do={:set DownAverage 1500000}
* `' w9 x; z |# b5 x#得到最大限速
) C: m/ f3 X, F# Y% f! o- [* W7 C:local MaxLimit ($UpAverage . "/" . $DownAverage)
8 I2 E! m( m! D7 t# b# b#突发极限/ i: {( F8 _) i5 @3 {3 n- J0 V
:local BurstLimit (($UpAverage*150/100/1000*1000) . "/" . ($DownAverage*150/100/1000*1000))
/ ^* L' d3 k& F$ x1 f5 C h! g#突发的平均值
' t: H' m; }2 k0 S9 p:local BurstThr (($UpAverage*60/100/1000*1000) . "/" . ($DownAverage*60/100/1000*1000))
+ h; @+ C' H$ M( v; _2 [* u0 G#突发时间
( {, `3 `6 h6 l2 C3 n8 k1 [4 B" X:local BurstTime "3s/10s"* Y9 c' i/ E! n4 J7 ^9 v
/que sim
T% ^- J/ H% s; Rset [find dynamic=true] queue=default/default limit-at=$LimitAt max-limit=$MaxLimit burst-limit=$BurstLimit burst-threshold=$BurstThr burst-time=$BurstTime' Z2 C* o& |' m. c
==================================================================, z& { w Z9 T" s3 @2 N0 `
我自己改好了!不知道为什么,定义变量用全局就可以了!还是就是计数哪里有点不同!
4 j+ B6 h* S* K, Q: ]4 f) {; B#客户数量
6 s# v* P. b: i& s8 t, n) }4 R:global count 0
! P0 S, B+ R/ W8 w2 X, [#上传速率,这里是2条ADSL
8 e; J) D2 b* V0 d" a# ]9 E2 V9 C5 Y:global UpRate (1*500000)
# n2 ^8 i0 F8 }4 R* G$ u, c8 n#下载速率. A; c8 I0 `5 D$ |3 n' `& B
:global DownRate (1*4000000)
# I% u6 }- s, w0 D3 H' {#平均上传速率1 B% Y% _4 Z0 a6 J4 `
:global UpAverage 20000
( V/ M0 P' `0 J+ w1 m+ {) Q+ S#平均下载速率! p" }* J8 S0 ?
:global DownAverage 40000003 a. ? Y, a8 [0 b& Q8 \
#得到客户数量( T$ X2 H0 Z6 C
#:set count [:len [/ppp act find]]
% U" p0 |0 R4 e4 r" A:set count [:len [/ip hotspot active find]]
& \) T/ M/ b. B" e5 q#得到平均上传速率
4 g5 y; s% \2 ?8 P, ?; X:set UpAverage ($UpRate/$count)
+ k: x2 g8 i( F$ H' H& j#得到平均下载速率
; K4 \ n. K- e4 ^: b" ]" `5 k:set DownAverage ($DownRate/$count)% J4 ]/ k% L9 @2 U0 h9 L$ m: B. \
#得到限速值
) u' A+ \2 ]* L* a:global LimitAt (($UpAverage * 50 / 100 / 1000 * 1000) . "/" . ($DownAverage * 50 / 100 / 1000 * 1000))
: d. U& X3 _& ^2 Y$ } H, S#最低上传下载速率$ s( i8 {: U" }* T+ F( o h) J# E
:if ($UpAverage < 50000) do={:set UpAverage 50000}
" L4 v2 \* N- s2 m8 Q7 [:if ($DownAverage < 1500000) do={:set DownAverage 1500000}( t* c. v, c& ^" Z& c( m
#得到最大限速! N0 z& [+ ~1 o
:global MaxLimit ($UpAverage . "/" . $DownAverage)2 S9 S' f0 Y* x) ~! m
#突发极限" t" Z( e/ Z/ l: D. R+ p
:global BurstLimit (($UpAverage * 150 / 100 / 1000 * 1000) . "/" . ($DownAverage * 150 / 100 / 1000 * 1000))
6 ~+ h; |0 x, w6 Y% X0 N#突发的平均值
% c( d- I! p: m" j8 N! K8 N- V+ b:global BurstThr (($UpAverage * 60 / 100 / 1000 * 1000) . "/" . ($DownAverage * 60 / 100 / 1000 * 1000))+ }, q/ h7 r3 ]2 \
#突发时间
$ u* c/ ~) l5 f:global BurstTime "1s/1s"
; a" y$ q- P# u( j2 B/que sim0 V0 x' P3 A# o8 u- P
set [find dynamic=yes] queue=default/default interface=all limit-at=$LimitAt max-limit=$MaxLimit burst-limit=$BurstLimit burst-threshold=$BurstThr burst-time=$BurstTime |
|