Есть два DFL в разных местах города.
Каждый из DFL имеет по два интернет провайдера с автоматическим переключением между каналами в случае отказа.
Надо построить VPN канал, который сохранялся бы пока хоть один из провайдеров на каждом DFL жив.
То есть должна выполняться таблица
Код:
DFL1 DFL2
VPN ISP1.1 ISP1.2 ISP2.1 ISP2.2
OK x x x x
OK x x x -
OK x x - x
OK x - x x
OK x - x -
OK x - - x
OK - x x -
OK - x - x
Была мысль и практическая реализация схемы, когда на каждом было по два VPN сервера и по два VPN клиента.
Соответственно, каждый клиент подключался к своему VPN серверу на разных wan интерфейсах.
То есть получалось, что каждый DFL тянул по два клиентских щупальца к внешним wan интерфейсам своего удаленного коллеги.
Итого получалось 2 щупальца от первого ко второму и 2 щупальца от второго к первому.
Теоретически, покрывает не все случаи, но все единичные. Когда из 4х провов, погибает хотя бы один.
Беда заключается в том, что эта конструкция не работает.
То есть после перезапуска DFL'ей она работает, 4 VPN канала - всё в ажуре, пинги ходят.
Но с какого-то момента, по индикаторам 4 канала в статусе connected, а пинги не ходят.
Маршруты есть. Интерфейсы подняты, правила само-собой всё во всё (дошёл уже и до такого, так было аккуратненько для каждого вектора), а пинги не ходят.
И ситуацию спасает только перезапуск какого-нибудь DFL'я.
Вот я и думаю, есть какое нибудь более удачное решение для такой конфигурации.
Не я ведь первый прусь этой дорогой.