Помогите советом, пожалуйста.
Есть центральный офис с двумя провайдерами, микротиком и сервером. Есть филиалы, устройства в которых должны иметь доступ к серверу. На микротике в центральном офисе поднят L2TP-сервер, в каждом из филиалов поднято по два L2TP-клиента. Если ляжет один из провайдеров в центральном офисе, пользователи этого даже не заметят: трафик пойдет по второму тоннелю. Это все работает замечательно.
В одном из филиалов появился резервный канал: теперь там два провайдера и у обоих по белому адресу. При этом если в филиале ляжет основной провайдер, L2TP-соединения разорвутся, будут некоторое время восстанавливаться через резервного, а пользователи увидят, что произошел обрыв.
Вопрос: какими средствами можно реализовать мгновенное переключение без простоя?
Спасибо всем, кто отвечал.
Я начал читать про OSPF, настроил по тоннелю между каждым из провайдеров, обнаружил, что один из них ни в какую не поднимается, переключился на другие дела и случайно придумал рабочее решение, при котором при падении провайдера успевает потеряться всего один-два пинга. Оно, возможно, костыльное, но понятное и работает:
Создаем два маршрута от клиента до сервера (от филиала до офиса), т.е. по одному на каждую пару провайдеров. Dst - адрес провайдера офиса с маской /32, gateway - шлюз провайдера филиала. В штатном режиме получается, что одна пара провайдеров - один тоннель. Провайдер с любой стороны падает - благодаря изначально имеющимся правилам маршрутизации клиенты этого даже не замечают. Может возникнуть ситуация, когда тоннель "залипнет" (т.е. клиенты будут пытаться идти через него, хотя он уже разорван), но чтобы этого избежать, делаем netwatch'ем перезагрузку тоннеля при падении или поднятии провайдера. Благодаря ей же тоннели возвращаются к своим провайдерам после их восстановления. А если вдруг упадет пара провайдеров (по одному с каждой стороны), благодаря имеющемуся маршруту по умолчанию тоннель поднимется и не в изначальной паре.
Надеюсь, понятно объяснил.