在线IP连接数的脚本
由于动态限速,所以常要得知在线的IP连接数。在坛子中看了看高手写的三个“IP连接数”有关脚本,在自己的机器中不支持,所以自己也编了一个,现将这些贴出为,希望给大家提供一个方便,由于自己是第一次发贴,有不对的地方也请各位指出来。公共部分
:loc m
:set m 0
1.paldos发的
/ip fir fil add chain=forward src-address=10.195.194.0/24 ction=add-src-to-address-list address-list=pcq_list address-list-timeout=5s comment="cq_list_add"
:set m [:len ]
2.7500015发的
/ip fir fil add chain=forward scr-address=10.0.0.0/24 in-interface=lan action=add-src address-list=连线IP timeout=00:01:00
:foreach s in= do={:set m ($m+1)}
3.7500015发的另一个
:foreach s in= do={:set m ($m+1)}
4.自己写的
:for s from 3 to 30 step 1 do={:if(!="") do={:set m ($m+1)}}
说明:自己写在2.8.22上测试通过,坛子中收集的3个在2.8.22上无法运用,可能是版本不支持吧。
现在已知的问题是:自己写的这个脚本感觉运行效率低,不知有没有哪位大侠指点一下。
[ 本帖最后由 fanxk 于 2008-5-14 09:23 编辑 ] 你到处发这个帖子有什么意义,要得到必行有付出,又要马儿不吃草,又要马儿跑的快,世界上哪有这么好的事情
论编程,我能写出很复杂的脚本,但是99%的情况下没那个必要,毕竟路由器稳定、高效才是王道 不是非常必要,最好不要用脚本,系统运行脚本是需要占用CPU资源的 楼上说得对,运行脚本确实占CPU,上述脚本我用就占100%,不过我的机器也够老的了,CPU是IDT-180的,平时满负荷也只用20%以内。我带了8台机器,每个IP都做的固定限速和限线程,效果比较好,也稳定,就是觉得有点浪费带宽。以前用了网上的超限的动态限速度,效果不好,所以想起了用这种方法,可实验了N久,都没有成功,所以只好自己学编了,由于ROS的脚本命令熟悉,可能走了些弯路,故请高人指点 :local MaxBandwidthDown 4000000
:local MaxBandwidthUp 1000000
:local LimitCount [:len ]
:log info ("On Line IP Count is " . $LimitCount)
:if ([:typeof $OldLimitCount] = nil ) do={
:global OldLimitCount 0
}
:if ($OldLimitCount != $LimitCount) do={
:set OldLimitCount $LimitCount
:local LimitDown ($MaxBandwidthDown/$LimitCount)
:local LimitUp ($MaxBandwidthUp/$LimitCount)
:if ($LimitCount!=0) do={
:if ($LimitDown <= 256000) do={
:if ( != 256000) do={
/queue type set Dynamic_Down pcq-rate=256000
/queue type set Dynamic_Up pcq-rate=128000
}
} else={
/queue type set Dynamic_Down pcq-rate=$LimitDown
/queue type set Dynamic_Up pcq-rate=$LimitUp
}
}
} 我用的2.8.22,不支持楼上的脚本 原帖由 lhn1324 于 2008-5-14 13:27 发表 http://bbs.routerclub.com/images/common/back.gif
:local MaxBandwidthDown 4000000
:local MaxBandwidthUp 1000000
:local LimitCount [:len ]
:log info ("On Line IP Count is " . $LimitCoun ...
什么版本适合得啊?? 楼上的,应该2.9的以上的版本吧 我之前做的思路是按照出口的流量,对内网IP动态限速,
以6M最大带宽为例,小于4M时没个IP 1。5M,大于4M时每个IP 1M,大于5M时每个IP0。5M,大于5。5M时每个IP 0。25M, 当总流量小于1M时恢复每个IP 1。5M
在一个校园网里面使用了半年感觉还算比较理想,不过这里是ADSL,主要还是对上行的做限制,
页:
[1]