У меня есть группа офисов, все из которых подключены к главному офису через линии DSL на дальнем конце, чтобы сэкономить расходы. (Мы некоммерческие, не спрашивайте)
Исторически у нас были заметные проблемы с соединением между провайдером, который обрабатывает наши удаленные сайты, и провайдером, который обрабатывает линии T1, на которых работает наш OpenVPN, поэтому эти ссылки часто теряются.
Публичный интерфейс нашего почтового сервера находится в сети 1-го провайдера, поэтому он работал просто отлично, но гораздо медленнее, потому что это также DSL.
Чтобы решить проблемы с ненадежностью восходящей сети, я написал сценарий, который просто изменяет записи DNS на удаленных сайтах, чтобы указывать на внутренний IP-адрес, если туннель работает, или публичный IP-адрес, если VPN-туннель к основному сайту не работает.
Как я могу сделать это более элегантным способом, который будет мгновенным (вместо моих скриптов, управляемых cron) и прозрачным для пользователей?
Редактирование: Удаленные офисы: Ubuntu 9.10 LTSP-серверы, на которых установлены различные предоставленные вендором Actiontecs & Motorola и несколько с брандмауэром Netgears и Linksys. Главный офис: почти 100% Linux (в данном случае CentOS) с несколькими брандмауэрами Netgear FVS318 / 338 с индивидуальными брандмауэрами для каждого IP на нашем / 27. (другой не спрашивай, это было до того, как я сюда попал)