1 порт Mikrotik — провайдер 1 (по PPPOE)
2 порт Mikrotik — провайдер 2 (Укртелеком ADSL)
- Код: выделить все
1. Отключаем в подключениях провайдеров автоматическое добавление шлюза. Делаем в IP-Routes 2 маршруты на шлюзы провайдеров статические вручную и в примечании помечаем Prov1 и Prov2. Distance ставим 1 и 2. DNS глобально зададим 8.8.8.8 и 8.8.4.4, а не от провайдера.
2. Для того, чтобы проверять работоспособность основного Интернета создадим третий маршрут в поле назначения укажем 0.0.0.0/0 и в шлюзе укажем Интернет шлюз 1го провайдера pppoe-1, Distance=1, Routing mark = Prov1
Далее IP-Routes — Rules создаем 2 правила: адрес назначения 77.88.8.8 (DNS Яндекса), действие — lookup, таблица — Prov1; адрес назначения 77.88.8.8 (DNS Яндекса), действие — lookup only in table, таблица — Prov1;
То есть если мы с микротика пингуем 77.88.8.8 то всегда пинг будет идти только через провайдера 1
3. Создаем скрипты, которые меняют параметр Distance
Скрипт change-to-main содержит 2 строки:
/ip route set [find comment="Prov1"] distance=1;
/ip route set [find comment="Prov2"] distance=2;
Скрипт change-to-reserv:
/ip route set [find comment="Prov2"] distance=1;
/ip route set [find comment="Prov1"] distance=2;
4. В Tools - Netwatch создаем правило для адреса 77.88.8.8 в
up вкладке: /system script run change-to-main
down вкладке: /system script run change-to-reserv
Интервал задаем 20 секунд
5. Тестируем работоспособность влияя на работоспособность Интернет каналов и мониторя результат при помощи 2ip на компьютере подключенном к MikroTik.
Время переключения менее минуты, включая переконнект OpenVPN
При желании можно добавить информирование о переключении на е-мейл или в лог файл.
На основном микротике мы используем другой метод — скрипт который выполняется каждую минуту с пингом 3 адресов и на каком провайдере пингов проходит больше тот и включется. Маркируется весь трафик от одного и второго провайдера. Если нужно — могу выложить и этот метод.
Какие у вас используются скрипты для той же цели?