Oi, > O problema é: (usarei como exemplo uma filial, lembrem possuem dois links > wan): > No box linux da filial preciso escolher um dos 2 links para ser meu gateway > default (o link mestre). Para que o mecanismo de failover detecte a queda do > link mestre, preciso de um mecanismo ou script que monitore (icmp/ping) o > link e, passe o gateway para o link backup, caso ocorra uma falha e, retorne > o gateway quando o link mestre voltar. Resolvendo isso no nivel de > roteamento os túneis vpn funcionam transparentes ao mecanismo. > > Considero usar OPENVPN na matriz e filiais, mas conheço pouco da solução. > Aceito outras sugestões.
Definitivamente vc vai querer usar o openvpn... é facil e simples de usar e vc pode combinar ele com outras soluções. > Coloquei essa mesma dúvida na lista openvpn-users e apenas uma pessoa > respondeu dizendo que usou "eql driver do linux" numa situação semelhante > para resolver isso. Ao que parece o OpenVpn não trata questões de failover, > espera que outro mecanismo faça isso para ele. Existe mais de uma solução, ja comento elas. Mas vc esta engando quando a questão do failover. o OPENVPN tem sim suporte a failover, e vc pode usar ele. > O iproute2 não pode resolver isso também! resolver não, mas definitivamente ele faz parte da solução. Vou falar de uma forma mais generica, e vc escolhe o que melhor se adapta a sua situação. 1) no openvpn vc pode definir mais de um servidor de destino. o openvpn tb possui um mecanismo de verificação do link, no qual ele "pinga" regularmente o destino para detectar que ele esta vivo. digamos que no seu servidor vc dispare dois daemons openvpn, um fazendo bind no ip A porta X e outro no ip B porta Y. No seu cliente vpn basta que vc coloque como servers o A:X e o B:Y. Tá... mas e como ficam as rotas? dai é que entra o iproute. No ip route vc pode criar uma tabela de rotas adicional, na qual a rota default é o seu link backup. Assim vc terá o teu sistema a tabela de rotas normal e mais a essa. Com o iptables vc pode marcar os pacotes com um "tag" e usar o ip rule fazendo com que pacotes com um determinada tag use a tabela de rotas alternativa (procure no google por roteamento pela origem, ou va direto em lartc.org). 2) essa é mais ninja... vc usa interfaces tap no openvpn. abre duas conexoes vpn cada uma usando um link (use o ip route/rule como na solução acima). adiciona as interfaces tap a uma bridge e usa spanning-tree para cuidar da falha. Como é possivel vc atribuir prioridades, vc resolve o problema do link principal / link secundario. 3) A solução 2 tem um problema... que é quando vc tem falhas cruzadas, ou seja, morre o link principal do servidor e o link backup do cliente. Bom... tem ainda a solução 3, que é um melhoramento da solução 1. O servidor mantem dois daemons, e usa o ip route para rotear cada "daemon" (dica, marque os pacotes usando a porta de origem) por cada link. Na filial vc cria duas configurações, uma para cada daemon. e Finalmente usa o gnu mon, para pingar alguns destinos (por exemplo o gateway de cada link) para decidir quem tá de pé e que link do servidor está ok, e com isso decide a configuração de rota default/vpn a usar. mais um dica... pode ajudar... se vc vai usar o ppp(oe) para se autenticar, vc pode mexer nos scripts que criam a rota default para que ele atribua "pesos" (metricas na linguagem de redes) a cada rota, assim é possivel ter duas rotas defaults, sendo que uma é melhor que a outra. Se um link falhar, o ppp remove a rota default corresponde da tabela de roteamento e o sistema pode então escolher a "segunda" melhor rota default. -- Christian Lyra PoP-PR/RNP --------------------------------------------------------------------------- Esta lista é patrocinada pela Conectiva S.A. Visite http://www.conectiva.com.br Arquivo: http://bazar2.conectiva.com.br/mailman/listinfo/linux-br Regras de utilização da lista: http://linux-br.conectiva.com.br FAQ: http://www.zago.eti.br/menu.html
