当前位置:首页 > Mikrotik > 正文

pppoe用户动态限速脚本

 

##使用时请先在/tool traffic mon里添加高峰与空闲的标记,标记是以/ip firewall address-list里list-name是dshoub的LIST的启用禁用情况为标准的
:local flag
:local uName
:local p2  700/4M
:local p4  800/6M
:local p6  1000/8M

:if ([/ip fire add get [/ip fir add find list=dshoub] disabled ]=false) do={
:set p2  500/2M
:set p4  700/4M
:set p6  800/6M
}

:foreach i in=[/ppp secret find comment!=""] do={
:set flag [:pick [/ppp secret get $i comment] 0 1]
:set uName [/ppp secret get $i name]
###2M动态套餐  (闲时4M带宽,高峰期2M带宽)
:if ($flag=2) do={
:if ([/queue simple find name=("<pppoe-" . $uName . ">") ]!="") do={
:if ([/queue simple get [/queue simple find name=("<pppoe-" . $uName . ">") ] max-limit]!=$p2) do={
/queue simple set [/queue simple find name=("<pppoe-" . $uName . ">") ] limit-at=$p2 max-limit=$p2
}
}
}
###4M动态套餐   (闲时6M带宽,高峰期4M带宽)
:if ($flag=4) do={
:if ([/queue simple find name=("<pppoe-" . $uName . ">") ]!="") do={
:if ([/queue simple get [/queue simple find name=("<pppoe-" . $uName . ">") ] max-limit]!=$p4) do={
/queue simple set [/queue simple find name=("<pppoe-" . $uName . ">") ] limit-at=$p4 max-limit=$p4
}
}
}

###6M动态套餐  (闲时8M带宽,高峰期6M带宽)
:if ($flag=6) do={
:if ([/queue simple find name=("<pppoe-" . $uName . ">") ]!="") do={
:if ([/queue simple get [/queue simple find name=("<pppoe-" . $uName . ">") ] max-limit]!=$p6) do={
/queue simple set [/queue simple find name=("<pppoe-" . $uName . ">") ] limit-at=$p6 max-limit=$p6
}
}
}
}

更新时间 2015-04-21