Muitas vezes as empresas possuem redundância de link na matriz e uma conexão VPN com as filiais, mas geralmente os clientes da conexão apontam somente para o link 
principal, e quando este cai... Sem VPN pra todo mundo!!!
Diante de um questionamento sobre o assunto e de uma emergência no trabalho, consegui com a ajuda de alguns Blogs e do tradicional "fuçômetro", criar uma solução 
para este problema.
Cenário
Matriz:
- Router mikrotik;
- Link dedicado operadoraA;
- Link dedicado operadoraB;
- OpenVPN Server.
 Filiais:
-  Router mikrotik;
-  Link de internet;
-  OpenVPN client.
 
1 . Duplicando o client da VPN
Como já existe um client da VPN configurado, vamos copiar a configuração para criar a redundância.
No menu PPP em interface, dê dois cliques no client que já está ativo e na janela que abrir clique em 'copy'. 
Na cópia criada, altere o nome da conexão, para nossa configuração utilizaremos os nome "vpn-operadoraA" para a conexão ao link principal da matriz e, "vpn-operadoraB" para a conexão ao link secundário.
 
Na configuração clonada (ativa-operadoraB), na aba 'Dial Out', insira o IP do link secundário da matriz. 
Não se esqueça de alterar o nome da conexão que já existia, ele será utilizado nos scripts.
 
2 . Criando os scripts
No menu 'System', selecione Scripts e clique em 'Add' (+), altere os seguintes campos:
-  Name: ativa-operadoraA
-  Source:
- 
 interface ovpn-client disable vpn-operadoraB;
-  interface ovpn-client enable vpn-operadoraA;
 
Clique em 'Add' novamente e crie o segundo script com os parâmetros:
-  Name: ativa-operadoraB
-  Source: 
-  interface ovpn-client disable vpn-operadoraA;
-  interface ovpn-client enable vpn-operadoraB;
 
Pronto, os scripts para ativar e desativar os clients da VPN estão configurados. No primeiro, ele desativa a interface de conexão com o link secundário e ativa a conexão com o link principal. No segundo ocorre o contrário.
Para testar basta selecionar e clicar em "Run-script", observe no menu PPP se as interfaces responderam aos comandos.
 
3 . Programando os testes
Para testar a disponibilidade do link e alternar os clients da VPN, utilizaremos o Netwatch, que baseado no resultado de um ping disparado a um determinado host ele 
executa as ações determinadas.
No menu Tools, selecione Netwatch e clique em Add(+), preencha os seguintes campos:
- Aba Host:
-  Host: <ip do link principal da matriz>
-  Interval: 00:00:10 (o ping será disparado a cada 10 segundos)
-  Timeout: 500 ms (tempo de inatividade para que os scripts sejam executados)
 
- Aba Up:
-  On Up: ativa-operadoraA (script que ativa a conexão com o link principal) 
 
- Aba Down:
-  On Down: ativa-operadoraB (script que ativa a conexão com o link secundário)
 
Estas configurações também podem ser adicionadas diretamente no console, para isso abra um terminal e digite o seguinte comando:
# /tool netwatch add host=<ip principal> interval=10s timeout=500ms up-script=ativa-operadoraA down-script=ativa-operadoraB
O Netwatch disparará um ping a cada 10 segundos para o IP da matrix, se o tempo de resposta for maior que 500ms ele desativará o client do link principal e ativará o client do link secundário.
Pronto, redundância configurada. Vale ressaltar que a solução acabou de ser implementada, o tempo de testes não foi muito grande, mas a princípio atendeu à solicitação e os resultados foram os esperados.
Referência:
 
 
Previamente publicado em: