Как построить отказоустойчивый кластер OpenVPN-серверов?
Приветствую, многоуважаемый All.
Подскажите, как правильно построить отказоустойчивый комплекс с OpenVPN?
Есть центральный офис некоей компании.
Есть два OpenVPN-сервера в разных ЦОД: vpnA и vpnB. Оба соединены туннелями с центральным офисом.
К этим OpenVPN-серверам цепляются множество удалённых точек. Каждая точка знает про оба сервера, так что подключаться они могут к любому равноправно. В силу ряда причин используется L2-режим OpenVPN.
Вопрос: как (видимо, используя динамическую маршрутизацию?) обеспечить связность из центрального офиса до каждой удалённой точки, независимо от того, к какому серверу она подключена в данный момент?
Если прописать на vpnA и vpnB разные пулы клиентам - то удалённые точки будут получать то один, то другой адрес, а они должны быть доступны из ЦО по фиксированному адресу независимо от того, на какой шлюз они зацепились в данный момент.
Если прописать одинаковые - то на каждом VPN-сервере получится одна и та же directly-connected подсеть (192.168.0.0/24). Тогда удалённая точка remoteA, придёт на vpnA и получит адрес 192.168.0.10, а точка remoteB придёт на vpnB и получит адрес 192.168.0.15.
Поднимать /32-маршрут на каждую подключившуюся точку и редистрибьютить его в ЦО? А такое возможно вообще? И возможно ли не редистрибьютить при этом маршрут на саму сеть 192.168.0.0/24 (иначе придёт два таких анонса от vpnA и vpnB).