Для решения задачи по корректному автопереключению стоит обратиться к утилите Netwatch, принцип которой состоит из действий: отправка ICMP запросов будет сопровождаться выполнением скрипта под изменение состояния UP и DOWN. В обоих сценариях будет заложена логика, в соответствии с техническим требованием.
- Как настроить Netwatch в MikroTik для переключения между провайдерами
- Создание правила Netwatch
- Запрет на отправку пакетов для Netwatch через другие интерфейсы
- Создание статического маршрута для работы Netwatch
- При переключении провайдеров в MikroTik не работает SIP или видеонаблюдение
- TCP соединений
- Netwatch не работает, основной провайдер меняет шлюз у DHCP client
- Настройка Netwatch для балансировки нагрузки двух провайдеров
- Настройка Firewall
- Настройка маршрутизации
- Тестовый стенд
- Разлочка под всех операторов
- Прошиваем модем
- Настройка RB951G под два провайдера
- Выход в интернет
- Настройка DNS на Mikrotik
- Настройка локальной сети
- NAT
- Настраиваем IP сервисы и отключаем хелперы
- Настройка LTE на Mikrotik
- Создаём правило маркировки для ISP1
- Создаём правило маркировки для ISP2
- Направляем трафик по таблицам
- Маршруты по умолчанию в новых таблицах
- Автоматическое переключение WAN каналов
- 89 вопросов по настройке MikroTik
- Схема сети
- Настройка правил NAT
- Маркировка трафика
- Настройка Routing Rules
- Создание таблиц маршрутизации
- Настройка переключения интернет-каналов
- Проверка работоспособности
Как настроить Netwatch в MikroTik для переключения между провайдерами
Схема интернет подключений будет состоять из двух провайдеров, между которыми нужно организовать автоматическое переключение в случае обрыва. Как было упомянуто выше, параметр Distance и Ping не всегда может решить эту проблему. Комплекс правил по автопереключению будет состоять из настроек таких разделов:
Создание правила Netwatch



Запрет на отправку пакетов для Netwatch через другие интерфейсы


/ip firewall filter
add action=drop chain=output dst-address=8.8.8.8 out-interface=!ether1
Создание статического маршрута для работы Netwatch

/ip route
add distance=1 dst-address=8.8.8.8/32 gateway=ether1
В качестве gateway нужно указать или шлюз провайдера(его IP адрес) или интерфейс, в таком варианте подключения как pppoe client.
При переключении провайдеров в MikroTik не работает SIP или видеонаблюдение
Дело в том, что когда происходит переключение между провайдерами, старое соединение между внешним SIP телефоном и АТС “Asterisk” продолжает быть активным, но не работает из-за перестроенной таблицы маршрутизации. В этом случае нужно дополнить правила переключения провайдеров очисткой:
TCP соединений

Netwatch не работает, основной провайдер меняет шлюз у DHCP client
Для решения этой проблемы можно адаптировать такие скрипты:
который сравнивает установленное значение gateway провайдера ISP-1 в маршрутах Routes со значением gateway, установленного в DHCP client.
В свойствах DHCP клиента добавить скрипт
который будет отрабатывать на любое изменение статуса DHCP клиента, удаляя и создавая новый маршрут в таблице маршрутизации.
Настройка Netwatch для балансировки нагрузки двух провайдеров
Данные правила будут регулировать работу интернет каналов, если один из провайдеров перестанет работать. Ниже приведён отрезок из рабочей конфигурации, который передаваёт последовательность настроек.
Настройка Firewall
Правилами необходимо запретить отправку пакета для тестирования статуса интернет канала через другой интерфейс. Т.е. конкретный PING должен уходить только через определённого провайдера.
/ip firewall filter
add action=drop chain=output dst-address=77.88.8.2 out-interface=!ether1 protocol=icmp
add action=drop chain=output dst-address=77.88.8.1 out-interface=ether1 protocol=icmp
Настройка маршрутизации
Будет создано три маршрута: отдельный для балансировки и два отдельных маршрута на случай падения одного из провайдеров.
/ip route
add comment=ISP-12 disabled=yes distance=1 dst-address=77.88.8.1/32 gateway=77.121.98.129,pppoe-Datagroup
add comment=ISP-1 disabled=yes distance=2 dst-address=77.88.8.1/32 gateway=77.121.98.129
add comment=ISP-2 disabled=yes distance=3 dst-address=77.88.8.1/32 gateway=pppoe-Datagroup
В каждом действии Up и Down правило Netwatch-1 будет наблюдать за статусом правила Netwatch-2 и в зависимости от значения выполнять переключение между балансировкой и отдельным провайдером. Это также распространяется в отношении работы Netwatch-2.
В качестве пододпытного используем HEX-PoE и отличный 4G-модем Huawei E3372H. Он прекрасно определяется в Mikrotik-девайсах, и создает отдельный lte-интерфейс.
Для начала — воткнули модем в устройство. Убедились, что
/ip firewall nat add action=masquerade chain=srcnat out-interface=lte1
/ip route add comment=»always route monitoring host via ISP1″ disabled=no dst-address=8.8.4.4/32 gateway=x.x.x.x
/ip route add comment=»blackhole for monitoring host» disabled=no dst-address=8.8.4.4/32 distance=200 type=blackhole
Ах да, и если у вас очень суровые правила Firewall, то не забудьте в нем тоже прописать правило, разрешающее форвард трафика в Lte1 интерфейс
И не забывайте про залипание «connection» при переключении маршрута по умолчанию. Если это по каким то причинам важно для вас — в скрипт netwatch можно добавить строку очищающую зависшие сonnection из connection table при переключении каналов.

