Возврат туннеля на основной интерфейс после восстановления связи
Если на роутере настроен туннель с использованием основного и резервного каналов связи, то при отказе основного канала туннель автоматически переподнимается через резервный интерфейс.
Однако после восстановления основного канала туннель продолжает работать через резервный интерфейс, поскольку существующее соединение остается активным и не переподнимается автоматически.
В irzOS эту задачу можно решить с помощью сервиса Pinger и механизма Events, который позволяет переподнять туннель при восстановлении доступности основного канала.
| Настройку можно выполнить как через веб-интерфейс irzOS, так и с помощью CLI. В данной статье для наглядности используется CLI. |
Пример
В качестве примера рассмотрим следующую схему:
-
port3 — основной проводной интерфейс;
-
wifi1 — резервный беспроводной интерфейс.
В штатном режиме туннель должен работать через port3.
При потере связи через port3 туннель должен автоматически подняться через wifi1.
После восстановления связи через port3 туннель должен автоматически вернуться на основной интерфейс.
Шаг 1. Настройка приоритета интерфейсов
Назначьте интерфейсам различные значения метрики. Интерфейс с меньшим значением метрики имеет более высокий приоритет.
/ip interface port3 metric 203
/ip interface wifi1 metric 206
Шаг 2. Создание проверки доступности сервера
В сервисе Pinger создайте правило проверки доступности удаленного L2TP-сервера через основной интерфейс.
/service pinger add interface=port3
host <l2tp_server>
apply
Шаг 3. Создание события
Создайте событие, которое будет выполняться после восстановления доступности основного интерфейса.
При переходе Pinger в состояние success будет выполнено переподнятие L2TP-туннеля.
/event add trigger=pinger
target port3
value success
action /tunnel l2tp <tunnel_name> apply
apply
После переподнятия туннеля маршрутизация будет выполнена с учетом заданных метрик интерфейсов. Поскольку port3 имеет меньшую метрику, туннель будет установлен через проводной интерфейс.
Результат
После выполнения настройки туннель будет работать следующим образом:
-
Туннель работает через port3.
-
При отказе port3 туннель автоматически переподнимается через wifi1.
-
После восстановления доступности port3 сервис Pinger фиксирует изменение состояния.
-
Событие выполняет переподнятие туннеля.
-
Новый туннель устанавливается через port3, так как этот интерфейс имеет более высокий приоритет.
Рекомендации
| Событие выполняется однократно после изменения состояния Pinger на success. |
Чтобы избежать ложных или преждевременных срабатываний, рекомендуется подобрать интервалы проверки и количество попыток Pinger таким образом, чтобы изменение его состояния происходило только после того, как туннель успел переподняться через резервный интерфейс. Это позволит избежать повторного переподнятия туннеля при кратковременных потерях связи.