Hoje veremos um exemplo de scripts de failover para Mikrotik utilizando a ferramenta Netwatch e monitorando mais de 01 host.
Neste exemplo, partiremos do princípio que existem 02 links de internet (principal e backup).
Iremos monitorar 03 endereços IP: 208.67.222.222, 208.67.220.220 e 1.0.0.1. É importante utilizar IPs confiáveis e que não estejam sendo utilizados em sua rede, pois, em caso de falha no link principal, estes endereços ficarão inacessíveis.
1 – Configurar as rotas default (para o link principal e backup) e adicionar os comentários:
- Link principal: /ip route add dst-address=0.0.0.0/0 gateway=192.168.100.1 distance=1 comment=ISP1
- Link backup: /ip route add dst-address=0.0.0.0/0 gateway=192.168.200.1 distance=10 comment=ISP2
- /ip route add dst-address=208.67.222.222 gateway=192.168.100.1 distance=1 comment=Monitor1
- /ip route add dst-address=208.67.220.220 gateway=192.168.100.1 distance=1 comment=Monitor2
- /ip route add dst-address=1.0.0.1 gateway=192.168.100.1 distance=1 comment=Monitor3
- /system script add name=linkdown policy=read,write,test,reboot source=”:if (([/ping 208.67.220.220 interval=5 count=4] =0) && ([/ping 1.0.0.1 interval=5 count=4] =0)) do={/ip route set [/ip route find where comment=ISP1] disabled=yes; /ip firewall connection tracking set enabled=no; :delay 5s; /ip firewall connection tracking set enabled=yes;/system script run 1} else={:if ([/ping 208.67.222.222 interval=5 count=4] =0) do={/system script run 0}}”
- /system script add name=linkup policy=read,write,test,reboot source=”:if (([/ping 208.67.220.220 interval=5 count=4] >0) || ([/ping 208.67.222.222 interval=5 count=4] >0) || ([/ping 1.0.0.1 interval=5 count=4] >0)) do={/ip route set [/ip route find where comment=ISP1] disabled=no; /ip firewall connection tracking set enabled=no; :delay 5s; /ip firewall connection tracking set enabled=yes} else={/system script run 1}”
- /tool netwatch add host=208.67.222.222 comment=Netwatch_Monitor down-script=linkdown up-script=linkup
Mikrotik – Scripts de Failover usando Netwatch e monitorando múltiplos Hosts