Сегодня мы поговорим о такой интересной теме, как настройка на mikrotik резервного канала связи через 4G модем с автоматическим переключением. В прошлой статье мы рассмотрели как сконфигурировать роутер для выхода в интернет через 4G модем, напомню, что прошивка на нем была Stick.
Тестовый стенд
Ранее я говорил, как отличить обе эти прошивки, чем одна лучше другой и т.д. Но для настройки автопереключения каналов в сценарии, когда второй провайдер работает через «свисток» у нас встаёт одна проблема. В Stick прошивке, мы всегда получаем динамический серый адрес из сети провайдера (за исключением случаев с юридическими лицами, там ситуация может быть получше). И для того, чтобы скрипт переключения каналов отработал корректно, нужно иметь статические адреса на внешних интерфейсах. Причём не важно, отдаёт вам его провайдер белый или серый, главное, чтобы он не менялся. Вот именно эту проблему и решает смена прошивки.
Если вы хотите углубить свои знания по работе с роутерами MikroTik, то наша команда рекомендует пройти курсы которые сделаны на основе MikroTik Certified Network Associate и расширены автором на основе опыта . Подробно читайте ниже.
Разлочка под всех операторов
Все, после этого свисток поддерживает всех операторов.
Прошиваем модем


У меня сразу открылась веб-морда свистка. Если у вас такого не произошло, то просто отключите / подключите его в ПК или сетевой RNDIS интерфейс в центре управления сетями и общим доступом.

Я предлагаю сразу изменить IP адресацию. Заходим во вкладку настройки. Пишем 192.168.254.1 и диапазон раздаваемых адресов сразу изменится. Применяем. У вас выскочит предупреждение что устройство перезагрузится – соглашаемся.


Проверим что адресация изменилась.

Для справки, во вкладке Виртуальный сервер, вы можете настроить проброс портов. Но это больше для тех, у кого статический белый адрес.

Настройка RB951G под два провайдера
Данный девайс у нас в Blank конфиге. Начинаем все с чистого листа. Модем пока не подключаем.
Выход в интернет
На тестовом стенде провайдером будет мой домашний роутер. Я настрою статический адрес, смотрящий с RB951G в мою домашнюю сеть.

Пропишем маршрут последней надежды с метрикой 10.


Настройка DNS на Mikrotik

Настройка локальной сети

Добавляем порты с ether2-ether5 и wlan1.

Навешиваем на него адрес локальной сети.

NAT
Создаём правило NAT для основного, проводного провайдера.

