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 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 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)重回優先為止。
/ip route
add check-gateway=ping distance=1 gateway=192.168.1.1
本帖最后由 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 检查,如果已经存在,就不改写
cspm333 发表于 2020-7-3 20:29
或者根本不需要ping與script,透過路由表優先權(distance)解決。
/ip route
如果网关还能通讯,外网断了。你这种办法就不行了。
页:
[1]