|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
×
本帖最后由 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 [/interface pppoe-client find ]]
- :log info ("pppoeclientAllNum".$pppoeclientAllNum)
-
- #得到 ADSL 正常线路数。
- :set pppoeclientRunNum [:len [/interface pppoe-client find running=yes]]
- :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 [find per-connection-classifier~("/".$ii."\$")] \
- per-connection-classifier=("both-addresses:".$pppoeclientRunNum."/".$ii) \
- comment=("PCC" . $pppoeclientRunNum . "-" . $ii) \
- disable=no
-
- #修改PCC路由标记
复制代码
07_多线ADSL掉线自动修改PCC参数-脚本 V1.0 By 塔城陈强.rar
(1.65 KB, 下载次数: 131, 售价: 5 铜板)
|
评分
-
查看全部评分
|