Failover - Improved_Netwatch_II [ RESOLVIDO ]
Pessoal, estou testando o script de Failover que esta no wiki.mikrotik.com/wiki/Improved_Netwatch_II. No meu caso o script1 funciona normalmente, mas o script2 não esta atendendo a minha demanda , pois ele realiza o teste de ping para retornar para a rota default, mas não checa se esta saindo pelo link primário, sendo assim sempre que executo o script2 mesmo saindo pelo link secundario e com o link principal fora, ele realiza o ping, resolve o host e volta a rota default para o link primario que ainda esta inoperante.
Por acaso alguem já utilizou este script e poderia me ajudar a entender e enxergar na onde esta o erro? Ou me ajudar a criar uma validação que force o script2 a passar pelo link primário, para testar o retorno do link.
script 1:
:local i 0; {:do {:set i ($i + 1)} while (($i < 5) && ([/ping 64.233.169.99 interval=3 count=1]=0))}; :if ($i=5 && [/ip route get [find comment="Default Route"] distance]=1) do={:log info "Main Gateway down"; /ip route set [find comment="Default Route"] distance=3}
script 2:
:local i 0; {:do {:set i ($i + 1)} while (($i < 5) && ([/ping 64.233.169.99 interval=3 count=1]=1))}; :if ($i=5 && [/ip route get [find comment="Default Route"] distance]=3) do={:log info "Main Gateway up"; /ip route set [find comment="Default Route"] distance=1}
Re: Failover - Improved_Netwatch_II
Se os links saem por interfaces diferentes você pode especificar a interface no comando ping.
Ao que parece o script foi feito para quem tem gateways diferentes o que aparentemente não é o seu caso.
Re: Failover - Improved_Netwatch_II
Citação:
Postado originalmente por
bjaraujo
Se os links saem por interfaces diferentes você pode especificar a interface no comando ping.
Ao que parece o script foi feito para quem tem gateways diferentes o que aparentemente não é o seu caso.
No caso já tinha tentado implementar a saída pela interface no ping, mas não obtive sucesso porque o link principal mesmo quando UP não volta a ser a rota default. E tenho 2 Gateways, diferentes sim.
Tipo como segue abaixo:
script2
:local i 0; {:do {:set i ($i + 1)} while (($i < 5) && ([/ping 64.233.169.99 interface=ISP1 interval=3 count=1]=1))}; :if ($i=5 && [/ip route get [find comment="Default Route"] distance]=3) do={:log info "Main Gateway up"; /ip route set [find comment="Default Route"] distance=1}
Re: Failover - Improved_Netwatch_II
Código :
:local i 0; {:do {:set i ($i + 1)} while (($i < 5) && ([/ping 64.233.169.99 interface=ISP1 interval=3 count=1]=1))}; :if ($i=5 && [/ip route get [find comment="Default Route"] [B]distance]=3[/B]) do={:log info "Main Gateway up"; /ip route set [find comment="Default Route"] distance=1}
Aí não deveria ser 1?
Re: Failover - Improved_Netwatch_II
Citação:
Postado originalmente por
bjaraujo
Código :
:local i 0; {:do {:set i ($i + 1)} while (($i < 5) && ([/ping 64.233.169.99 interface=ISP1 interval=3 count=1]=1))}; :if ($i=5 && [/ip route get [find comment="Default Route"] [B]distance]=3[/B]) do={:log info "Main Gateway up"; /ip route set [find comment="Default Route"] distance=1}
Aí não deveria ser 1?
No caso alterei o nome da interface para ISP1
Re: Failover - Improved_Netwatch_II
Se você executar o script na manualmente funciona?
Re: Failover - Improved_Netwatch_II
Citação:
Postado originalmente por
bjaraujo
Se você executar o script na manualmente funciona?
Sim. Os 2 scripts funcionam somente o segundo não checa se esta saindo pelo link principal, mas vou tentar a seguinte solução no ping realizado no script2 vou setar algum IP que faça parte do roteamento do link principal, tipo o Gateway do meu provedor de Internet 1.1.1.1, baseado no exemplo abaixo.
Ex.: tracert
10.111.0.1
10.111.0.254
1.1.1.1
Alterado o script ficaria da seguinte maneira:
:local i 0; {:do {:set i ($i + 1)} while (($i < 5) && ([/ping 1.1.1.1 interval=3 count=1]=1))}; :if ($i=5 && [/ip route get [find comment="Default Route"] distance]=3) do={:log info "Main Gateway up"; /ip route set [find comment="Default Route"] distance=1}
Vou realizar o teste e posto o resultado.
Re: Failover - Improved_Netwatch_II
Citação:
Postado originalmente por
fabiolaureano
Pessoal, estou testando o script de Failover que esta no wiki.mikrotik.com/wiki/Improved_Netwatch_II. No meu caso o script1 funciona normalmente, mas o script2 não esta atendendo a minha demanda , pois ele realiza o teste de ping para retornar para a rota default, mas não checa se esta saindo pelo link primário, sendo assim sempre que executo o script2 mesmo saindo pelo link secundario e com o link principal fora, ele realiza o ping, resolve o host e volta a rota default para o link primario que ainda esta inoperante.
Por acaso alguem já utilizou este script e poderia me ajudar a entender e enxergar na onde esta o erro? Ou me ajudar a criar uma validação que force o script2 a passar pelo link primário, para testar o retorno do link.
script 1:
:local i 0; {:do {:set i ($i + 1)} while (($i < 5) && ([/ping 64.233.169.99 interval=3 count=1]=0))}; :if ($i=5 && [/ip route get [find comment="Default Route"] distance]=1) do={:log info "Main Gateway down"; /ip route set [find comment="Default Route"] distance=3}
script 2:
:local i 0; {:do {:set i ($i + 1)} while (($i < 5) && ([/ping 64.233.169.99 interval=3 count=1]=1))}; :if ($i=5 && [/ip route get [find comment="Default Route"] distance]=3) do={:log info "Main Gateway up"; /ip route set [find comment="Default Route"] distance=1}
oq esta faltando aki e só uma rota estatica. para esse ip 64.233.169.99
/ip route +
destination: 64.233.169.99
gatway: SEU GATWAY PADRAO
distance:1
ai vc esta setando que esse ip sempre vai passar pelo seu gatway padrao, e quando ele nao pingar e pq seu gatway padrao parou de funcionar, e vai rodar os script certinho
Re: Failover - Improved_Netwatch_II
Citação:
Postado originalmente por
isacloko
oq esta faltando aki e só uma rota estatica. para esse ip 64.233.169.99
/ip route +
destination: 64.233.169.99
gatway: SEU GATWAY PADRAO
distance:1
ai vc esta setando que esse ip sempre vai passar pelo seu gatway padrao, e quando ele nao pingar e pq seu gatway padrao parou de funcionar, e vai rodar os script certinho
Caro isacloko a tua dica funcionou perfeitamente solucionando o problema. Realizei o teste de alterar o ping para o gateway do meu provedor de serviços tambem funcionou, mas corro o risco de perda de funcionalidade caso o provedor altere o gateway padrao. Muito obrigado a todos pela atenção.