На данный момент, в виду глобального кризиса, дирекция отказывается покупать цисковкий роутер, посему надо доделывать существующее решение

У меня есть несколько филиалов, разбросанных по разным городам, которые соединяются с головным офисом в Петербурге посредством vpn, организованным на openvpn. Все работает, полет нормальный

На днях тут случилась небольшая авария - провайдер что-то замутил со своими маршрутизаторами - пропал роут до одного филиала - соответственного vpn также отвалился. Хочется обходить такие ситуации

В головном офисе в gw воткнуты два внешних линка от двух разных провайдеров, один используется как основной - другой как резервный. Никакого автоматизма нет, поэтому при падении приходицца ручками на всех gw править конфиг openvpn в плане на какой ip долбиться. Хочется эту задачу автоматизировать... То есть какой алгоритм вижу на филиальных gw я:
(внешний основной и резервный ip относятся к gw, что стоит в головном офисе в СПб. Алгоритм работает на филиальных gw)
- 1. Если основной внешний ip пингуется - живем и радуемся
- 2. Если недоступен основной внешний ip (не пингуется) - подождать минут 5-10
- 3. Если после 5-10 минут основной внешний ip все равно не доступен - поднять vpn на резервный канал и перейти к п.5.
- 4. Если после 5-10 минут основной внешний ip поднялся - поднять vpn на основной канал и перейти к п.1 .
- 5. Пока работает резервный канал - проверять первичный
- 6. Если после 15 мин. работы на резервном канале начал пинговацца основной внешинй ip - поднять vpn на основном. Иначе выполнить снова пункт 6
- 7. Перейти к пункту 1.
А да, все gw работают на фре, от 6.1-RELEASE-p16 до 7.0-RELEASE-p4. На всех gw OpenVPN 1.6.0. Думаю поставить вторую версию, там судя по всему много вкусного...