Настраиваем DHCP-Server в терминале
/ip pool
add name=dhcp_pool0 ranges=192.168.200.2-192.168.200.254
/ip dhcp-server
add address-pool=dhcp_pool0 disabled=no interface=Bridge-LAN lease-time=1d name=dhcp1
/ip dhcp-server network
add address=192.168.200.0/24 dns-server=192.168.200.1 gateway=192.168.200.1
/ip firewall address-list
add address=192.168.200.0/24 list=LAN-Networks
/ip firewall filter
add action=accept chain=input comment=in_Winbox&SSH-Allow connection-state=new dst-port=2204,56465 protocol=tcp
add action=accept chain=input comment=in_DNS-from-LAN-Allow dst-port=53 protocol=udp src-address-list=LAN-Networks
add action=accept chain=input comment=in_E&R-Allow connection-state=established,related
add action=drop chain=input comment=in-DROP-ALL
add action=accept chain=forward comment=frw_E&R&N-Allow connection-state=established,related,new
add action=drop chain=forward comment=frw_INVALID-DROP connection-state=invalid
Настраиваем IP сервисы и отключаем хелперы
/ip service set telnet disabled=yes set ftp disabled=yes set www disabled=yes set ssh port=2204 set api disabled=yes set winbox port=56465 set api-ssl disabled=yes /ip firewall service-port set ftp disabled=yes set tftp disabled=yes set irc disabled=yes set h323 disabled=yes set sip disabled=yes set pptp disabled=yes set udplite disabled=yes set dccp disabled=yes set sctp disabled=yes
Настройка LTE на Mikrotik
Для того, чтобы микротик понимал, с какого интерфейса трафик ушёл и на какой пришёл, нам нужно промаркировать его. Так же нам это нужно, чтобы скрипт понимал из-под какого интерфейса есть доступ в интернет, а из-под какого нет. Ранее я это описывал как делать в Winbox (вставить ссылку на dual wan), здесь, я сделаю упор на CLI.
Создаём правило маркировки для ISP1
/ip firewall mangle add action=mark-connection chain=prerouting comment=out-in-ISP1 in-interface= ether1 new-connection-mark=from-ISP1-WAN passthrough=yes add action=mark-routing chain=prerouting connection-mark=from-ISP1-WAN new-routing-mark=to-ISP1-MR passthrough=yes add action=mark-routing chain=output connection-mark=from-ISP1-WAN new-routing-mark=to-ISP1-MR passthrough=yes add action=mark-routing chain=output new-routing-mark=to-ISP1-MR passthrough= yes src-address=192.168.10.254
Создаём правило маркировки для ISP2
/ip firewall mangle add action=mark-connection chain=prerouting comment=out-in-ISP2 in-interface= lte1 new-connection-mark=from-ISP2-WAN passthrough=yes add action=mark-routing chain=prerouting connection-mark=from-ISP2-WAN new-routing-mark=to-ISP2-MR passthrough=yes add action=mark-routing chain=output connection-mark=from-ISP2-WAN new-routing-mark=to-ISP2-MR passthrough=yes add action=mark-routing chain=output new-routing-mark=to-ISP2-MR passthrough= yes src-address=192.168.254.2
Направляем трафик по таблицам
/ip route rule add src-address=192.168.10.254/32 table=table-ISP1 add src-address=192.168.254.2/32 table=table-ISP2 add dst-address=192.168.200.0/24 table=main add routing-mark=to-ISP1-MR table=table-ISP1 add routing-mark=to-ISP2-MR table=table-ISP2
Маршруты по умолчанию в новых таблицах
/ip route add distance=10 gateway=192.168.10.1 routing-mark=table-ISP1 add distance=10 gateway=192.168.254.1 routing-mark=table-ISP2
Картина должна выглядеть следующим образом
Автоматическое переключение WAN каналов
Заключительный этап, это настройка скрипта переключения каналов. Ранее я рассказывал более подробно, как он работает. Нам нужно сказать скрипту следующее (в номерах строк):
Т.е. мы регулируем переключение метриками в таблице main, плюс попутно чистим все соединения Connection Tracker.
Проверяем все ещё раз и создаём скрипт в system. Проверим, что покажет нам запуск скрипта. Интернет отсутствует за lte1. Причина – я забыл вставить сим-карту :). Исправляемся. Теперь на своём домашнем Mikrotik, который выступает провайдером, заблокируем ICMP и посмотрим, как произойдёт переключение каналов. Как мы видим, метрика на резервном маршруте изменилась. Засовываем команду запуска скрипта в планировщик и живём счастливо.
На этом настройка резервного канала 4G с автопереключением на Микротик закончена. Вы можете спокойно отключать один из каналов и у вас все прекрасно будет работать. Единственная рекомендация, интервал запуска скрипта в планировщике не делать менее 15 сек. Т.к. из-за таймаутов по беспроводке, скрипт может запуститься, не успев отработать.
89 вопросов по настройке MikroTik
Вы хорошо разбираетесь в Микротиках? Или впервые недавно столкнулись с этим оборудованием и не знаете, с какой стороны к нему подступиться? В обоих случаях вы найдете для себя полезную информацию в курсе «Настройка оборудования MikroTik». 162 видеоурока, большая лабораторная работа и 89 вопросов, на каждый из которых вы будете знать ответ. Подробности и доступ к началу курса бесплатно тут.
В данной статье мы затронем тему маркировки пакетов (mangle) и настройку Dual WAN на MikroTik как одну из основных тем. В Mikrotik данный функционал реализован через Mangle — используется для того чтобы пометить пакеты/соединения для дальнейшей их обработки очередями (простыми или деревьями), NAT правилами, таблицами маршрутизации или изменению таких параметров как:
На одном пакете/соединении может быть только одна метка
Данные метки работают только на определённом роутере и не передаются по сети другим участникам, хотя при желании можно на это повлиять.
В сегодняшнем примере мы будем настраивать Dual WAN. Предполагается что у вас есть 2 провайдера, основной и резервный, с помощью Mangle мы сделаем правильную маркировку и выпустим клиентов через основного провайдера. Так же прикрутим скрипт, который будет проверять доступность выхода в интернет через обоих провайдеров, и в случае недоступности через основной, переключать на резервный канал.
Схема сети

