Переключения интернет каналов между двумя провайдерами чаще всего используется для резервирования в серьезных компаниях. Исходные данные таковы.
К роутеру Mikrotik подключены два провайдера.
Первый провайдер к порту ether1-WAN1 со шлюзом 192.168.0.1, второй провайдер к порту ether2-WAN2 — шлюз 192.168.1.1.
Нужно настроить так, что бы основной канал WAN1 работал всегда, но при его падении срабатывало автоматическое переключение на второй провайдер WAN2.
После того, как первый провайдер восстанавливается, система автоматически должна перестроиться обратно на первого провайдера WAN1.
Как настроить подключение к провайдеру в этой статье рассказывать не будем, почитать об этом можно тут и тут.
В середине статьи можно будет посмотреть видео-обзор настройки на Mikrotik переключения каналов при падении одного из них.
1. Начнем с того, что нам нужно явно прописать маршруты для наших провайдеров, отдельно для каждого.
Переходим:
IP — ROUTE — «+»
Dst. Address: 0.0.0.0/0
Gateway: 192.168.0.1%ether1-WAN1
Distance:1
Scope:30
Target Scope:10
Comment: RWAN1
IP — ROUTE — «+»
Dst. Address: 0.0.0.0/0
Gateway: 192.168.1.1%ether2-WAN2
Distance:2
Scope:30
Target Scope:10
Comment: RWAN2
Тоже самое если настраиваете в терминале:
/ip route add check-gateway=ping comment=RWAN1 distance=1 gateway=192.168.0.1%ether1-WAN1 add check-gateway=ping comment=RWAN2 distance=2 gateway=192.168.1.1%ether2-WAN2
Обратите внимание на Distance, чем меньше цифра , тем больше приоритет. То есть основной канал у нас первый провайдер.
2. Теперь добавим маршрут к ресурсу интернете, который постоянно пингуется, конечно же это google dns, по нему мы будет определять доступность интернет-каналов провайдеров.
Переходим:
IP — ROUTE — «+»
Dst. Address: 8.8.8.8
Gateway: 192.168.0.1
Distance:1
Scope:30
Target Scope:10
Comment: GOOGLE ROUTE
3. Далее добавим правило в firewall на запрет пинга google dns 8.8.8.8 через WAN2, то есть пинг будет проходить только через WAN1 — первый провайдер. Это делается для того, что бы MIkrotik понял, находятся на втором канале, что первый канал поднялся при появлении ping 8.8.8.8.
IP — Firewall — Filter Rules — «+»:
Вкладка General.
Chain — Output;
Dst. Address — 8.8.8.8;
Out. Interface выберите ether2-WAN2;
На вкладке Action.
Action: drop.
4. Настраиваем саму логику переключения между провайдерами, при падении одного из них.
Переходим Tools — Netwatch — «+»:
Вкладка Host.
Host: 8.8.8.8
Interval: 00:00:05 (время, через которое проверяется данное правило)
Timeout: 1000 ms
Вкладка Up прописываем:
/ip route disable [find comment=»RWAN2″]
Даем понять, что маршрут второго провайдера с комментарием RWAN2 отключается, если ping до host 8.8.8.8 начинают ходить.
Вкладка Down:
/ip route enable [find comment=»RWAN2″]
Маршрут второго провайдера с комментарием RWAN2 включается, если ping до host 8.8.8.8 начинают ходить.
На этом настройка завершена.
ошибочка в последней команде
Спасибо, поправили!
Смысл гасить маршрут с дистанцией 2, если при активном маршруте с дистанцией 1 он и так не активен?
Не правильнее ли будет отключать первый маршрут при отсутствии пинга до 8888 и активировать при появлении?
Проверьте свой скрипт, не выдёргивая кабель (при падении линка микрот гасит маршрут на этот интерфейс и без скриптов)
Кстати вы правы, первый провайдер ставим дистанцию 1, второй провайдер ставим дистанцию 10.
Правило прописываем исключительно для первого, (основного провайдера), второго провайдера не трогаем вообще, им будет управлять дистанция.
Вкладка Up прописываем:
/ip route enable [find comment=»RWAN1″]
Вкладка Down:
/ip route disable [find comment=”RWAN1″]
Подведем итог по правилам, если есть пинг на 8.8.8.8 включить первый провайдер, второй в режиме ожидания по дистанции, его не нужно отключать, он должен быть активен.
Если нет пинга на 8.8.8.8 отключить первый провайдер, сразу отрабатывает второй, который был в ожидании.
У себя проверил, все работает.
Автору спасибо за видео.