星空之云 发表于 2020-7-3 17:26:01

Netwatch 多线路检测ping切换如何使用?

例如 A线路的IP地址是1.1.1.100,默认网关是1.1.1.1 ;       B线路的IP地址是2.2.2.100,默认网关是2.2.2.2;

通过源地址1.1.1.100去ping 114.114.114.114 ,如果断了切换2.2.2.100的出口。
如果源地址1.1.1.100去ping 114.114.114.114恢复通讯,将自动切换回1.1.1.100

这个可以做到不?





cspm333 发表于 2020-7-3 19:39:31

本帖最后由 cspm333 于 2020-7-3 20:10 编辑

一般的script可以,用排程定時執行即可;
而netwatch無法指定wan接口,透過netwatch反而辦不到。

#script:
:local check (>0)
:local id ="nil"]
:local gw
:if ($check && $gw="2.2.2.2") do={/ip route set $id gateway=1.1.1.1}
:if (!$check && $gw="1.1.1.1") do={/ip route set $id gateway=2.2.2.2}


cspm333 发表于 2020-7-3 20:29:26

本帖最后由 cspm333 于 2020-7-3 21:16 编辑

或者根本不需要ping與script,透過路由表優先權(distance)解決。

/ip route
add gateway=1.1.1.1 distance=1
add gateway=2.2.2.2. distance=2

若權1 gateway正常,路由從1.1.1.100出;
若權1不正常,則由權2 (2.2.2.100)遞補,直至權1 (1.1.1.100)重回優先為止。

xuxi3201 发表于 2020-7-4 08:52:14

/ip route
add check-gateway=ping distance=1 gateway=192.168.1.1

xuxi3201 发表于 2020-7-6 10:19:02

本帖最后由 xuxi3201 于 2020-7-6 12:49 编辑

入门用户:
/ip route
add check-gateway=ping distance=1 gateway=192.168.1.1



初级用户:
/ip route
add check-gateway=ping comment=A distance=10 gateway=192.168.1.1
add check-gateway=ping comment=B distance=20 gateway=192.168.2.1

tools菜单下面netwatch增加一个
host行: 114.114.114.114
down栏目
:foreach aaa in= do={/ip route set $aaa distance=30}

tools菜单下面netwatch增加第二个
host行: 192.168.1.1
up栏目
:foreach aaa in= do={/ip route set $aaa distance=10}



中级用户:
做 /ip route set $aaa distance=30 检查,如果已经存在,就不改写
做 /ip route set $aaa distance=10 检查,如果已经存在,就不改写

星空之云 发表于 2020-8-18 11:18:09

cspm333 发表于 2020-7-3 20:29
或者根本不需要ping與script,透過路由表優先權(distance)解決。

/ip route


如果网关还能通讯,外网断了。你这种办法就不行了。
页: [1]
查看完整版本: Netwatch 多线路检测ping切换如何使用?