找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 12549|回复: 9

[脚本] 如何判断外网是否连接

[复制链接]
发表于 2018-8-29 18:49:02 | 显示全部楼层 |阅读模式

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

您需要 登录 才可以下载或查看,没有账号?注册

×
如图,外网设置dhcp-client,如何用脚本判断外网连接状态,请大神指教
QQ图片20180829183521.png
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,比较准确

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

QQ图片20180831113545.png
routeros
回复 1 0

使用道具 举报

发表于 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
回复

使用道具 举报

 楼主| 发表于 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",能用脚本提取出来吗?

263bab76245815f91f04409fe1fa4e90.png



11af56e0fff6188f6dddd59024b55de0.png
routeros
回复

使用道具 举报

发表于 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
回复

使用道具 举报

 楼主| 发表于 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
回复

使用道具 举报

 楼主| 发表于 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
回复

使用道具 举报

发表于 2018-8-30 00:51:22 | 显示全部楼层
本帖最后由 cspm333 于 2018-8-30 02:02 编辑

擷取pppoe的撥號參數:
/interface pppoe-client monitor pppoe-out1 once do={}
2018-08-30 01-10-17 的螢幕擷圖.png

routeros
回复

使用道具 举报

发表于 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. }
复制代码

dhcp status

dhcp status












---------------------------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. }
复制代码

ethernet

ethernet




routeros
回复

使用道具 举报

发表于 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|手机版|小黑屋|软路由 ( 渝ICP备15001194号-1|渝公网安备 50011602500124号 )

GMT+8, 2024-4-26 01:49 , Processed in 0.256653 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表