Redundância na VPN utilizando Mikrotik
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çam 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 matriz, 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:
http://chokmahtech.blogspot.com/2009/01/redundncia-de-link-no-mikrotik.html
Legal! Muito útil mesmo!
Vou testar estas configurações em uma RB750 recém adquirida.
Já tenho um servidor OpenVPN rodando com FreeBSD 9.1 com clientes Windows e Linux funcionando perfeitamente. Mas, tenho interesse em colocar clientes OpenVPN usando Mikrotik (RB750G).
Abs,
Marcos Pereira