Mam grupę biur, które wszystkie są podłączone do głównego biura za pośrednictwem łączy DSL na drugim końcu, aby obniżyć koszty. (Jesteśmy organizacją non-profit, nie pytaj)
Historycznie mieliśmy zauważalne problemy z połączeniem między ISP, który obsługuje nasze zdalne strony, a ISP, który obsługuje linie T1, na których działa nasz OpenVPN, więc te linki często się psują.
Publiczny interfejs naszego serwera pocztowego znajduje się w sieci pierwszego dostawcy, więc działał dobrze, ale działa znacznie wolniej, ponieważ jest to również DSL.
Aby rozwiązać problemy z niewiarygodnością sieci upstream, napisałem skrypt, który po prostu modyfikuje rekordy DNS w zdalnych witrynach, aby wskazywały na wewnętrzny adres IP, jeśli tunel jest w górę, lub publiczny adres IP, jeśli tunel VPN do głównej strony jest wyłączony.
Jak mogę to zrobić w bardziej elegancki sposób, który będzie natychmiastowy (zamiast moich skryptów opartych na cronie) i przezroczysty dla użytkowników?
Edycja: Biura zdalne: serwery Ubuntu 9.10 LTSP z różnymi dostarczonymi przez dostawców Actiontecs i Motorola oraz kilka z zaporą Netgears i Linksys. Biuro główne: prawie 100% Linux (w tym przypadku CentOS) z wieloma zaporami ogniowymi serii Netgear FVS318 / 338 z indywidualnymi zaporami ogniowymi dla każdego adresu IP w naszym / 27. (inny nie pytaj, to było zanim tu przybyłem)