Eu tenho um grupo de escritórios que estão todos conectados ao escritório principal por meio de links DSL na extremidade oposta para economizar custos. (Somos uma organização sem fins lucrativos, não pergunte)
Historicamente, tivemos problemas notáveis com a conexão entre o ISP que lida com nossos sites remotos e o ISP que lida com as linhas T1 em que o OpenVPN é executado, portanto esses links costumam ser desativados.
A interface pública do servidor de email está na rede do 1º provedor, portanto funcionou muito bem, mas é muito mais lenta porque também é DSL.
Para resolver os problemas de falta de confiabilidade da rede upstream, eu escrevi um script que simplesmente modifica os registros DNS nos sites remotos para apontar para o IP interno se o túnel estiver ativo ou o IP público se o túnel VPN para o site principal estiver inativo.
Como posso fazer isso de uma maneira mais elegante que será instantânea (em vez dos meus scripts orientados a cron) e transparente para os usuários?
Edit: Offices: Ubuntu 9.10 Servidores LTSP executando vários Actiontecs e Motorola fornecidos pelo fornecedor e alguns com firewall Netgears e Linksys. Escritório principal: Quase 100% Linux (CentOS, neste caso) com vários firewalls da série Netgear FVS318 / 338 com firewalls individuais para cada IP em nosso / 27. (outro não pergunte, foi antes de eu chegar aqui)