Olá amigos/as! Espero que todos estejam bem.

Depois de muito pesquisar e encontrar muitas informações picotadas, me encontrei num labirinto sem saída e com a mente extremamente cansada e, por isso, venho solicitar ajuda dos mais experientes. Qualquer ajuda é bem vinda e se puderem tratar as dicas com bastante detalhe – tenho dificuldade de só copiar sem entender.

No cenário que relatarei abaixo, preciso fazer com que os links (link1 e link2) sejam redundantes, mas que o link1 seja o principal e, em caso de queda do mesmo, o link2 assuma automaticamente o serviço de TS que roda nele; mas que o link1 volte a ser o link principal automaticamente, pois tem o upload maior do que o link2 e o acesso remoto das filiais ficam melhor nele.

O acesso a internet da rede interna é feito por proxy Squid autenticado, e precisa sair junto com os demais serviços (pop, smtp, etc) pelo link2 (que tem o download muito maior, mas o upload menor que o link1), exceto o serviço de TS, que precisará ficar no link2 somente quando o link1 cair, mas ao ser restabelecido o link1 precisa, automaticamente, voltar a operar o TS no link1.

As filiais se conectam por TS aos servidores, o que está funcionando sem problemas no firewall. Mas quero ressaltar a prioridade deste serviço no link1.

Cenário:
- Servidor Linux Ubuntu Server 12.04.3 com 3 placas de rede:
- rede=192.168.100.254 -> rede interna – eth0
- wan1=189.x.x.x -> link de internet 1 – eth1 -> estático
- wan2=200.x.x.x -> link de internet 2 – ppp0 -> dhcp*
*Aqui um detalhe: o gateway é automático (dhcp) e preciso de um jeito de captura-lo em algum arquivo ou comando.
- Squid rodando na porta 3378, autenticado, sem transparência.
- Redirecionamento de 3 servidores TS.

Nas pesquisas vi que a solução é o iproute2 com iptables, e este último tenho até um certo conhecimento, mas com o iproute preciso de um passo a passo detalhado. Percebi que em alguns scripts, todos os gateways são deletados e refeitos com ip route; verifiquei também a necessidade de criar entradas no arquivo /etc/iproute2/rt_tables, mas não entendo a representação dos números.

Resumindo: 2 links redundantes; o primeiro precisa rodar “especificamente” o serviço TS (a menos que o link2 caia); os serviços internos saiam pelo link2; e se o link1 cair o link2 assume todos os serviços até que o link1 retorne e assuma o serviço de TS.

Desde já agradeço muito á atenção.