• 宁陵县:法院家事的实践与创新 2019-03-24
  • 日照:前5个月日照税收比重居山东省第二位 2019-03-22
  • 武警部队“长城-2018”反恐国际论坛在京开幕 2019-03-22
  • 税费“红包”助推高质量发展 2019-03-21
  • 电影人共聚“微博电影之夜” 张艺谋:如果不当导演就当守门员 2019-03-21
  • 陕西拍摄到野化放归林麝活动影像 放归林麝已度过危险期 2019-03-15
  • 国宝级黄腹角雉住进三清山 2019-03-15
  • 王石田朴珺罕见亲密写真曝光 女方喂男方冰淇淋娇羞甜蜜 2018-11-22
  • 世界很多国家想拥有核弹,但迫于种种原因而没能实现。 2018-11-21
  • 人事 江西两设区市任免一批领导干部 2018-11-20
  • 自由的生活_软路由论坛

     找回密码
     注册

    QQ登录

    只需一步,快速开始

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

    广西11选五18091074: [脚本] 如何判断外网是否连接

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

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

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

    x
    如图,外网设置dhcp-client,如何用脚本判断外网连接状态,请大神指教
    routeros
    推荐
     楼主| 发表于 2018-8-31 11:32:58 | 只看该作者
    本帖最后由 e_zhangiso 于 2018-8-31 11:40 编辑
    cspm333 发表于 2018-8-30 21:38
    #要簡化script可以這樣編譯:
    :local y 0
    :foreach i in=uni-1,uni-2 do={

    多谢指教,可以使用,但我考虑了下,外网自动获取IP的,通过监控这个"link-ok",不是很准确,还是监控/ip dhcp-client 中的status是否为bound,比较准确

    显示网关参数的脚本,我请教了官方,给了回复

    routeros
    2#
    发表于 2018-8-29 19:01:11 | 只看该作者
    本帖最后由 cspm333 于 2018-8-29 19:02 编辑

    :local "uni-1"
    :local "uni-2"
    /interface ethernet monitor uni-1 once do={:set "uni-1" $status}
    /interface ethernet monitor uni-2 once do={:set "uni-2" $status}

    /put $"uni-1"
    /put $"uni-2"
    routeros
    3#
     楼主| 发表于 2018-8-29 21:44:52 | 只看该作者
    cspm333 发表于 2018-8-29 19:01
    :local "uni-1"
    :local "uni-2"
    /interface ethernet monitor uni-1 once do={:set "uni-1" $status}

    多谢指教,测试OK!

    在多请教下,下图②中红色方框中"wan3",能用脚本提取出来吗?





    routeros
    4#
    发表于 2018-8-29 22:20:05 | 只看该作者
    e_zhangiso 发表于 2018-8-29 21:44
    多谢指教,测试OK!

    在多请教下,下图②中红色方框中"wan3",能用脚本提取出来吗?

    若只要wan3這個解答:
    :local "gateway-status" [:tostr [/ip route get [find gateway=10.0.8.18] gateway-status]]
    :set "gateway-status" [:pick $"gateway-status" ([:find $"gateway-status" "via"]+5) [:len $"gateway-status"]]
    /put $"gateway-status"

    若是reachable wan3這個解答:
    :local "gateway-status" [:tostr [/ip route get [find gateway=10.0.8.18] gateway-status]]
    :set "gateway-status" [:pick $"gateway-status" ([:find $"gateway-status" "via"]+5) [:len $"gateway-status"]]
    :set "gateway-status" "reachable $"gateway-status""
    /put $"gateway-status"


    routeros
    5#
     楼主| 发表于 2018-8-29 22:23:39 | 只看该作者
    针对第一次的图,根据大神提示,我写了个统计外网连线数量的脚本,感觉有点繁琐,请各位指正

    {
    :local x1
    :local x2
    :local y
    :local y1
    :local y2
    /interface ethernet monitor "uni-1" once do={:set x1 $status}
    /interface ethernet monitor "uni-2" once do={:set x2 $status}
    :if (($x1~"link-ok")=yes) do={
    :set y1 "1"} else={set y1 "0"}
    :if (($x2~"link-ok")=yes) do={
    :set y2 "1"} else={set y2 "0"}
    :set y [:put ($y1+$y2)]
    :put $y
    }

    routeros
    6#
     楼主| 发表于 2018-8-29 22:38:04 | 只看该作者
    cspm333 发表于 2018-8-29 22:20
    若只要wan3這個解答:
    :local "gateway-status" [:tostr [/ip route get [find gateway=10.0.8.18] gatewa ...

    膜拜!!!!!
    routeros
    7#
    发表于 2018-8-30 00:51:22 | 只看该作者
    本帖最后由 cspm333 于 2018-8-30 02:02 编辑

    擷取pppoe的撥號參數:
    /interface pppoe-client monitor pppoe-out1 once do={}


    routeros
    8#
    发表于 2018-8-30 12:08:09 | 只看该作者
    本帖最后由 47771885 于 2018-8-30 12:44 编辑
    1. {
    2. /ip dhcp-client
    3. :local a;:local b;
    4. :local aa [find disabled=no]
    5. :foreach i in=$aa do={
    6. :set a [get $i interface];
    7. :set b [get $i status]
    8. #:put ($a . " " . $b)
    9. :if ($b = "bound") do={
    10. :log warning ($a . " " . $b)
    11. } else={
    12. :log error ($a . " " . $b)
    13. }
    14. }
    15. :log warning ("\BB\B6\D3\AD\CA\B9\D3\C3Www.ros.sh\BD\C5\B1\BE");
    16. }
    复制代码













    ---------------------------ethernet 修改 [find  name~"^uni"] 参数为实际应用
    1. {
    2. /interface ethernet
    3. :local aa [find  name~"^uni"]
    4. :foreach i in=$aa do={
    5. monitor $i once do={
    6. #:put ($name . " " . $status . " " .$rate)
    7. :if ($status = "link-ok") do={
    8. :log warning ($name . " " . $status . " " .$rate)
    9. } else={
    10. :log error ($name . " " . $status)
    11. }
    12. }
    13. }
    14. :log warning ("\BB\B6\D3\AD\CA\B9\D3\C3Www.ros.sh\BD\C5\B1\BE");
    15. }
    复制代码





    routeros
    9#
    发表于 2018-8-30 21:38:41 | 只看该作者
    本帖最后由 cspm333 于 2018-8-31 11:35 编辑
    e_zhangiso發表於2018-8-29 22:23
    針對第一次的圖,根據大神提示,我寫了個統計外網連線數量的腳本,感覺有點繁瑣,請各位指正

    {

    #要簡化script可以這樣編譯:
    1. :local y 0
    2. :foreach i in=uni-1,uni-2 do={
    3.   /interface ethernet monitor $i once do={
    4.  :if ($status="link-ok") do={:set y ($y+1)}
    5.   }
    6. }
    7. /put $y
    复制代码


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

    本版积分规则

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

    GMT+8, 2019-3-26 18:43 , Processed in 0.158154 second(s), 25 queries , Gzip On, MemCache On.

    Powered by Discuz! X3.4 Licensed

    © 2001-2017 Comsenz Inc.

    快速回复 广西11选5历史 返回列表
  • 宁陵县:法院家事的实践与创新 2019-03-24
  • 日照:前5个月日照税收比重居山东省第二位 2019-03-22
  • 武警部队“长城-2018”反恐国际论坛在京开幕 2019-03-22
  • 税费“红包”助推高质量发展 2019-03-21
  • 电影人共聚“微博电影之夜” 张艺谋:如果不当导演就当守门员 2019-03-21
  • 陕西拍摄到野化放归林麝活动影像 放归林麝已度过危险期 2019-03-15
  • 国宝级黄腹角雉住进三清山 2019-03-15
  • 王石田朴珺罕见亲密写真曝光 女方喂男方冰淇淋娇羞甜蜜 2018-11-22
  • 世界很多国家想拥有核弹,但迫于种种原因而没能实现。 2018-11-21
  • 人事 江西两设区市任免一批领导干部 2018-11-20