如何判断外网是否连接
如图,外网设置dhcp-client,如何用脚本判断外网连接状态,请大神指教本帖最后由 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,比较准确
显示网关参数的脚本,我请教了官方,给了回复
本帖最后由 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"
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",能用脚本提取出来吗?
e_zhangiso 发表于 2018-8-29 21:44
多谢指教,测试OK!
在多请教下,下图②中红色方框中"wan3",能用脚本提取出来吗?
若只要wan3這個解答:
:local "gateway-status" [:tostr 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 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"
针对第一次的图,根据大神提示,我写了个统计外网连线数量的脚本,感觉有点繁琐,请各位指正
{
: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
}
cspm333 发表于 2018-8-29 22:20
若只要wan3這個解答:
:local "gateway-status" [:tostr gatewa ...
膜拜!!!!!
本帖最后由 cspm333 于 2018-8-30 02:02 编辑
擷取pppoe的撥號參數:
/interface pppoe-client monitor pppoe-out1 once do={}
本帖最后由 47771885 于 2018-8-30 12:44 编辑
{
/ip dhcp-client
:local a;:local b;
:local aa
:foreach i in=$aa do={
:set a ;
:set b
#:put ($a . " " . $b)
:if ($b = "bound") do={
:log warning ($a . " " . $b)
} else={
:log error ($a . " " . $b)
}
}
:log warning ("\BB\B6\D3\AD\CA\B9\D3\C3Www.ros.sh\BD\C5\B1\BE");
}
---------------------------ethernet 修改 uni"] 参数为实际应用
{
/interface ethernet
:local aa
:foreach i in=$aa do={
monitor $i once do={
#:put ($name . " " . $status . " " .$rate)
:if ($status = "link-ok") do={
:log warning ($name . " " . $status . " " .$rate)
} else={
:log error ($name . " " . $status)
}
}
}
:log warning ("\BB\B6\D3\AD\CA\B9\D3\C3Www.ros.sh\BD\C5\B1\BE");
}
本帖最后由 cspm333 于 2018-8-31 11:35 编辑
e_zhangiso發表於2018-8-29 22:23
針對第一次的圖,根據大神提示,我寫了個統計外網連線數量的腳本,感覺有點繁瑣,請各位指正
{
#要簡化script可以這樣編譯:
:local y 0
:foreach i in=uni-1,uni-2 do={
/interface ethernet monitor $i once do={
:if ($status="link-ok") do={:set y ($y+1)}
}
}
/put $y
页:
[1]