Utilizando o script vpnautomatica
Introdução
O cenário mais simples que o script proverá a solução de contingência pela internet está demonstrado na imagem a baixo: A empresa XPTO possui dois sites, site A localizado em São Paulo que conta com uma rede de desktops e um servidor de arquivo, ambos na rede 172.16.10.0/24, além de um firewall Linux com iptables puro que possui acesso a internet pelo IP 200.2.2.2, o site B situado no Paraná tem apenas uma rede de desktops 172.16.20.0/24 e também um firewall Linux com iptables puro com acesso a internet pelo IP 189.9.9.9, as pessoas que estão no site B acessam diariamente o servidor de arquivos do site A sendo um recurso vital para o trabalho deles, a comunicação entre o sites é realizado um circuito P2P.
Porém um belo dia esse circuito para de funcionar e não existe previsão de retorno, seu chefe olha para você e fala: "Precisamos fazer uma contingência de alguma forma e o quanto antes!". Como os dois sites possuem conexão com a internet através de um firewall Linux e as redes de cada escritório precisam se comunicar isso torna o momento ideal para utilizar o script.
Utilização básica
Imaginando que todas as premissas para o funcionamento do script já foram atendidas (veremos nas próximas páginas), bastaria executar os passos abaixo.1. Baixar o script para um servidor ou um dos firewalls (site A ou site B), nesse exemplo será copiado para o firewall do site A no diretório /etc/vpnautomatica.
2. Tornar o script executável.
# chmod 755 /etc/vpnautomatica/vpnautomatica.sh
3. Criar o arquivo com as configurações de rede do site A.
# vim 1.sitea.redes
Adicionar as linhas:
left=200.2.2.2
leftnexthop=200.2.2.1
172.16.10.0/24#INTERNASITEA
4. Criar o arquivo com as configurações de rede do site B.
# vim 2.siteb.redes
Adicionar as linhas:
left=189.9.9.9
leftnexthop=189.9.9.1
172.16.20.0/24#INTERNASITEB
5. Executar o script:
# ./vpnautomaitca.sh
Escolher a opção que deseja, nesse caso é ativar a contingência.


# IPsec auto --status A imagem acima exibi que os túneis foram fechado sem problemas na fase 1 e na fase 2.
Caso queira uma visão mais específica use o grep mais o comentário utilizado no arquivo redes.
# IPsec auto --status | grep -i internasitea --color 7. Validando se o site B está chegando no servidor do site A. Quando a operadora restabelecer o circuito, basta executar o script para remover a VPN.
1. Executar o script:
# ./vpnautomaitca.sh


# IPsec auto --status 9. Validando o acesso ao servidor. Conforme a imagem acima, repare que quando o circuito está funcionando mostrará todos os saltos (apesar disso depender muito da configuração da operadora) todavia quando a contingência estiver ativada mostrará apenas o primeiro e o último salto, entrando e saindo da VPN. A solução fornecida pelo script foi pensada nos mais diversos cenário de rede possível, na próxima página apresentarei um cenário um pouco mais complexo.
Já utilizei por um bom tempo algo parecido, atualmente utilizo strongswan + quagga(bgp), fazendo redundancia e balanceamento entre a MPLS + 2 VPNS e hoje o tempo de virada esta em 2 segundos, praticamente transparente para o usuario. é uma ótima alternativa.