少尉
- 注册时间
- 2011-6-27
- 金币
- 377 个
- 威望
- 1 个
- 荣誉
- 0 个
尚未签到
|
本帖最后由 aieee 于 2011-7-29 14:50 编辑 r! A2 g1 ^. d4 V8 z
2 s" R" I: g5 F7 j
以下脚本是ros2.9.6的pppoe脚本!希望ros高手帮我改成ros5.2 可以使用的!& C1 ?6 Z% w- Q
另外我想用hotspot来做!功能和pppoe一样!
( b3 n: T( o; f5 R; ]5 z& Z) o# n% Q当只有一个用户的时候 整个宽带用完!两个用户时平分!
: l L! N) h7 j8 Y5 P2 S7 f====================================================" R' M+ r5 c J
#客户数量0 T/ S" G" l7 {$ o1 E
:local count1 0
& Q6 B( j4 p- A, l- A* n#上传速率,这里是2条ADSL
' g& r" u3 i$ r:local UpRate (1*500000)
9 M o% ?6 H: Z4 l, k7 U$ @#下载速率+ P4 I _; I- K5 u) L) M
:local DownRate (1*6000000)' d3 I# e& |. P, c
#平均上传速率
! a% b; \% N' R:local UpAverage 25000
5 H3 V" Y6 I/ u0 r" ^# K3 K3 y8 u#平均下载速率
- r! ~. p6 |( H: y:local DownAverage 1500000
- [8 n* v. y3 b, [: H+ i8 Z; f#得到客户数量: ~" S0 ^' g9 q
:set count1 [:len [/ppp act find]]/ L; b' c3 q( \3 ]* v
#得到平均上传速率: ?' P: X0 e4 O0 p3 L
:set UpAverage ($UpRate/$count1)
0 {; B" {. t& z* O#得到平均下载速率% h+ `: f5 a3 X# F) i8 O+ n8 ~, I
:set DownAverage ($DownRate/$count1)( @5 A' A5 o1 c/ G0 W o' j
#得到限速值4 N( Q2 W/ l; E% I, K/ E/ U# |
:local LimitAt (($UpAverage*50/100/1000*1000) . "/" . ($DownAverage*50/100/1000*1000))
7 }" K8 Z$ D7 C#最低上传下载速率
5 S0 t6 K& i2 U( b7 G:if ($UpAverage < 25000) do={:set UpAverage 25000}) {" l* Y5 l" S
:if ($DownAverage < 1500000) do={:set DownAverage 1500000}% e$ h9 J0 g9 }7 g, E! B: G$ }: [) {/ ?
#得到最大限速8 V7 @( \# O4 ]3 U( k& R' ~
:local MaxLimit ($UpAverage . "/" . $DownAverage)! z: s! A6 U5 E9 T/ Q3 P: C+ H
#突发极限) U# O: @/ h ]) H# |
:local BurstLimit (($UpAverage*150/100/1000*1000) . "/" . ($DownAverage*150/100/1000*1000))
% ?0 b" B0 D& Y; {2 u#突发的平均值
+ U5 W, c0 W( t9 ~# U: X:local BurstThr (($UpAverage*60/100/1000*1000) . "/" . ($DownAverage*60/100/1000*1000)) Z7 N* }* ?# q4 _4 `1 W
#突发时间4 t! N; s+ n! S" i) k% i9 @
:local BurstTime "3s/10s"
8 |: v# {) F' l/que sim
( i" |" c% Z1 Z) ^7 cset [find dynamic=true] queue=default/default limit-at=$LimitAt max-limit=$MaxLimit burst-limit=$BurstLimit burst-threshold=$BurstThr burst-time=$BurstTime! t' s) v) m+ t, p
==================================================================
3 r* R% G6 |: d4 W$ p# c1 t我自己改好了!不知道为什么,定义变量用全局就可以了!还是就是计数哪里有点不同!
3 Q- q3 K8 I' p#客户数量
* U* S. b- o0 j# b( H p:global count 0
4 F. M( k$ h0 ]- S#上传速率,这里是2条ADSL1 A* q* x( Z k& m6 H
:global UpRate (1*500000)6 q0 P9 N" H7 b
#下载速率
1 N) V% B( E9 G% W:global DownRate (1*4000000)0 k$ ]" S, J$ `+ q8 l5 m) G0 y
#平均上传速率$ V2 @! D. U* N/ A8 L
:global UpAverage 20000
& a6 |9 T: x+ i! P8 X, Z#平均下载速率
8 m1 ] F6 g" r: Y:global DownAverage 4000000
% ]; E% J+ J7 P- @#得到客户数量
# @. X( V" z: h5 U' \1 ~' @1 [' C#:set count [:len [/ppp act find]]
8 y( o. P7 R4 C9 S" B1 j:set count [:len [/ip hotspot active find]]
1 j! ?5 c* k" X( p#得到平均上传速率$ t. g& Y( ?9 r7 N" ?- X
:set UpAverage ($UpRate/$count)
s& l2 K) a4 {9 Z/ T#得到平均下载速率9 x5 n* I- @; Z1 Y3 ^( i
:set DownAverage ($DownRate/$count)3 O6 y/ I2 p, Z+ v1 A( \5 ]- n
#得到限速值
9 b. G8 i m: D4 [:global LimitAt (($UpAverage * 50 / 100 / 1000 * 1000) . "/" . ($DownAverage * 50 / 100 / 1000 * 1000))
8 Z8 r8 A/ o" P( H#最低上传下载速率
1 ^" H6 M' u- v' `5 P2 ?:if ($UpAverage < 50000) do={:set UpAverage 50000}
: P; w: Q5 B' s6 y; h:if ($DownAverage < 1500000) do={:set DownAverage 1500000}
% s/ ]% Q# x5 i#得到最大限速
% [# S8 o: u+ E6 F) \:global MaxLimit ($UpAverage . "/" . $DownAverage)
! ?7 {' Y& N9 b1 ^/ J+ E5 O#突发极限# o1 Z! c/ D: P+ |. h5 e1 _$ o
:global BurstLimit (($UpAverage * 150 / 100 / 1000 * 1000) . "/" . ($DownAverage * 150 / 100 / 1000 * 1000))* d0 g' P4 t1 J/ X# e& d% O
#突发的平均值7 a; D6 P- G- x
:global BurstThr (($UpAverage * 60 / 100 / 1000 * 1000) . "/" . ($DownAverage * 60 / 100 / 1000 * 1000))1 v7 [6 v- ~$ d, e9 D& }
#突发时间
: p) `+ u+ [8 d7 \; N$ C:global BurstTime "1s/1s". ?: _6 ?9 R; b
/que sim4 I/ T: e8 @/ C
set [find dynamic=yes] queue=default/default interface=all limit-at=$LimitAt max-limit=$MaxLimit burst-limit=$BurstLimit burst-threshold=$BurstThr burst-time=$BurstTime |
|