Настройка правил NAT
Для того чтобы наши внутренние клиент выходили в интернет, нам нужно 2 правила NAT. Один под основного провайдера, другой для резервного.
Маркировка трафика
Следующая задача, промаркировать трафик для каждого провайдера, на вход и на выход. Открываем на микротике IP – Firewall – Mangle, создаём новое правило. Интересует цепочка Prerouting, входящий интерфейс первого оператора. Маркируем соединение и задаём понятное имя марки. Для оптимизации нагрузки можно выбрать только новые соединения.

Следующим правилом создаём маркировку роутинга для нашей ранее созданной метки соединения.

Теперь займемся output. На основе коннекшен марки создаём правило роутинга.

Последним правилом маркировки для ISP1 будет цепочка output.

Для первого оператора метки заданы. По аналогии создаём и для второго, только придумываем другие имена меткам и в последнем правиле указываем соответствующий адрес.
Задаём соответствующий входящий интерфейс.

Создаём маркировку роутинга на основе connection mark.

И 2 правила на output.

В итоге вся маркировка трафика у нас будет выглядеть таким образов.

Настройка Routing Rules
Следующий этап, это настройка правил и таблиц маршрутизации. Следует разнести трафик по соответствующим провайдерам. Создаём Rule с src address первого оператора, впишем вручную новую table.

По аналогии и для второго провайдера.

Порядок имеет значение. Необходимо указать все наши локальные сети, трафик к ним будет идти через табличку main.
А теперь все наши mark routing выпустим через соответствующие таблички.

Создание таблиц маршрутизации
В основной таблице маршрутизации нужно создать 2 маршрута, основной и резервный. Для этого вам нужно определиться кто из них какую роль будет выполнять. Т.к. активный будет всегда один. У первого метрика 10.

У второго метрика 20.

Открываем table-ISP1 и создаём default route с любой метрикой через шлюз провайдера.

Аналогично и для table-ISP2. Не перепутайте шлюзы.


Настройка переключения интернет-каналов
Есть несколько способов отслеживания состояния. Один из них — это проверка провайдерского шлюза arp или ping запросами в самой настройке маршрута. Но он не эффективен, т.к. gateway может быть и доступен, а доступ в инет за ним нет. Как один из вариантов, проверять доступность на основе пинг запросов каких-либо крупных сервисов, которые доступны круглосуточно. Встроенных средств у Mikrotik нет, и по этой причине будем использовать простенький скрипт ниже.
Основные параметры, которые вам нужно будет исправить это:

Добавляем данный скрипт в хранилище, даем имя check-internet.

Тестируем работу через консоль.

Как мы видим все отлично.

Добавляем задание в планировщик. Обязательно указываем интервал. В данном случае раз в 15 сек. Это самый минимальный рекомендуемый интервал, ниже ставить не советую.
Из особенностей, очищает все соединения, когда происходит переключение. Вы так же можете добавить свои команды в конце тела.
Проверка работоспособности
Итак, мы все настроили и ждём чуда. Т.к. запросы у нас ICMP, для ускорения результата, на вышестоящем оборудовании включу блокировку данного трафика.

Если отключу блокировку, то все встаёт на свои места.

Вы можете прикрутить отправку письма вам на e-mail в случае переключения, или допустим полный сброс роутера))). Вот и все — в этой статье мы рассмотрели настройку настройка Dual WAN на MikroTik, для этого использовали маркировку трафика «mangle». Теперь основываясь на этом примере можете создавать свои собственные конфигурации.
Вы хорошо разбираетесь в Микротиках? Или впервые недавно столкнулись с этим оборудованием и не знаете, с какой стороны к нему подступиться? В обоих случаях вы найдёте для себя полезную информацию в курсе «Настройка оборудования MikroTik». 162 видеоурока, большая лабораторная работа и 89 вопросов, на каждый из которых вы будете знать ответ. Подробности и доступ к началу курса бесплатно тут.

