找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 130515|回复: 38

[脚本] ros按需分配带宽脚本3.x

  [复制链接]
发表于 2009-3-23 22:33:54 | 显示全部楼层 |阅读模式

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

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

×
希望大家喜欢!呵呵
/ip fir fil
add chain=forward src-address=192.168.0.0/24 action=add-src-to-address-list   address-list=pcq_list address-list-timeout=5s comment="pcq_list_add"

/que typ
add name="pqc_http_down" kind=pcq pcq-rate=824000 pcq-limit=50   pcq-classifier=dst-address pcq-total-limit=200000
add name="pcq_up" kind=pcq pcq-rate=284000 pcq-limit=50    pcq-classifier=src-address pcq-total-limit=20000


/que sim
#取消对网关的限制#
add name="admin" target-addresses=192.168.0.0/24 dst-address=192.168.0.0/24  interface=all parent=none direction=both priority=1 queue=default/default    limit-at=0/0 max-limit=0/0 total-queue=default disabled=no
#PCQ分配#
add name="pcq" target-addresses=192.168.0.0/24 dst-address=0.0.0.0/0    interface=LAN parent=none direction=both priority=8  queue=pcq_up/pqc_http_down limit-at=0/0 max-limit=384000/1000000    burst-limit=384000/1000000 burst-threshold=64000/256000 burst-time=3s/3s    total-queue=default-small disabled=no

脚本1秒1次
:global maxdown
:global maxup
:global mindown
:global minup
:global resDown
:global resUp
:global yz
:global pcqup
:global pcqdown
:global pcqdownold
:global pcqupold
:global a
:global testup
:global testdown
:global pcqitem
:global curUp
:global curDown
:set maxdown 1024000
:set maxup 384000
:set mindown 120000
:set minup 80000
:set resDown 200000
:set resUp 100000
:set yz 100
:set pcqitem [:len [/ip firewall address-list find list=pcq_list]]
:if ($pcqitem!=0) do={
:set pcqdown [/queue type get [/queue type find name=pqc_http_down] pcq-rate]
:set pcqdownold $pcqdown
:set pcqup [/queue type get [/queue type find name=pcq_up] pcq-rate]
:set pcqupold $pcqup
:set curDown 1
:set curUp 1
/int mon PPPOE once do={:set curDown $"received-bits-per-second"}
/int mon PPPOE once do={:set curUp $"sent-bits-per-second"}
:set testdown ($maxdown+-$curDown+-$resDown)
:if ($testdown>0) do={
:set pcqdown ($pcqdown+($testdown/$yz))
}
:if ($testdown<=0) do={
:set pcqdown ($pcqdown+$testdown)
}
:set a ($maxdown+-$resDown)
:if ($pcqdown>$a) do={:set pcqdown $a}
:set a ($maxdown/$pcqitem)
:if ($pcqdown<$a) do={:set pcqdown $a}
:set testup ($maxup+-$curUp+-$resUp)
:if ($testup>0) do={
:set pcqup ($pcqup+($testup/$yz))
}
:if ($testup<=0) do={
:set pcqup ($pcqup+$testup)
}
:set a ($maxup+-$resUp)
:if ($pcqup>$a) do={:set pcqup $a}
:set a ($maxup/$pcqitem)
:if ($pcqup<$a) do={:set pcqup $a}

:if ($pcqdown!=$pcqdownold) do={
:if ($pcqdown>$mindown) do={
/queue type set [/queue type find name="pqc_http_down"] pcq-rate=$pcqdown
} else={
/queue type set [/queue type find name="pqc_http_down"] pcq-rate=$mindown
}
}

:if ($pcqup!=$pcqupold) do={
:if ($pcqup>$minup) do={
/queue type set [/queue type find name="pcq_up"] pcq-rate=$pcqup
} else={
/queue type set [/queue type find name="pcq_up"] pcq-rate=$minup
}
}
}
routeros
发表于 2009-3-24 12:07:26 | 显示全部楼层
顶起
谢谢
收藏了
呵呵
routeros
回复

使用道具 举报

发表于 2009-3-24 12:32:45 | 显示全部楼层
1秒一次太快了吧.路由受不了吧
routeros
回复

使用道具 举报

发表于 2009-3-24 12:43:34 | 显示全部楼层
希望楼主能详细一下.你这个配置是几M的网络.是不是ADSL
routeros
回复

使用道具 举报

 楼主| 发表于 2009-3-24 12:52:05 | 显示全部楼层
本帖最后由 paldos 于 2009-3-24 13:02 编辑

是ADSL,详细的说明可以参见我以前发的帖子
1秒1次,我的ros cpu资源没有多用到1%

http://bbs.routerclub.com/thread-29962-1-1.html
routeros
回复

使用道具 举报

发表于 2009-3-24 13:03:40 | 显示全部楼层
不太能理解这个的原理。
routeros
回复

使用道具 举报

发表于 2009-3-24 13:18:42 | 显示全部楼层
感谢奉献
routeros
回复

使用道具 举报

发表于 2009-3-24 14:24:08 | 显示全部楼层
谢谢兄弟的无私奉献,再多加点文字说明更好。
routeros
回复

使用道具 举报

发表于 2009-3-24 17:15:30 | 显示全部楼层
如果是N线ADSL   /int mon PPPOE once do={:set curDown $"received-bits-per-second"}
/int mon PPPOE once do={:set curUp $"sent-bits-per-second"}
这个流量监控要做N条吗?
routeros
回复

使用道具 举报

 楼主| 发表于 2009-3-24 20:32:12 | 显示全部楼层
9# wbyz20
可用 for 或foreach 来历遍所有的interface
routeros
回复

使用道具 举报

发表于 2009-3-24 21:00:15 | 显示全部楼层
没的说强
routeros
回复

使用道具 举报

发表于 2009-3-24 22:51:43 | 显示全部楼层
需要这样的东西啊
routeros
回复

使用道具 举报

发表于 2009-3-25 23:40:13 | 显示全部楼层
routeros
回复

使用道具 举报

 楼主| 发表于 2009-3-26 10:33:33 | 显示全部楼层
13# liguibin


多线queue正在测试中,过几天就会发出来了。
routeros
回复

使用道具 举报

发表于 2009-3-26 11:22:58 | 显示全部楼层
多谢楼主。。期待多线。还有把我们可以修改的加上红色。最好有说明。标注。这样比较好懂些。好理解些
routeros
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-22 10:57 , Processed in 0.061587 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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