Ich habe eine Gruppe von Büros, die alle über DSL-Verbindungen am anderen Ende mit dem Hauptbüro verbunden sind, um Kosten zu sparen. (Wir sind ein gemeinnütziger Verein, fragen Sie nicht)
In der Vergangenheit gab es bemerkenswerte Probleme mit der Verbindung zwischen dem ISP, der unsere Remote-Standorte verwaltet, und dem ISP, der die T1-Leitungen verwaltet, auf denen unser OpenVPN ausgeführt wird. Daher werden diese Verbindungen häufig unterbrochen.
Die öffentliche Schnittstelle unseres Mailservers befindet sich im Netzwerk des ersten Anbieters, hat also einwandfrei funktioniert, ist aber viel langsamer, da es auch DSL ist.
Um die Probleme mit der Unzuverlässigkeit des Upstream-Netzwerks zu beheben, habe ich ein Skript geschrieben, das einfach die DNS-Einträge an den Remotestandorten so ändert, dass sie auf die interne IP verweisen, wenn der Tunnel aktiv ist, oder auf die öffentliche IP, wenn der VPN-Tunnel zum Hauptstandort nicht verfügbar ist.
Wie kann ich dies auf elegantere Weise tun, die sofort (anstelle meiner Cron-gesteuerten Skripte) und für die Benutzer transparent ist?
Bearbeiten: Remote-Büros: Ubuntu 9.10 LTSP-Server, auf denen verschiedene vom Hersteller bereitgestellte Actiontecs & Motorola und einige mit Netgears- und Linksys-Firewall ausgeführt werden. Hauptgeschäftsstelle: Fast 100% Linux (in diesem Fall CentOS) mit mehreren Firewalls der Netgear FVS318 / 338-Serie mit individuellen Firewalls für jede IP auf unserer / 27. (Ein anderer fragt nicht, es war bevor ich hier ankam)