找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4752|回复: 2

[限速] 终极ROS单IP动态限速脚本(带中文注释)

[复制链接]
发表于 2008-2-20 10:08:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
#定义变量
#脚本停止开关
:global IsRun true

#当前下行总流量变量
:global RxCurRate 1000000
#当前限定的单IP下行带宽
:global RxCurSet 5000000
#单IP最大下行带宽
:global RxMaxRate 8000000
#单IP最小下行带宽
:global RxMinRate 1000000
#总下行流量阀值
:global RxSwRate 18000000

#当前上行总流量变量
:global TxCurRate 1000000
#当前限定的单IP上行带宽
:global TxCurSet 5000000
#单IP最大上行带宽
:global TxMaxRate 8000000
#单IP最小上行带宽
:global TxMinRate 1000000
#总上行流量阀值
:global TxSwRate 18000000
#带宽变动步进值
:global StepRate 500000

#合法用户地址列表名称
:global ListName "userlist"


:while ($IsRun) do={
#取得当前下行总流量
/interface monitor-traffic wan once do={:set RxCurRate $received-bits-per-second}

#取得当前上行总流量
/interface monitor-traffic wan once do={:set TxCurRate $sent-bits-per-second}

#设置单IP下行带宽新值
:if ($RxCurRate<$RxSwRate) do={
  :if ($RxCurSet<$RxMaxRate) do={
    :set RxCurSet ($RxCurSet + $StepRate)}
} else={
  :if ($RxCurSet>$RxMinRate) do={
    :set RxCurSet ($RxCurSet + -$StepRate)}}

#设置单IP上行带宽新值
:if ($TxCurRate<$TxSwRate) do={
  :if ($TxCurSet<$TxMaxRate) do={
    :set TxCurSet ($TxCurSet + $StepRate)}
} else={
  :if ($TxCurSet>$TxMinRate) do={
    :set TxCurSet ($TxCurSet + -$StepRate)}}
   
#应用新的单IP上下行带宽限定值到QUEUE
#取得合法用户地址列表中地址数
:local AddCount ([ip firewall address-list print count-only] - 1)
#循环变量
:local i 10
#临时存放地址列表名的变量
:local tlist
#临时存放地址的变量
:local tadd

:for i from=0 to=$AddCount do={
  :set tlist [/ip firewall address-list get $i list]
  :set tadd  [/ip firewall address-list get $i address]
  :if ($tlist = $ListName) do={
    :if ([:len [/queue simple find dst-address=$tadd]] > 0) do={
      /queue simple set $tadd limit-at=[:tostr ($RxCurSet . "/" . $TxCurSet)]  max-limit=[:tostr (($RxCurSet * 2) . "/" . ($TxCurSet * 2))]
    } else={
      /queue simple add name=$tadd dst-address=$tadd limit-at=[:tostr ($RxCurSet . "/" . $TxCurSet)]  max-limit=[:tostr (($RxCurSet * 2) . "/" . ($TxCurSet * 2))]
    }
  }
}

#循环间隔时间(3分种)
:delay 3m
}
routeros
发表于 2008-2-20 11:48:02 | 显示全部楼层
正在测试看看
routeros
回复

使用道具 举报

发表于 2008-2-20 11:52:40 | 显示全部楼层
看不懂呀。
routeros
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|软路由 ( 渝ICP备15001194号-1|渝公网安备 50011602500124号 )

GMT+8, 2024-5-17 14:36 , Processed in 0.048218 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表