• 编辑评测:高夫净源控油平衡露 极速补水长效控油 2019-06-14
  • 标记生成出错,请与管理员联系! 2019-06-14
  • 伊春市纪委监委通报7起违反中央八项规定精神的典型问题 2019-06-12
  • 第十二届人民企业社会责任奖评选启动 2019-06-12
  • 中国武器亮相国外 铁甲雄狮大秀视觉盛宴 2019-06-02
  • 城管炫富是病,得治! 2019-06-02
  • 陕西省贫困村驻村工作队选派管理办法出台 2019-05-26
  • 花开时节探访洛阳 遍地古迹中品读古都独特魅力 2019-05-26
  • “体育+旅游”使景区成为休闲度假目的地 2019-05-25
  • 就凭这样一句,你的思想就非常够呛,无视楼梯 2019-05-25
  • 成自泸高速货车冲到对面车道侧翻 致1死9伤 2019-05-21
  • “黄金单身汉”英国哈里王子宣布订婚 2019-05-16
  • 光是一个梨子的滋味就改变了方向,说讲事实摆道理,就是要你按他的指挥棒转,属于忽悠网友的口实 2019-04-18
  • 日照市妇幼保健院:免费健康体检送进福利院 2019-04-18
  • 【专题】2018贵州省两会 2019-04-12
  • 自由的生活_软路由论坛

     找回密码
     注册

    QQ登录

    只需一步,快速开始

    搜索
    查看: 2774|回复: 9
    打印 上一主题 下一主题

    广西快三彩经网: [脚本] 切换用户规则

    [复制链接]
    跳转到指定楼层
    1#
    发表于 2018-8-19 12:44:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

    广西11选5历史 www.jqel.net 您需要 登录 才可以下载或查看,没有帐号?注册

    x
    以下是经测试可以在6.X版本上使用的脚本,分享出来,有高手能把两个脚本合二为一就更好。

    :global telstatus1
    :global telstatus2
    :delay 16;
    :set telstatus1 [/interface get [/interface find name="tel-1"] running]
    :set telstatus2 [/interface get [/interface find name="tel-2"] running]
    :if (($telstatus1=false) && ($telstatus2=false)) do={
    /ppp secret;
    :foreach tepuse in=[find disabled=no comment="tel"] do={
    :local tenam [get $tepuse name];
    :local tezprof [get $tepuse profile];
    :local tei "2"
    :for teii from=1 to=$tei do={
    :if ($tezprof=("adsl".$teii)) do={
    /ppp secret set [/ppp secret find name=$tenam] profile=("ADSL".$teii);
    /ppp active remove [/ppp active find name=$tenam]}
    :if ($tezprof=("vip".$teii)) do={
    /ppp secret set [/ppp secret find name=$tenam] profile=("VIP".$teii);
    /ppp active remove [/ppp active find name=$tenam]}
           }
         }
       }
    }



    第二个脚本

    {
    :local telpx "0"
    :set telpx [:len [/interface pppoe-client find running=yes (name~"uni")=no]]
    :if ($telpx>1) do={
    /ppp secret;
    :foreach tepuse in=[find disabled=no comment="tel"] do={
    :local tenam [get $tepuse name];
    :local tezprof [get $tepuse profile];
    :local tei "2"
    :for teii from=1 to=$tei do={
    :if ($tezprof=("ADSL".$teii)) do={
    /ppp secret set [/ppp secret find name=$tenam] profile=("adsl".$teii);
    /ppp active remove [/ppp active find name=$tenam]}
    :if ($tezprof=("VIP".$teii)) do={
    /ppp secret set [/ppp secret find name=$tenam] profile=("vip".$teii);
    /ppp active remove [/ppp active find name=$tenam]}
           }
         }
       }
    }




    routeros
    2#
    发表于 2018-8-19 17:57:05 | 只看该作者
    干什么用的 ?
    routeros
    3#
     楼主| 发表于 2018-8-19 19:33:13 | 只看该作者
    两条电信线路全部断线,将用户切换到联通线路,当电信线路有一半以上恢复的时候,在把电信用户从联通切换回来。
    routeros
    4#
    发表于 2018-8-19 23:18:50 | 只看该作者
    本帖最后由 cspm333 于 2018-8-19 23:49 编辑

    您script寫的太複雜了,有部份是router自帶的能力,不需要全靠script安排.

    在/ppp profile新增tel-profile設定檔,將tel-1與tel-2撥號都指定tel- profile.

    tel-profile裡的script頁籤可設定腳本,
    on-up是撥號成要執行的;on-down是離線時執行的.所以只要:

    on-up:
    /interface pppoe-c disable [find name~"uni" disabled=no]

    on-down:
    :if ([:len [/interface pppoe-c find name~"tel" running=yes]]=0) do={/interface pppoe-c enable [find name~"uni" disabled=yes]}

    說明:
    兩個電信套上tel-profile ,會去run on-up即代表至少目前這筆電信的pppoe撥號是成功的.
    所以這時的script就只有一個目的,將未關閉的聯通給關閉.

    當tel-profile run on-down時,即代表目前的pppoe轉成離線...
    所以script要先計數電信是否還有在線上的,若記數的結果為0 ,則將關閉中的聯通全給啟用.

    点评

    赞,本来也想回复类似内容,但没楼上说得明白  发表于 2018-8-19 23:29
    routeros
    5#
     楼主| 发表于 2018-8-20 20:34:54 | 只看该作者
    本帖最后由 e_zhangiso 于 2018-8-20 21:15 编辑
    cspm333 发表于 2018-8-19 23:18
    您script寫的太複雜了,有部份是router自帶的能力,不需要全靠script安排.

    在/ppp profile新增tel-profile ...

    感谢大神回复,我的这种情况比较特殊,内部用户分为电信用户和联通用户,分别进行标记路由,平时线路正常的情况下只允许电信走电信,联通走联通,二者收费不同,只有在极端情况下,例如电信全部断线,才让电信用户走联通双线进行负载,所以通过切换出口进行线路转换行不通,况且新版ROS也能够不需要脚本自动切换默认路由,所以我是通过切换用户规则,指定用户走相应的线路,电信双线和联通双线分别进行PCC负载均衡。
    routeros
    6#
    发表于 2018-8-20 20:39:14 | 只看该作者
    完全不需要用脚本的
    routeros
    7#
    发表于 2018-8-23 03:04:30 | 只看该作者
    本帖最后由 cspm333 于 2018-8-23 10:24 编辑
    e_zhangiso 發表於 2018-8-20 20:34
    感謝大神回覆,我的這種情況比較特殊,內部用戶分為電信用戶和聯通用戶,分別進行標記路由,平時線路正常 ...
    #負載標記script:
    :local connected [/interface pppoe-c find running=yes]
    :local notyet [/interface pppoe-c find running=no]

    :local pppoe
    :foreach i in=$connected do={:set pppoe "$pppoe,$i"}
    :foreach i in=$notyet do={:set pppoe "$pppoe,$i"}
    :set pppoe [:toarray [:pick $pppoe 1 [:len $pppoe]]]

    :foreach v,i in=[/ip firewall mangle find action=mark-routing] do={
       :local nrm "to_$[/interface pppoe-c get [:pick $pppoe $v] name]"
       :if (($v+1)<=[:len $connected]) do={
              /ip firewall mangle set $i disabled=no  new-routing-mark=$nrm \
                 per-connection-classifier="src-port:$[:len $connected]/$v"
          } else={
              /ip firewall mangle set $i disabled=yes new-routing-mark=$nrm !per-connection-classifier
          }
    }

    routeros
    8#
     楼主| 发表于 2018-8-23 12:18:40 | 只看该作者
    cspm333 发表于 2018-8-23 03:04
    #負載標記script:
    :local connected [/interface pppoe-c find running=yes]
    :local notyet [/interface pp ...

    感谢指导,脚本加上注释才好,有些地方真心看不明。
    routeros
    9#
    发表于 2018-8-23 14:25:30 | 只看该作者
    本帖最后由 cspm333 于 2018-8-23 21:49 编辑
    e_zhangiso 發表於 2018-8-23 12:18
    感謝指導,腳本加上註釋才好,有些地方真心看不明。

    第1段落: 分別搜尋已連線與未連線的pppoe
    第2段落: 將已連線 與未連線的id再合併併入pppoe變數.已連線在前,未連線的在後.

    第3段落:
    迴圈開始,因變數pppoe已將連線的id排在前,未連線的id排在後
    所以計數($v+1) 註:迴圈計數是從0開始,所以需用$v+1來辨識
    <=已連線的量,設定PCC參數並啟用;

    當計數($v+1)>已連線的量時,則代表迴圈進入未連線的id...關閉並取消PCC.

    若還看不懂計數$v與foreach的關係,閱讀下圖一定能明白:

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

    本版积分规则

    QQ|小黑屋|手机版|Archiver|广西11选5历史 ( 渝ICP备15001194号-1,渝公网安备 50011602500124号 )

    GMT+8, 2019-3-17 01:43 , Processed in 0.144917 second(s), 25 queries , Gzip On, MemCache On.

    Powered by Discuz! X3.4 Licensed

    © 2001-2017 Comsenz Inc.

    快速回复 广西11选5历史 返回列表
  • 编辑评测:高夫净源控油平衡露 极速补水长效控油 2019-06-14
  • 标记生成出错,请与管理员联系! 2019-06-14
  • 伊春市纪委监委通报7起违反中央八项规定精神的典型问题 2019-06-12
  • 第十二届人民企业社会责任奖评选启动 2019-06-12
  • 中国武器亮相国外 铁甲雄狮大秀视觉盛宴 2019-06-02
  • 城管炫富是病,得治! 2019-06-02
  • 陕西省贫困村驻村工作队选派管理办法出台 2019-05-26
  • 花开时节探访洛阳 遍地古迹中品读古都独特魅力 2019-05-26
  • “体育+旅游”使景区成为休闲度假目的地 2019-05-25
  • 就凭这样一句,你的思想就非常够呛,无视楼梯 2019-05-25
  • 成自泸高速货车冲到对面车道侧翻 致1死9伤 2019-05-21
  • “黄金单身汉”英国哈里王子宣布订婚 2019-05-16
  • 光是一个梨子的滋味就改变了方向,说讲事实摆道理,就是要你按他的指挥棒转,属于忽悠网友的口实 2019-04-18
  • 日照市妇幼保健院:免费健康体检送进福利院 2019-04-18
  • 【专题】2018贵州省两会 2019-04-12
  • nba热火vs篮网 牌九历史 竞彩足球中国竞彩网 平特日报2019彩图 全民突击2019觉醒路线图枪械 体育彩票销售点申请 极速抢钱送彩金 平特一肖最长不开历史 黑龙江时时彩0039612 湖北快3综合走势 彩客网比分 2019年特码玄机二句诗 古装片电视剧逆水寒 无限法则手机版如何下载 重庆欢乐生肖玩法介绍 重庆幸运农场开奖结果查询