segunda-feira, 28 de dezembro de 2015

Mikrotik - Redundância de VPN

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:
    • 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= 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:

0 comentários: