[原创]真正多线ADSL掉线自动修改PCC参数-脚本 v1.1b20111106, 有超详细注释哟。
本帖最后由 ww111222 于 2011-11-6 03:13 编辑感谢朋友们的 支持, 发现的错误已经修正。
#===================================================================================
# 多线ADSL掉线自动修改PCC参数-脚本 V1.1b20111106 By 塔城陈强
#===================================================================================
# ROS版本 3.30
# 思路: 自动判断ADSL 总线路数,自动判断 正常ADSL线路数
#根据对比,如果正常线路数与总线路数不一致,则更改PCC参数,
#如果 一致,则恢复原有的PCC参数。
# 特别感谢 mikrotik.com官网论坛的 拉脱维亚 的 mrz 让我知道ROS脚本里能用 正则表达式进行搜索。
# http://forum.mikrotik.com/viewtopic.php?f=9&t=56342&p=288025#p288025
# 对 ADSL线路 名称 没有特定要求。
# 对 Mangle 标记连接和标记路由 名称 没有特定要求。
# 要求:所有的ADSL线路都要做PCC
# 变量 pppoeclientAllNum ADSL 总线路数量
# 变量 pppoeclientRunNum 实际运行正常 的 ADSL 线路数量
# 变量 pppoeclientName 实际运行正常 的 ADSL 名
# 变量 z 线路正常后禁止掉的连接标记数。
{
:local pppoeclientAllNum
:local pppoeclientRunNum
:local pppoeclientName
:local z 0
#得到 ADSL 总线路数,包括禁用的,未拨号的。
:set pppoeclientAllNum [:len ]
:log info ("pppoeclientAllNum".$pppoeclientAllNum)
#得到 ADSL 正常线路数。
:set pppoeclientRunNum [:len ]
:log info ("pppoeclientRunNum".$pppoeclientRunNum)
#正常线路数<总线路数
:if ($pppoeclientRunNum < $pppoeclientAllNum) do={
#用一个循环来修改PCC
:for ii from=0 to=($pppoeclientAllNum-1) do={
:log info ("ii".$ii)
#如果ii的值<=(正常线路数-1) (因为ii从0开始的),则修改PCC 连接标记及路由标记
:if ($ii<=($pppoeclientRunNum-1)) do={
#修改 PCC值
/ip firewall mangle set \
per-connection-classifier=("both-addresses:".$pppoeclientRunNum."/".$ii) \
comment=("PCC" . $pppoeclientRunNum . "-" . $ii) \
disable=no
#修改PCC路由标记
本帖最后由 ww111222 于 2011-11-3 01:13 编辑
出来了!!!10个铜板也太贵了吧!! 我看看吧.................. 我还差多少钱啊................... 收葳一下,,没钱。。:( 是好东西,10个铜板我觉得不算贵
建议加精 留名收藏。谢谢 高手出招了,可惜没铜板。 好不好用啊.
我来看出是什么 大家不要用这个脚本,我实际检验,不好用. 感谢分享。。。 kzyfl 发表于 2011-11-5 03:33 static/image/common/back.gif
大家不要用这个脚本,我实际检验,不好用.
能否讲一下,哪里 有问题, 我好改进呀。
谢谢 运行角本后,不能正确修改PCC连接分类器,试过16线PCC 24线PCC负载,都是同样问题.向你推荐个http://bbs.routerclub.com/forum.php?mod=viewthread&tid=48662&extra=page%3D1,你试试吧,这个绝对精准. 不管怎么样 学习了