Mikrotik 2 провайдера резервный канал

Содержание
  1. Подготовка настроек для работы с двумя провайдерами в MikroTik
  2. Освободить порт для 2-ого провайдера
  3. Настроить 2-ого провайдера
  4. DHCP client
  5. Статический IP
  6. PPPoE client
  7. Добавление 2-ого провайдера в список WAN
  8. Отключить добавление DNS серверов для провайдера-1
  9. DHCP client
  10. PPPoE client
  11. Определить общедоступные DNS сервера
  12. Отключить автоматическое добавление маршрутов
  13. DHCP client
  14. PPPoE client
  15. Добавление маршрутов для двух провайдеров
  16. Статический IP или DHCP клиент
  17. PPPoE client
  18. Mangle маркировка ответов для двух провайдеров
  19. Статическая маршрутизация для маркированных маршрутов
  20. Route Failover
  21. Маршруты с разным приоритетом
  22. Mikrotik автоматическое переключение на резервный канал для динамического ip адреса (выдаваемого по DHCP)
  23. Объяснение алгоритма
  24. Подготовительная настройка
  25. Ручная настройка балансировки 2 провайдеров в MikroTik
  26. Mangle маркировка соединений для балансировки 2 провайдеров
  27. Mangle маркировка маршрута для балансировки двух провайдеров
  28. Общий вид раздела Mangle
  29. Общий вид таблицы маршрутизации при балансировке 2 провайдеров
  30. Контроль ICMP запросов через нужный интерфейс
  31. Настройка Netwatch для переключения провайдеров
  32. Балансировка и резервирование в MikroTik используя настройки NTH раздела Mangle
  33. Load Balancing
  34. Читайте также
  35. Использование сценария, запускаемого в Netwatch
  36. 1. Задаем описания
  37. 2. Настраиваем узел для проверки канала
  38. 3. Настройка задания в Netwatch
  39. Резервирование Интернет-канала на Mikrotik
  40. Маршруты с разным приоритетом
  41. Настройка Netwatch для балансировки нагрузки двух провайдеров
  42. Настройка Firewall
  43. Настройка маршрутизации
  44. Настройка Netwatch
  45. Провайдер меняет шлюз в DHCP клиенте, не работает переключение или балансировка
  46. Использование сценария, запускаемого в Netwatch
  47. 1. Задаем описания
  48. 2. Настраиваем узел для проверки канала
  49. 3. Настройка задания в Netwatch
  50. Читайте также
  51. Adding Multiple Hosts
  52. MikroTik → MikroTik 2 провайдера с автоматическим переключением на резервный канал( MikroTik Failover 2 ISP )
  53. Настройка двух провайдеров в MikroTik, предварительная подготовка
  54. Освободить порт для 2-ого провайдера
  55. Настроить 2-ого провайдера
  56. Добавление 2-ого провайдера в список WAN
  57. Отключить добавление DNS серверов для провайдера-1
  58. Определить общедоступные DNS сервера
  59. Отключить автоматическое добавление маршрутов
  60. Добавление маршрутов для двух провайдеров
  61. Статический IP или DHCP клиент
  62. Mangle маркировка ответов для двух провайдеров
  63. Статическая маршрутизация для маркированных маршрутов
  64. Настройка двух провайдеров MikroTik, режим резервирования(автопереключение)
  65. Добавить статический маршрут для Google DNS
  66. Запретить ICMP запросы через провайдера-2
  67. Добавить правило Netwatch для переключения
  68. Резервирование
  69. Быстрый способ
  70. Комплексный способ
  71. Резервирование Интернет-канала на Mikrotik
  72. Маршруты с разным приоритетом
  73. Настройка 2 провайдеров в MikroTik, режим балансировки(одновременная работа)
  74. Одновременная работа 2-ух провайдеров в MikroTik, настройка режима балансировки
  75. Читайте также
  76. Маршруты с разным приоритетом
  77. Настройка двух провайдеров MikroTik, режим резервирования(автопереключение)
  78. Добавить статический маршрут для Google DNS
  79. Запретить ICMP запросы через провайдера-2
  80. Добавить правило Netwatch для переключения
  81. Ручная настройка балансировки 2 провайдеров в MikroTik
  82. Mangle маркировка соединений для балансировки 2 провайдеров
  83. Mangle маркировка маршрута для балансировки двух провайдеров
  84. Общий вид раздела Mangle
  85. Общий вид таблицы маршрутизации при балансировке 2 провайдеров
  86. Контроль ICMP запросов через нужный интерфейс
  87. Настройка Netwatch для переключения провайдеров
  88. Проверка
  89. Использование сценария, запускаемого в Netwatch
  90. 1. Задаем описания
  91. 2. Настраиваем узел для проверки канала
  92. 3. Настройка задания в Netwatch
  93. Одновременный проброс с двух провайдеров в MikroTik настройка Mangle
  94. Проверка

Подготовка настроек для работы с двумя провайдерами в MikroTik

Данный набор настроек будет считаться контрольной точкой для дальнейших режимов работы роутера MikroTik, а именно резервирования(автопереключения) и балансировки.

В исходной настройке роутера MikroTik произведена базовая настройка и как минимум один интернет провайдер уже работает.

Начать нужно с того, что требуется физическое подключение 2-ого провайдера. Для этого нужно подготовить свободный порт и исключить его из Bridge(LAN).

Освободить порт для 2-ого провайдера

Mikrotik 2 провайдера резервный канал

На данном примере, был удалён ether2 со списка портов, принадлежащих к Bridge-LAN.

Настроить 2-ого провайдера

DHCP client

Mikrotik 2 провайдера резервный канал

Add Default Route = no – статическая маршрутизация для 2-ого провайдера будет доставлена вручную.

Статический IP

Mikrotik 2 провайдера резервный канал

Mikrotik 2 провайдера резервный канал

PPPoE client

Mikrotik 2 провайдера резервный канал

Mikrotik 2 провайдера резервный канал

Add Default Route = no – статическая маршрутизация для 2-ого провайдера будет доставлена вручную.

Добавление 2-ого провайдера в список WAN

Mikrotik 2 провайдера резервный канал

Mikrotik 2 провайдера резервный канал

Отключить добавление DNS серверов для провайдера-1

Эти действия приведут к тому, что роутер MikroTik не будет использовать DNS сервера текущих интернет провайдеров. К примеру ситуация переключения на резервную линию может спровоцировать отсутствие DNS ответа, т.к. клиент или сам роутер осуществляет DNS запрос через основного провайдера. А он в то время уже перестал работать. Поэтому будут установлены общедоступные DNS сервера, который будут работать с двух провайдеров.

DHCP client

Mikrotik 2 провайдера резервный канал

PPPoE client

Mikrotik 2 провайдера резервный канал

Определить общедоступные DNS сервера

Mikrotik 2 провайдера резервный канал

Отсутствие записей DNS серверов в разделе Dynamic Servers указывает на то, что роутер MikroTik не использует автоматические DNS сервера, которые назначаются в автоматическом режиме.

Отключить автоматическое добавление маршрутов

Т.к. все маршруты будут добавлены в ручном режиме, следует отключить все динамические маршруты для основного провайдера. Такие маршруты помечены буквой D(Dynamic) в таблице маршрутизации:

Mikrotik 2 провайдера резервный канал

DHCP client

Mikrotik 2 провайдера резервный канал

PPPoE client

Mikrotik 2 провайдера резервный канал

Добавление маршрутов для двух провайдеров

Для переключение между провайдерами, будет использоваться скрипт, который будет находить маршрут с комментарием ISP-1 или ISP-2 и выключать или включать его в зависимости от статуса работы интернета. Ниже будет описан метод, как это можно сделать для типов подключения: статический IP, dhcp клиент, PPPoE подключение. Этим методом нужно воспользоваться для назначения комментария двух провайдеров.

Кроме обозначенных комментариев нужно определить distance = 2.

Статический IP или DHCP клиент

Mikrotik 2 провайдера резервный канал

В случае с DHCP client значение Gateway можно взять с раздела Status самого DCHP клиента

Mikrotik 2 провайдера резервный канал

PPPoE client

Mikrotik 2 провайдера резервный канал

Mangle маркировка ответов для двух провайдеров

Правила маркировки маршрутов нужно определять только для белых(постоянных) IP адресов! Этот набор правил будет гарантировать то, что если пришёл input запрос на порт второго(или первого) провайдера, через этот же порт будет отправлен ответ. При отсутствии этих правил, доступ к роутеру по внешним IP может сопровождаться непредсказуемой работой.

Маркировка будет состоять из двух каскадных правил: маркировки соединения и маркировки маршрута

Mikrotik 2 провайдера резервный канал

Mikrotik 2 провайдера резервный канал

Mikrotik 2 провайдера резервный канал

Mikrotik 2 провайдера резервный канал

Статическая маршрутизация для маркированных маршрутов

Кроме стандартных правил маршрутизации, нужно добавить маршруты для промаркированных ответов с раздела Mangle.

Mikrotik 2 провайдера резервный канал

Mikrotik 2 провайдера резервный канал

И все текущие правила статической маршрутизации будут иметь вид:

Mikrotik 2 провайдера резервный канал

Route Failover

This example explains how to use multiple gateways with one taking over when first fails. It begins with adding the gateways. Configure larger distance value for the secondary one, and check-gateway for the first one:

The first gateway will begin as its distance is smaller (default 1); the check-gateway will make sure it is up. When the ping will fail, it will disable the first gateway and the second will take over and when the first one comes up, it will return to its function.

Маршруты с разным приоритетом

Раскрываем в меню IP:

Mikrotik 2 провайдера резервный канал

. и переходим в Routes:

Mikrotik 2 провайдера резервный канал

Добавляем 2 маршрута. Первый через одного Интернет провайдера со следующими настройками:

Mikrotik 2 провайдера резервный канал

* мы указываем шлюз от нашего провайдера (в данном примере 1.1.1.1), задаем настройку проверки шлюза (Check Gateway) с помощью утилиты ping, задаем приоритет (Distance 10).

Для второго провайдера мы задаем, практически, аналогичные настройки:

Mikrotik 2 провайдера резервный канал

* обратите внимание, что в отличие от первого маршрута, в данном указана большая дистанция и другой шлюз (для второго провайдера).

После удаляем старые маршруты. Должны остаться только те, что мы добавили.

Mikrotik автоматическое переключение на резервный канал для динамического ip адреса (выдаваемого по DHCP)

Mikrotik 2 провайдера резервный канал

Приветствую, Хабр! В связи с плохим качеством линии меня попросили настроить автоматическое переключение на резервный канал. Для этой цели предоставили роутер MikroTik RB 951Ui.

В этой ОС можно создавать маршрут двумя способами:

  • вручную (через графический интерфейс или через терминал);
  • автоматически DHCP-клиентом.

При создании маршрута вручную не получится обновлять шлюз динамически. Для этого придется писать несколько достаточно больших скриптов и добавлять множество проверок. При их написании заметил, что в RouterОS проблематично заставить работать сложные скрипты. Очень тяжело отследить логику работы, хотя использовались логи и переменные для проверки. Скрипты были написаны, но работали нестабильно, несмотря на оптимизацию кода и добавления проверок. Когда количество проверок начало расти в геометрической прогрессии и многократная оптимизация логической схемы ненамного улучшила ситуацию — я решил отказаться от этого варианта и попробовать использовать в скрипте опцию автоматического создания маршрута DHCP- клиентом.

Для нужного интерфейса в настройках DHCP-клиента устанавливается опция автоматического создания маршрута по умолчанию.

Итак, скрипт будет работать по такому алгоритму:

Mikrotik 2 провайдера резервный канал

Объяснение алгоритма

Для каждого интерфейса будет запущена копия скрипта. Каждая копия будет автономно создавать маршрут по умолчанию. Приоритет маршрута будет зависеть от distance. То есть, когда «упадет» соединение на маршруте с Distance 10 произойдет переключение на 11. Благодаря этому переключение получается бесшовным.

Для начала скрипт пингует выбранный хост в интернете по маршруту по умолчанию. Если пинг меньше чем ($PingCount-$Margin) (Margin — задается погрешность для контроля точности), тогда пингуем по тестовому маршруту для проверки «живое» ли соединение. В случае негативного результата проверяем маршрут и наличие проблем с настройками:

  • перегружаем интерфейс каждые $TimeToWait раз (снижаем нагрузку на процессор);
  • ждем загрузки интерфейса;
  • проверяем есть ли настройки DHCP — клиента для данного интерфейса, в противном случае создаем;
  • проверяем статус DHCP клиента (иногда RouterOS может «подсунуть свинью»);
  • ждем получение DHCP lease;
  • добавляем к значению $CurrentGateway нужный интерфейс;
  • проверяем есть ли тестовый маршрут;
  • проверяем правильный ли в тестовом маршруте шлюз.

Скорость реакции на состояние соединения можно индивидуально подстраивать с помощью следующих переменных:

  • PingCount — количество посылаемых icmp запросов (также можно добавить еще одну переменную для определения количества посылаемых запросов по тестовому маршруту и на шлюз провайдера, то есть уменьшится количество запросов и соответственно увеличится скорость работы скрипта);
  • Margin — коэффициент нужен для задания погрешности. Например, при $Margin=1 цикл проверки маршрутов запускается только тогда, когда пропадет больше одного пакета, что немаловажно в моей ситуации;
  • TimeToWait при ожидании соединения интерфейс перегружается каждый $TimeToWait раз (это нужно для того, чтобы снять нагрузку на процессор)

Подготовительная настройка

Описывать стандартные настройки роутера я не буду по двум причинам: во-первых, эта тема не раз поднималась в интернете, в том числе на Хабре, во-вторых, сети отличаются своей конфигурацией. Так как работа скрипта затрагивает только маршруты по умолчанию и настройки DHCP клиента, думаю у вас не возникнет трудностей при адаптации скрипта под вашу сеть.

Для работы скрипта не нужно создавать маршруты по умолчанию — он создаст их автоматически. Единственное, нужно подобрать подходящий distance для тестовых маршрутов (можно оба с $Distance = 1) и $DistanceDefault 10 и 11 для маршрутов по умолчанию (по одному для каждого провайдера). Также не нужно создавать dhcp клиентов.

При настройке роутера я использовал SSH и Winbox (специализированная программа для настройки устройств управляемых RouterOS, работает даже в *nix с помощью Wine).

В Interfaces меняем названия двух интерфейсов, чтобы совпадали со значением переменной $Iface в скрипте (у меня isp1, isp2):

Mikrotik 2 провайдера резервный канал

Меняем DNS адреса на google-кие:

Mikrotik 2 провайдера резервный канал

Mikrotik 2 провайдера резервный канал

Повторяем предыдущий шаг для второго интерфейса, только заменяем значение переменной $Iface на «isp2», также меняем $DistanceDefault на вышеуказанные значения (у меня для isp1 — 10, а для isp2 — 11 ).

Mikrotik 2 провайдера резервный канал

Mikrotik 2 провайдера резервный канал

Также это можно сделать с помощью ssh или же из консоли, если возникают проблемы с кириллицей в дате:

Вот и все. Надеюсь, что эта статья окажется для кого-то полезной.

Mikrotik 2 провайдера резервный канал

Как видите, несмотря на то, что маршрут указан верно — пинг не проходит.

Чтобы это исправить, добавил еще одну проверку (выше в коде скрипта она уже добавлена).

Ручная настройка балансировки 2 провайдеров в MikroTik

Как видно из названия, условную подсеть роутера MikroTik будет поделено на две группы: To-ISP-1 и To-ISP-2.

  • pppoe-out1 – это провайдер-1;
  • ether2 – это провайдер-2.
Читайте также:  Топ-3 программ для удалённого администрирования

Настройка 2 провайдеров в MikroTik, разбиение узлов на группы для балансировки

И для каждой из групп, нужно промаркировать соединения и маршрут, для плавного переключение между провайдерами в случае обрыва одного из них.

Mangle маркировка соединений для балансировки 2 провайдеров

Настройка 2 провайдеров в MikroTik, prerouting mark connection

Настройка 2 провайдеров в MikroTik, address list для маркировки

Настройка 2 провайдеров в MikroTik, исключить локальный трафик

Настройка 2 провайдеров в MikroTik, маркировка соединений

Mangle маркировка маршрута для балансировки двух провайдеров

Настройка 2 провайдеров в MikroTik, prerouting для mark connection

Настройка 2 провайдеров в MikroTik, маркировка маршрута для address list

Настройка 2 провайдеров в MikroTik, маркировка маршрута

Аналогичные действия по маркировке соединений и маршрута нужно выполнить для Address List = To-ISP-2.

Общий вид раздела Mangle

Настройка 2 провайдеров в MikroTik, общий вид Mangle

/ip firewall address-list
add address=192.168.2.2-192.168.2.125 list=To-ISP-1
add address=192.168.2.126-192.168.2.254 list=To-ISP-2

/ip firewall mangle
add action=mark-connection chain=prerouting disabled=no dst-address-type=\
!local new-connection-mark=To-ISP-1-Connection src-address-list=To-ISP-1
add action=mark-routing chain=prerouting connection-mark=To-ISP-1-Connection \
disabled=no new-routing-mark=To-ISP-1 src-address-list=To-ISP-1
add action=mark-connection chain=prerouting disabled=no dst-address-type=\
!local new-connection-mark=To-ISP-2-Connection src-address-list=To-ISP-2
add action=mark-routing chain=prerouting connection-mark=To-ISP-2-Connection \
disabled=no new-routing-mark=To-ISP-2 src-address-list=To-ISP-2

Для каждой группы узлов To-ISP-1 и To-ISP-2 будет создано по два маршрута, чтобы обеспечить плавное переключение согласно первоначальным условиям по балансировке 2 провайдеров.

Общий вид таблицы маршрутизации при балансировке 2 провайдеров

Настройка 2 провайдеров в MikroTik, общий вид таблицы маршрутизациия при балансировке

/ip route
add comment=Group-1-1 distance=1 gateway=pppoe-out1 routing-mark=To-ISP-1
add comment=Group-2-1 disabled=yes distance=2 gateway=109.87.159.126 \
routing-mark=To-ISP-1
add comment=Group-2-2 distance=1 gateway=109.87.159.126 routing-mark=To-ISP-2
add comment=Group-1-2 disabled=yes distance=2 gateway=pppoe-out1 \
routing-mark=To-ISP-2
add comment=Netwatch-2 distance=1 dst-address=8.8.4.4/32 gateway=109.87.159.126
add comment=Netwatch-1 distance=1 dst-address=8.8.8.8/32 gateway=\
pppoe-out1

Контроль ICMP запросов через нужный интерфейс

Эти правила обеспечат контроль статуса интернет соединения для каждого из провайдера. Диагностика статуса интернета будет осуществляться только через те интерфейсы, которые обозначены в таблице маршрутизации с комментариями Netwatch-1 и Netwatch-2.

Настройка 2 провайдеров в MikroTik, контроль icmp запросов для балансировке

/ip firewall filter
add action=drop chain=output comment=Netwatch-1 dst-address=8.8.8.8 \
out-interface=ether2 protocol=icmp
add action=drop chain=output comment=Netwatch-2 dst-address=8.8.4.4 \
out-interface=!ether2 protocol=icmp

Настройка Netwatch для переключения провайдеров

И собственно утилита Netwatch, именно она будет заниматься переключением между провайдерами в случае обрыва связи на одном из них.

Настройка 2 провайдеров в MikroTik, netwatch для балансировки

/tool netwatch
add down-script="/ip route disable [find comment=\"ISP-2\"]\r\
\n/ip route disable [find comment=\"Group-2-2\"]\r\
\n/ip route enable [find comment=\"Group-1-2\"]\r\
\nlog warning (\"ISP-2 IS DOWN\")\r\
\n:foreach i in=[/ip firewall connection find connection-mark~\"To-ISP-2-C\
onnection\"] do={ /ip firewall connection remove \$i }" host=8.8.4.4 \
up-script="/ip route enable [find comment=\"ISP-2\"]\r\
\n/ip route enable [find comment=\"Group-2-2\"]\r\
\n/ip route disable [find comment=\"Group-1-2\"]\r\
\nlog warning (\"ISP-2 IS UP\")\r\
\n:foreach i in=[/ip firewall connection find connection-mark~\"To-ISP-2-C\
onnection\"] do={ /ip firewall connection remove \$i }"
add down-script="/ip route disable [find comment=\"ISP-1\"]\r\
\n/ip route disable [find comment=\"Group-1-1\"]\r\
\n/ip route enable [find comment=\"Group-2-1\"]\r\
\nlog warning (\"ISP-1 IS DOWN\")\r\
\n:foreach i in=[/ip firewall connection find connection-mark~\"To-ISP-1-C\
onnection\"] do={ /ip firewall connection remove \$i }" host=8.8.8.8 \
up-script="/ip route enable [find comment=\"ISP-1\"]\r\
\n/ip route enable [find comment=\"Group-1-1\"]\r\
\n/ip route disable [find comment=\"Group-2-1\"]\r\
\nlog warning (\"ISP-1 IS UP\")\r\
\n:foreach i in=[/ip firewall connection find connection-mark~\"To-ISP-1-C\
onnection\"] do={ /ip firewall connection remove \$i }"

Балансировка и резервирование в MikroTik используя настройки NTH раздела Mangle

Можно также применить схему, в которой каждое соединение будет промаркировано по принципу:

четный-пакет = провайдер-1

нечетный-пакет = провайдер-2

Балансировка между двумя провайдерами будет производиться в соотношении 50:50, это определяется параметрами nth=2,1 и nth=2,2.

Load Balancing

Network load balancing is the ability to balance traffic across two or more WAN links without using routing protocols like BGP.

Load Balancing’s aim is to spread traffic across multiple links to get better link usage. This can be done on one per-packet or per-connection basis.

With the Firewall features

Читайте также

Данная информация также может быть полезной:

Использование сценария, запускаемого в Netwatch

Данный метод поможет настроить резервирование канала, если один из провайдеров выдает динамические адреса в разных подсетях, например, подключение через 4G-модем.

1. Задаем описания

Сначала необходимо задать описание для маршрутов. Это понадобиться для сценария, который будет работать с последними через данные описания.

Раскрываем в меню IP:

Mikrotik 2 провайдера резервный канал

. и переходим в Routes:

Mikrotik 2 провайдера резервный канал

Mikrotik 2 провайдера резервный канал

Mikrotik 2 провайдера резервный канал

2. Настраиваем узел для проверки канала

Мы настроим узел, который будет пинговать провайдер 1. Если пинг пропадает, то необходимо переключать активный Интернет-канал на провайдера 2. Также мы должны заблокировать возможность пинговать проверочный узел с провайдера 2.

И так, переходим к настройке маршрутов:

Mikrotik 2 провайдера резервный канал

Mikrotik 2 провайдера резервный канал

Добавляем новый маршрут к проверочному узлу, например 77.88.8.2 (DNS Яндекса):

Mikrotik 2 провайдера резервный канал

* в данной настройке мы задали маршрут к проверочному узлу через шлюз 1.1.1.1 (в нашем примере это шлюз от провайдера 1).

Переходим в IPFirewall:

Mikrotik 2 провайдера резервный канал

Создаем новое правило для запрета пинга проверочного узла через провайдера номер 2:

Mikrotik 2 провайдера резервный канал

. в качестве действия выбираем drop:

Mikrotik 2 провайдера резервный канал

3. Настройка задания в Netwatch

Переходим в ToolsNetwatch:

Mikrotik 2 провайдера резервный канал

Создаем новое правило. На вкладке Host прописываем следующее:

Mikrotik 2 провайдера резервный канал

* в данном примере мы будем проверять узел 77.88.8.2 раз в минуту.

На вкладке Up пропишем:

Mikrotik 2 провайдера резервный канал

. а на вкладке Down следующее:

Mikrotik 2 провайдера резервный канал

Резервирование Интернет-канала на Mikrotik

В данной инструкции мы рассмотрим пример настройки двух Интернет-каналов одновременно на роутере Mikrotik с целью отказоустойчивости — при разрыве соединения основной канал будет меняться на резервный. В нашем случае будет задействован один WAN Ethernet, второй — LTE. Итого, два провайдера и две сети.

Есть два способа настройки отказоустойчивости:

  1. Настройка балансировки между шлюзами (разные приоритеты для интерфейсов). Данный метод можно использовать, если у нас оба провайдера предоставляют настройки со статическим адресом шлюза. Настройка выполняется без скриптов через конфигурирование нескольких шлюзов с разным весом.
  2. Проверка доступности основного Интернет-канала и переключение на резервный при наличии проблем. Это универсальный метод настройки отказоустойчивости. Для настройки используется утилита Netwatch, которая выполняет скрипт проверки и, при необходимости, смены основного шлюза для доступа к сети Интернет.

Мы рассмотрим оба варианта. Настройки выполним в программе winbox. Настройка в веб-интерфейсе аналогична.

Перед началом, убедитесь, что по отдельности микротик раздает Интернет от обоих провайдеров.

Маршруты с разным приоритетом

Раскрываем в меню IP:

Mikrotik 2 провайдера резервный канал

. и переходим в Routes:

Mikrotik 2 провайдера резервный канал

Добавляем 2 маршрута. Первый через одного Интернет провайдера со следующими настройками:

Mikrotik 2 провайдера резервный канал

* мы указываем шлюз от нашего провайдера (в данном примере 1.1.1.1), задаем настройку проверки шлюза (Check Gateway) с помощью утилиты ping, задаем приоритет (Distance 10).

Для второго провайдера мы задаем, практически, аналогичные настройки:

Mikrotik 2 провайдера резервный канал

* обратите внимание, что в отличие от первого маршрута, в данном указана большая дистанция и другой шлюз (для второго провайдера).

После удаляем старые маршруты. Должны остаться только те, что мы добавили.

Настройка 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

Настройка Netwatch

В каждом действии Up и Down правило Netwatch-1 будет наблюдать за статусом правила Netwatch-2 и в зависимости от значения выполнять переключение между балансировкой и отдельным провайдером. Это также распространяется в отношении работы Netwatch-2.

/tool netwatch
add comment=Netwatch-1 down-script=":local stat\r\
\n:set stat [/tool netwatch get [find comment=\"Netwatch-2\"] status]\r\
\n:if (\$stat=\"up\") do={\r\
\n/ip route enable [find comment=\"ISP-2\"]\r\
\n}\r\
\n/ip route disable [find comment=\"ISP-12\"]\r\
\n/ip route disable [find comment=\"ISP-1\"]\r\
\n:foreach i in=[/ip firewall connection find protocol~\"tcp\"] do={ /ip f\
irewall connection remove \$i }\r\
\n:foreach i in=[/ip firewall connection find protocol~\"udp\"] do={ /ip f\
irewall connection remove \$i }\r\
\nlog warning (\"ISP-1 IS DOWN\")" host=77.88.8.1 interval=20s up-script="\
:local stat\r\
\n:set stat [/tool netwatch get [find comment=\"Netwatch-2\"] status]\r\
\n:if (\$stat=\"up\") do={\r\
\n/ip route enable [find comment=\"ISP-12\"]\r\
\n}\r\
\n:if (\$stat=\"down\") do={\r\
\n/ip route enable [find comment=\"ISP-1\"]\r\
\n}\r\
\n/ip route disable [find comment=\"ISP-2\"]"
add comment=Netwatch-2 down-script=":local stat\r\
\n:set stat [/tool netwatch get [find comment=\"Netwatch-1\"] status]\r\
\n:if (\$stat=\"up\") do={\r\
\n/ip route enable [find comment=\"ISP-1\"]\r\
\n}\r\
\n/ip route disable [find comment=\"ISP-12\"]\r\
\n/ip route disable [find comment=\"ISP-2\"]\r\
\n:foreach i in=[/ip firewall connection find protocol~\"tcp\"] do={ /ip f\
irewall connection remove \$i }\r\
\n:foreach i in=[/ip firewall connection find protocol~\"udp\"] do={ /ip f\
irewall connection remove \$i }\r\
\nlog warning (\"ISP-2 IS DOWN\")" host=77.88.8.2 interval=20s up-script="\
:local stat\r\
\n:set stat [/tool netwatch get [find comment=\"Netwatch-1\"] status]\r\
\n:if (\$stat=\"up\") do={\r\
\n/ip route enable [find comment=\"ISP-12\"]\r\
\n}\r\
\n:if (\$stat=\"down\") do={\r\
\n/ip route enable [find comment=\"ISP-2\"]\r\
\n}\r\
\n/ip route disable [find comment=\"ISP-1\"]"

Провайдер меняет шлюз в DHCP клиенте, не работает переключение или балансировка

DHCP клиент это один из самых распространённых типов настроек WAN интерфейса. Все настройки проходят в автоматическом режиме и не требуют ни каких дополнительных усилий. Однако в варианте с балансировкой двух провайдеров, используемая настройка требует явного определения шлюза(Gateway) в таблице маршрутизации. А если IP адрес серый(динамический), то правила с балансировкой перестанут работать при его изменении.

Для того, чтобы в правиле статической маршрутизации указывался текущий шлюз(Gateway) провайдера, в свойствах DHCP клиента следует укатать скрипт

Mikrotik 2 провайдера резервный канал

Скрипт может быть дополнен добавлениями(и удалениями) маршрутов для Routing-mark и Netwatch.

Использование сценария, запускаемого в Netwatch

Данный метод поможет настроить резервирование канала, если один из провайдеров выдает динамические адреса в разных подсетях, например, подключение через 4G-модем.

1. Задаем описания

Сначала необходимо задать описание для маршрутов. Это понадобиться для сценария, который будет работать с последними через данные описания.

Раскрываем в меню IP:

Mikrotik 2 провайдера резервный канал

. и переходим в Routes:

Mikrotik 2 провайдера резервный канал

Mikrotik 2 провайдера резервный канал

Mikrotik 2 провайдера резервный канал

2. Настраиваем узел для проверки канала

Мы настроим узел, который будет пинговать провайдер 1. Если пинг пропадает, то необходимо переключать активный Интернет-канал на провайдера 2. Также мы должны заблокировать возможность пинговать проверочный узел с провайдера 2.

И так, переходим к настройке маршрутов:

Mikrotik 2 провайдера резервный канал

Mikrotik 2 провайдера резервный канал

Добавляем новый маршрут к проверочному узлу, например 77.88.8.2 (DNS Яндекса):

Mikrotik 2 провайдера резервный канал

* в данной настройке мы задали маршрут к проверочному узлу через шлюз 1.1.1.1 (в нашем примере это шлюз от провайдера 1).

Переходим в IPFirewall:

Mikrotik 2 провайдера резервный канал

Создаем новое правило для запрета пинга проверочного узла через провайдера номер 2:

Mikrotik 2 провайдера резервный канал

. в качестве действия выбираем drop:

Mikrotik 2 провайдера резервный канал

3. Настройка задания в Netwatch

Переходим в ToolsNetwatch:

Mikrotik 2 провайдера резервный канал

Создаем новое правило. На вкладке Host прописываем следующее:

Mikrotik 2 провайдера резервный канал

* в данном примере мы будем проверять узел 77.88.8.2 раз в минуту.

На вкладке Up пропишем:

Mikrotik 2 провайдера резервный канал

. а на вкладке Down следующее:

Mikrotik 2 провайдера резервный канал

Читайте также

Данная информация также может быть полезной:

Adding Multiple Hosts

In the case where Host1 and Host2 fail, the corresponding link is considered failed too. In this section, we will use two additional hosts for redundancy. In our example, we will use OpenDNS servers Host1B (208.67.222.222) and Host2B (208.67.220.220):

/ip/route
add dst-address=8.8.8.8 gateway=10.111.0.1 scope=10
add dst-address=208.67.222.222 gateway=10.111.0.1 scope=10
add dst-address=8.8.4.4 gateway=10.112.0.1 scope=10
add dst-address=208.67.220.220 gateway=10.112.0.1 scope=10

Then, let’s create destinations for «virtual» hops to use in further routes. We will use 10.10.10.1 and 10.20.20.2 as an example, but you can use different ones, be sure they do not override other configured IP addresses in your setup:

/ip/route
add dst-address=10.10.10.1 gateway=8.8.8.8 scope=10 target-scope=11 check-gateway=ping
add dst-address=10.10.10.1 gateway=208.67.222.222 scope=10 target-scope=11 check-gateway=ping
add dst-address=10.20.20.2 gateway=8.8.4.4 scope=10 target-scope=11 check-gateway=ping
add dst-address=10.20.20.2 gateway=208.67.220.220 scope=10 target-scope=11 check-gateway=ping

Do not forget to add routes with routing marks:

/ip/route
add distance=1 gateway=10.10.10.1 routing-table=to_ISP1 target-scope=12
add distance=2 gateway=10.20.20.2 routing-table=to_ISP1 target-scope=12
add distance=1 gateway=10.20.20.2 routing-table=to_ISP2 target-scope=12
add distance=2 gateway=10.10.10.1 routing-table=to_ISP2 target-scope=12

MikroTik → MikroTik 2 провайдера с автоматическим переключением на резервный канал( MikroTik Failover 2 ISP )

Mikrotik 2 провайдера резервный канал
Всех приветствую, решил написать статью, описывающую способ реализации отказоустойчивости на оборудовании Mikrotik.
В одной маленькой конторе, где я подрабатываю, из-за регулярных проблем у провайдера, задумались о подключении второго интернет канала, основного провайдера (не стабильного в последнее время) отключать не хотят, за много лет его использования тариф для фирмы не изменимся, да и скорость отличная, за те деньги + есть внешний IP и сотрудники офиса могут подключаться по VPN к офису, руководство о смене провайдера ничего слышать не хочет, это почти самый центр Москвы и с провайдерами там не очень весело.

Читайте также:  «Проблема с сертификатом SSL

Идея была в том что офис будет протянут новый канал и необходимо было реализовать следующую схему,
первый провайдер назовем его ISP1 (Глючный) и ISP2 (не имеет внешнего адреса только серый 10.57.ХХ.ХХ), опишу схему подробнее
ISP1 предоставляет сеть с белым IP который прилетает по DHCP, скорость 100 Мбит/с
ISP2 предоставляет сеть с серым IP адресом находящимся за NAT скорость 30 Мбит/с
Провайдер ISP2 нужен чтобы пересидеть, время недоступности основного канала, а офис мог функционировать с небольшими ограничениями.
Я пробежался по готовым статьям и не нашел того решения что меня устраивало на 100%, вот я и решил поделиться
своей наработкой с общественностью.
Я опишу свой способ, который без проблем работает как у 2х провайдеров которые выдают IP адреса по DHCP, так и у 2х провайдеров которые раздают статические адреса, как вы просчитали выше, у меня 2 сети- одна сеть конфигурируируется по DHCP, а вторая — статические адреса.
Данная схема, отработала уже более 2х лет, статистика сипользования
переключений в неделю — в среднем 3
среднее время использование резервного канала 12 мин

В качестве примера, для обозначения шлюзов я буду использовать эти, выдуманные мной адреса, вам их необходимо заменить на свои.
ISP1 шлюз 777.777.777.777
ISP2 шлюз 888.888.888.888

В качестве подготовки

Я не буду останавливаться на настройке маршрутизатора, пример настройки можно посмотреть в статье: Настройка MikroTik RouterBoard RB951G-2HnD, а перейдем сразу к делу.

Для начала переходим в меню настройки сетевых интерфейсов, интерфейс ether1 подключенный к провайдеру ISP1, мы переименуем в ether1-ISP1, чтобы было понятно за что он отвечает
Mikrotik 2 провайдера резервный канал

Сетевой интерфейс ether2 подключен у нас к провайдеру ISP2, назовем его ether2-ISP2
Поступим с ним аналогичным образом.
Mikrotik 2 провайдера резервный канал

Кратко опишу процесс работы по проверке работы канала и алгоритма переключения на резервный канал и обратно.
Выбираем IP адрес в интернете, с высокой степенью доступности, в качестве примера, буду использовать IP 8.8.8.8
Создаем правило фаерволла, которое разрешает прохождение пакетов только через основной канал с интерфейсом подключенным в ISP 1, в случае переключения на резервный канал, пакеты будут пытаться отправляться через новый маршрут по умолчанию, вот тут вступает правило фаерволла, которое прямо запрещает прохождение пакетов от маршрутизатора через интерфейс подключенный к ISP 2.

1 Настраиваем Firewall

Переходим в IP->Firewall и создаем правило, запрещающее отправку пакетов через ISP2
Mikrotik 2 провайдера резервный канал
Где
Chain: output — указываем правило, которое применяется для исходящих пакетов от маршрутизатора.
Dest address: 8.8.8.8 — IP адрес, пакеты адресованные которому, будут подпадать под это правило.
ether2-ISP2 — Интерфейс, для которого применяется это правило.

Теперь нам надо перейти в во кладку Action, тут мы указываем что делать с пакетом, в нашей ситуации мы его выбрасываем
Action: Drop
Mikrotik 2 провайдера резервный канал
Жмем OK и сохраняем изменения.

2 Настраиваем маршрутизацию

Переходим в IP-> Routers и видим примерно такую таблицу маршрутизации, IP основного канала ISP1 я закрасил, серыйе адреса второго провайдера я оставил.
Mikrotik 2 провайдера резервный канал

Из скриншота мы видим что маршрутом по умолчанию 0.0.0.0/0 у нас является интерфейс подключенный к провайдеру ISP1, вот этим параметром мы и будем управлять, перенося его с одного интерфейса на другой.
Нам необходимо создать маршрут к IP 8.8.8.8 пакеты к которому, от маршрутизатора, будут идти только через ISP1

Жмем + и добавляем новый маршрут как на скришшоте
Mikrotik 2 провайдера резервный канал

Для чего это все нужно?
Система будет проверять доступность этого IP адреса, через провайдера ISP1, если этот адрес не доступен, выполняется переключение на резервный канал, при этом система будут продолжать, с определенной периодичностью, пытаться достучаться до адреса 8.8.8.8, через провайдера ISP1. Тут возникает закономерный вопрос, а почему не проверять доступность шлюза провайдера?!
Бывают ситуации, что сеть провайдера работает нормально, а вот дальше, пакеты уже не летят, тогда не произойдет переключения на резервный канал и все будут сидеть без интернета, по этой причине необходимо проверять доступность адресов именно в глобальной сети!

3 Настраиваем Netwatch

Теперь настраиваем проверку и переключение на резервный канал, для этого, в RouterOS есть штатная утилита, которая называется Netwatch, она и будет проверять, с заданной периодичностью, состояние канала.

Переходим в раздел Tools -> Netwatch и создаем там новый хост для проверки
Mikrotik 2 провайдера резервный канал
Где:
Host: 8.8.8.8 — адрес по доступности которого мы будем проверять работоспособность основного канала
interval: 00:03:00 — в моем примере, проверка будет проводиться каждые 3 мин, интервал проверки вы можете задать по своему усмотрению, данная схема у меня работает уже несколько лет и 3 мин, для меня, вполне приемлемое время, чаще не вижу смысла запускать проверки.
Переходим во вкладку UP в ней будет выполняться команда которая будет выполняться в случае доступности IP адреса, мониторинг которого мы выполняем:

Mikrotik 2 провайдера резервный канал
Переходим во вкладку DOWN
Эта команда будет выполнена в случае недоступности IP адреса

Mikrotik 2 провайдера резервный канал

Жмем OK, в списке у нас появится правило:
Mikrotik 2 провайдера резервный канал
Где будет указывать интервал проверки, который мы задали, 3 мин, таймаут проверки 1000 мс или 1 сек и состояние UP, также дата и время последнего изменения состояния.

4 Тестирование

Это важный этап проверки работоспособности данной схемы!
Нам необходимо проверить работу системы переключения на резервный канал и возвращение на основной.
Нужно зайти в настройки сетевых интерфейсов Interfaces и выключить сетевой интерфейс ether1-ISP1 подключенный к ISP1
Открыв окно, netwatch, где можно наблюдать, как система запустит проверку и обнаружит что канал провайдера ISP1 не доступен, статус изменится на down и шлюзом по умолчанию, станет шлюз провайдера ISP2 888.888.888.888
На перестройку таблицы маршрутизации уходит примерно 30 сек, после этого интернет опять начинает работать. Можно зайти например на сайт 2ip.ru и увидеть что у вас IP адрес резервного провайдера.
Чтобы все вернуть обратно, просто включаем интерфейс ether1-ISP1, через 3 мин система обнаружит что доступ к IP 8.8.8.8 восстановлен и можно переключать на основной канал, сделав шлюзом, по умолчанию, шлюз провайдера ISP1 777.777.777.777
Снова заходим на 2ip.ru и видим что теперь у нас IP выданный провайдером ISP1

Настройка двух провайдеров в MikroTik, предварительная подготовка

Данный набор настроек будет считаться контрольной точкой для дальнейших режимов работы роутера MikroTik, а именно резервирования(автопереключения) и балансировки.

В исходной настройке роутера MikroTik произведена базовая настройка и как минимум один интернет провайдер уже работает.

Начать нужно с того, что требуется физическое подключение 2-ого провайдера. Для этого нужно подготовить свободный порт и исключить его из Bridge(LAN).

Освободить порт для 2-ого провайдера

Настройка 2 провайдеров в MikroTik, освободить порт

На данном примере, был удалён ether2 со списка портов, принадлежащих к Bridge-LAN.

Настроить 2-ого провайдера

Настройка 2 провайдеров в MikroTik, DHCP  client

Add Default Route = no – статическая маршрутизация для 2-ого провайдера будет доставлена вручную.

Настройка 2 провайдеров в MikroTik, добавить сатический IP

Настройка 2 провайдеров в MikroTik, добавить комметарий для static IP

Настройка 2 провайдеров в MikroTik, PPPoE client

Настройка 2 провайдеров в MikroTik, PPPoE клиент

Add Default Route = no – статическая маршрутизация для 2-ого провайдера будет доставлена вручную.

Добавление 2-ого провайдера в список WAN

Настройка 2 провайдеров в MikroTik, добавть провайдера в список WAN

Настроить masquerade для WireGuard клиента

Отключить добавление DNS серверов для провайдера-1

Эти действия приведут к тому, что роутер MikroTik не будет использовать DNS сервера текущих интернет провайдеров. К примеру ситуация переключения на резервную линию может спровоцировать отсутствие DNS ответа, т.к. клиент или сам роутер осуществляет DNS запрос через основного провайдера. А он в то время уже перестал работать. Поэтому будут установлены общедоступные DNS сервера, который будут работать с двух провайдеров.

Настройка 2 провайдеров в MikroTik, отключить DNS для dhcp client

Настройка 2 провайдеров в MikroTik, отключить DNS для pppoe client

Определить общедоступные DNS сервера

Настройка 2 провайдеров в MikroTik, без динамических DNS

Отсутствие записей DNS серверов в разделе Dynamic Servers указывает на то, что роутер MikroTik не использует автоматические DNS сервера, которые назначаются в автоматическом режиме.

Отключить автоматическое добавление маршрутов

Т.к. все маршруты будут добавлены в ручном режиме, следует отключить все динамические маршруты для основного провайдера. Такие маршруты помечены буквой D(Dynamic) в таблице маршрутизации:

Настройка 2 провайдеров в MikroTik, пример диначеского маршрута

Настройка 2 провайдеров в MikroTik, отключить маршрут по умолчанию для dhcp client

Настройка 2 провайдеров в MikroTik, отключить маршрут по умолчанию для pppoe client

Добавление маршрутов для двух провайдеров

Для переключение между провайдерами, будет использоваться скрипт, который будет находить маршрут с комментарием ISP-1 или ISP-2 и выключать или включать его в зависимости от статуса работы интернета. Ниже будет описан метод, как это можно сделать для типов подключения: статический IP, dhcp клиент, PPPoE подключение. Этим методом нужно воспользоваться для назначения комментария двух провайдеров.

Кроме обозначенных комментариев нужно определить distance = 2.

Статический IP или DHCP клиент

Настройка 2 провайдеров в MikroTik, добавить комметарий для static IP

В случае с DHCP client значение Gateway можно взять с раздела Status самого DCHP клиента

Настройка 2 провайдеров в MikroTik, скопировать gateway для dchp client

Настройка 2 провайдеров в MikroTik, добавить комметарий для pppoe

Mangle маркировка ответов для двух провайдеров

Правила маркировки маршрутов нужно определять только для белых(постоянных) IP адресов! Этот набор правил будет гарантировать то, что если пришёл input запрос на порт второго(или первого) провайдера, через этот же порт будет отправлен ответ. При отсутствии этих правил, доступ к роутеру по внешним IP может сопровождаться непредсказуемой работой.

Маркировка будет состоять из двух каскадных правил: маркировки соединения и маркировки маршрута

Настройка 2 провайдеров в MikroTik, маркировка входящего соединения

Настройка 2 провайдеров в MikroTik, маркировка входящего соединения ISP-1

Настройка 2 провайдеров в MikroTik, маркировка исходящего маршрута

Настройка 2 провайдеров в MikroTik, маркировка исходящего маршрута ISP-1

/ip firewall mangle
add action=mark-connection chain=input in-interface=pppoe-out1 \
new-connection-mark=From-ISP-1
add action=mark-routing chain=output connection-mark=From-ISP-1 \
new-routing-mark=To-ISP-1
add action=mark-connection chain=input in-interface=ether2 \
new-connection-mark=From-ISP-2
add action=mark-routing chain=output connection-mark=From-ISP-2 \
new-routing-mark=To-ISP-2

Статическая маршрутизация для маркированных маршрутов

Кроме стандартных правил маршрутизации, нужно добавить маршруты для промаркированных ответов с раздела Mangle.

Настройка 2 провайдеров в MikroTik, добавить статический маршрут для Mangle ISP-1

Настройка 2 провайдеров в MikroTik, добавить статический маршрут для Mangle ISP-2

И все текущие правила статической маршрутизации будут иметь вид:

Настройка 2 провайдеров в MikroTik, общий вид таблицы маршрутизации

/ip route
add distance=1 gateway=pppoe-out1 routing-mark=To-ISP-1
add distance=1 gateway=109.87.159.126 routing-mark=To-ISP-2
add comment=ISP-1 distance=1 gateway=pppoe-out1
add comment=ISP-2 distance=2 gateway=109.87.159.126

Настройка двух провайдеров MikroTik, режим резервирования(автопереключение)

Как было сказано выше, резервирование или автоматическое переключение между провайдерами это режим работы роутера MikroTik, когда есть основной провайдер и резервный. При отсутствии интернета у основного провайдера, должно происходить переключение на резервного провайдера. А когда услуга интернета на основном провайдере будет восстановлена, то следует снова вернуться с резервной линии на основную.

Резервирование(автопереключение) это самый распространённый метод работы двух и более интернет провайдеров на роутере MikroTik.

Описание переключение на резервную линию условно такое: роутер MikroTik будет отправлять ICMP(ping) запросы на 8.8.8.8(Google DNS) и в случае отсутствия ответа или большой задержки, интернет будет переключаться с основной(провайдер-1) линии на резервную(провайдер-2).

Добавить статический маршрут для Google DNS

Настройка 2 провайдеров в MikroTik, добавить статический маршрут для Google DNS

/ip route
add comment=Netwatch distance=1 dst-address=8.8.8.8/32 gateway=pppoe-out1

Запретить ICMP запросы через провайдера-2

Настройка 2 провайдеров в MikroTik, запретить ICMP запросы через провайдера-2

/ip firewall filter
add action=drop chain=output comment=Netwatch dst-address=8.8.8.8 \
out-interface=ether2 protocol=icmp

Этим правилом будет гарантирована диагностика статуса интернет канала только через провайдера-1. При попытке отправить аналогичный запрос через провайдера-2, Firewall роутера MikroTik будет это блокировать.

Добавить правило Netwatch для переключения

Настройка 2 провайдеров в MikroTik, добавить правило Netwatch

Настройка 2 провайдеров в MikroTik, скрипт при статусе интернета UP

Настройка 2 провайдеров в MikroTik, скрипт при статусе интернета DOWN

/tool netwatch
add down-script="/ip route disable [find comment=\"ISP-1\"]\r\
\n/ip route enable [find comment=\"ISP-2\"]\r\
\n:foreach i in=[/ip firewall connection find protocol~\"tcp\"] do={ /ip f\
irewall connection remove \$i }\r\
\n:foreach i in=[/ip firewall connection find protocol~\"udp\"] do={ /ip f\
irewall connection remove \$i }\r\
\nlog warning (\"ISP-1 IS DOWN\")" host=8.8.8.8 up-script="/ip route disab\
le [find comment=\"ISP-2\"]\r\
\n/ip route enable [find comment=\"ISP-1\"]\r\
\n:foreach i in=[/ip firewall connection find protocol~\"tcp\"] do={ /ip f\
irewall connection remove \$i }\r\
\n:foreach i in=[/ip firewall connection find protocol~\"udp\"] do={ /ip f\
irewall connection remove \$i }\r\
\nlog warning (\"ISP-1 IS UP\")"
  • Host – узел, на который будут отправляться ICMP(ping) запросы;
  • Interval – время, в течении которого будет производиться диагностика для смены статуса;
  • Timeout – задержка пакета, которая будет восприниматься как отсутствие связи;
  • Status – текущий статус узла;
  • Закладка Up – скрипт, который будет выполнен, если провайдер-1 восстановит связь, после её обрыва;
  • Закладка Down – скрипт, который будет выполнен, если связь с провайдером-1 будет прервана.

Представленными скриптами с помощью утилиты Netwatch будет происходить переключение между провайдерами. Все соединения, которые были установлены через провайлера-1 будут удалены. Это позволит гарантированно переключиться на провайдера-2.

Резервирование

Резервирование, когда работает только один провайдер, второй в это время выключен, если у первого происходит авария, интернет через него не доступен, то включается второй оператор, при доступности интернета через основной линк, второй отключается и снова весь трафик идет через основной канал.

Читайте также:  Шаг 1. Подтвердить владение доменом для подключения Яндекс. Почта для домена

Быстрый способ

Допустим, шлюзом первого провайдера ISP1 является ip 1.1.1.1 он же наш основной канал шлюз второго ISP2 ip 2.2.2.2 резервный провайдер.

Заходим В меню IP-Routes, и добавляем новое правило. Заполняем поля как на рисунке.

Mikrotik 2 провайдера резервный канал

Dst.Address – адрес назначения, 0.0.0.0/0 значит любой адрес

Gateway – шлюз провайдера

Check Gateway –Способ проверки доступности шлюза провайдера, будем проверять пингами.

Distance – метрика шлюза, т.е приоритет чем значение меньше тем приоритет выше.т.к ISP1 у нас основной провайдер, то метрику ставим самую высокую 0 или 1

Аналогично настраиваем второго провайдера ISP2? Только метрику Distance ставим больше 1, например 10

Mikrotik 2 провайдера резервный канал

На этом быстрый способ настройки резервирования закончен, теперь весь трафик будет идти через провайдера ISP1, а при недоступности шлюза, произойдет переключения на резервного оператора ISP2. Но этого способа есть недостаток, часто бывает так, что шлюз пингуется, а интернета нет. Поэтому в этом случае подойдет комплексный способ резервирования

Комплексный способ

Данный способ основывается на систематической проверке (раз в 1 минуту) доступности какого либо ресурса в интернете, например DNS гугла 8.8.8.8.. Схема такова: если пинг проходит, значит ISP1 канал активен и ISP2 может быть отключен, в противном случае включается второй, а 1-й должен быть выключен.

Mikrotik 2 провайдера резервный канал

Следующим создаем статический маршрут до 8.8.8.8 через основной канал. Метрика по умолчанию равна 0, поэтому ее можем не указывать. Этот маршрут нужен для проверки доступности интернета через основной канал, если он пропадает то происходит переключение

Обратите внимание, что в качестве ресурса для мониторинга нужно выбирать ip который не будет использоваться для работы. Например если вы в сети используете DNS гугла 8.8.8.8, то не нужно мониторить его доступность, в противном случае при отключении основного канала, DNS 8.8.8.8 работать не будут, т.к запросы на этот адрес будут идти через не работающего провайдера

Mikrotik 2 провайдера резервный канал

Переключение будем делать с помощью встроенной утилиты Netwatch. Эта утилита может следить за состоянием хоста в сети и основываясь на доступности или недоступности хоста выполнять действия.

Идем в меню Tools-Netwatch и добавляем правило.

Mikrotik 2 провайдера резервный канал

Host – ресурс который будем проверять на доступность

Interval – c какой периодичностью проверять, оставим 1 раз в минуту. Далее переходим на вкладку «UP». Здесь нам нужно прописать действие которое будет выполняться при доступности хоста. Если хост доступен, то нам нужно включить маршрут через 1-го провайдера и отключить через второго. Код будет следующим

Mikrotik 2 провайдера резервный канал

На вкладке «Down». Прописываем правила что если хост не доступен, то отключаем ISP1 и включаем ISP2.

Mikrotik 2 провайдера резервный канал

Нажимаем «OK». Теперь при недоступности ip адреса 8.8.8.8, произойдет отключение маршрута 1.1.1.1 и включение маршрута 2.2.2.2. А когда хост 8.8.8.8 снова станет доступен, резервный канал выключится и включится основной.

Резервирование Интернет-канала на Mikrotik

В данной инструкции мы рассмотрим пример настройки двух Интернет-каналов одновременно на роутере Mikrotik с целью отказоустойчивости — при разрыве соединения основной канал будет меняться на резервный. В нашем случае будет задействован один WAN Ethernet, второй — LTE. Итого, два провайдера и две сети.

Есть два способа настройки отказоустойчивости:

  1. Настройка балансировки между шлюзами (разные приоритеты для интерфейсов). Данный метод можно использовать, если у нас оба провайдера предоставляют настройки со статическим адресом шлюза. Настройка выполняется без скриптов через конфигурирование нескольких шлюзов с разным весом.
  2. Проверка доступности основного Интернет-канала и переключение на резервный при наличии проблем. Это универсальный метод настройки отказоустойчивости. Для настройки используется утилита Netwatch, которая выполняет скрипт проверки и, при необходимости, смены основного шлюза для доступа к сети Интернет.

Мы рассмотрим оба варианта. Настройки выполним в программе winbox. Настройка в веб-интерфейсе аналогична.

Перед началом, убедитесь, что по отдельности микротик раздает Интернет от обоих провайдеров.

Маршруты с разным приоритетом

Раскрываем в меню IP:

Mikrotik 2 провайдера резервный канал

. и переходим в Routes:

Mikrotik 2 провайдера резервный канал

Добавляем 2 маршрута. Первый через одного Интернет провайдера со следующими настройками:

Mikrotik 2 провайдера резервный канал

* мы указываем шлюз от нашего провайдера (в данном примере 1.1.1.1), задаем настройку проверки шлюза (Check Gateway) с помощью утилиты ping, задаем приоритет (Distance 10).

Для второго провайдера мы задаем, практически, аналогичные настройки:

Mikrotik 2 провайдера резервный канал

* обратите внимание, что в отличие от первого маршрута, в данном указана большая дистанция и другой шлюз (для второго провайдера).

После удаляем старые маршруты. Должны остаться только те, что мы добавили.

Настройка 2 провайдеров в MikroTik, режим балансировки(одновременная работа)

Существует два метода распределения нагрузки между 2-мя провайдерами в MikroTik:

Ручная балансировка. Все узлы делятся в ручном режиме на 2-ве условные группы и каждая из групп направляется к выделенному ей провайдеру;

Автоматическая балансировка. Узлы роутера MikroTik будут поделены на группы с помощью внутренних инструментов RouterOS.

Настройка нескольких провайдеров на MikroTik, схема сети

Пример с балансировкой будет отличаться тем, чтобы в рамках настройки внимание также будет уделено соединениям. Переключение станет более мягким и незаметным и это будет достигнуто благодаря маркировке соединений и частичную их очистку при переключении между провайдерами.

Когда работают оба провайдеры, нагрузка распределяется согласно ручному распределению в Address list.

Одновременная работа 2-ух провайдеров в MikroTik, настройка режима балансировки

Существует два метода распределения нагрузки между 2-мя провайдерами в MikroTik:

Ручная балансировка. Все узлы делятся в ручном режиме на 2-ве условные группы и каждая из групп направляется к выделенному ей провайдеру;

Автоматическая балансировка. Узлы роутера MikroTik будут поделены на группы с помощью внутренних инструментов RouterOS.

Mikrotik 2 провайдера резервный канал

Пример с балансировкой будет отличаться тем, чтобы в рамках настройки внимание также будет уделено соединениям. Переключение станет более мягким и незаметным и это будет достигнуто благодаря маркировке соединений и частичную их очистку при переключении между провайдерами.

Когда работают оба провайдеры, нагрузка распределяется согласно ручному распределению в Address list.

Читайте также

Данная информация также может быть полезной:

Маршруты с разным приоритетом

Раскрываем в меню IP

Открываем IP в меню

Переходим к настройке Routes

Добавляем 2 маршрута. Первый через одного Интернет провайдера со следующими настройками:

Настройка маршрута для первого провайдера

* мы указываем шлюз от нашего провайдера (в данном примере 1.1.1.1), задаем настройку проверки шлюза (Check Gateway) с помощью утилиты ping, задаем приоритет (Distance 10).

Для второго провайдера мы задаем, практически, аналогичные настройки:

Настройка маршрута для второго провайдера

* обратите внимание, что в отличие от первого маршрута, в данном указана большая дистанция и другой шлюз (для второго провайдера).

После удаляем старые маршруты. Должны остаться только те, что мы добавили.

Настройка двух провайдеров MikroTik, режим резервирования(автопереключение)

Как было сказано выше, резервирование или автоматическое переключение между провайдерами это режим работы роутера MikroTik, когда есть основной провайдер и резервный. При отсутствии интернета у основного провайдера, должно происходить переключение на резервного провайдера. А когда когда услуга интернета на основном провайдере будет восстановлена, то следует снова вернуться с резервной линии на основную.

Резервирование(автопереключение) это самый распространённый метод работы двух и более интернет провайдеров на роутере MikroTik.

Описание переключение на резервную линию условно такое: роутер MikroTik будет отправлять ICMP(ping) запросы на 8.8.8.8(Google DNS) и в случае отсутствия ответа или большой задержки, интернет будет переключаться с основной(провайдер-1) линии на резервную(провайдер-2).

Добавить статический маршрут для Google DNS

Mikrotik 2 провайдера резервный канал

Запретить ICMP запросы через провайдера-2

Mikrotik 2 провайдера резервный канал

Этим правилом будет гарантирована диагностика статуса интернет канала только через провайдера-1. При попытке отправить аналогичный запрос через провайдера-2, Firewall роутера MikroTik будет это блокировать.

Добавить правило Netwatch для переключения

Mikrotik 2 провайдера резервный канал

Mikrotik 2 провайдера резервный канал

Mikrotik 2 провайдера резервный канал

  • Host – узел, на который будут отправляться ICMP(ping) запросы;
  • Interval – время, в течении которого будет производиться диагностика для смены статуса;
  • Timeout – задержка пакета, которая будет восприниматься как отсутствие связи;
  • Status – текущий статус узла;
  • Закладка Up – скрипт, который будет выполнен, если провайдер-1 восстановит связь, после её обрыва;
  • Закладка Down – скрипт, который будет выполнен, если связь с провайдером-1 будет прервана.

Представленными скриптами с помощью утилиты Netwatch будет происходить переключение между провайдерами. Все соединения, которые были установлены через провайлера-1 будут удалены. Это позволит гарантированно переключиться на провайдера-2.

Ручная настройка балансировки 2 провайдеров в MikroTik

Как видно из названия, условную подсеть роутера MikroTik будет поделено на две группы: To-ISP-1 и To-ISP-2.

  • pppoe-out1 – это провайдер-1;
  • ether2 – это провайдер-2.

Mikrotik 2 провайдера резервный канал

И для каждой из групп, нужно промаркировать соединения и маршрут, для плавного переключение между провайдерами в случае обрыва одного из них.

Mangle маркировка соединений для балансировки 2 провайдеров

Mikrotik 2 провайдера резервный канал

Mikrotik 2 провайдера резервный канал

Mikrotik 2 провайдера резервный канал

Mikrotik 2 провайдера резервный канал

Mangle маркировка маршрута для балансировки двух провайдеров

Mikrotik 2 провайдера резервный канал

Mikrotik 2 провайдера резервный канал

Mikrotik 2 провайдера резервный канал

Аналогичные действия по маркировке соединений и маршрута нужно выполнить для Address List = To-ISP-2.

Общий вид раздела Mangle

Mikrotik 2 провайдера резервный канал

Для каждой группы узлов To-ISP-1 и To-ISP-2 будет создано по два маршрута, чтобы обеспечить плавное переключение согласно первоначальным условиям по балансировке 2 провайдеров.

Общий вид таблицы маршрутизации при балансировке 2 провайдеров

Mikrotik 2 провайдера резервный канал

Контроль ICMP запросов через нужный интерфейс

Эти правила обеспечат контроль статуса интернет соединения для каждого из провайдера. Диагностика статуса интернета будет осуществляться только через те интерфейсы, которые обозначены в таблице маршрутизации с комментариями Netwatch-1 и Netwatch-2.

Mikrotik 2 провайдера резервный канал

Настройка Netwatch для переключения провайдеров

И собственно утилита Netwatch, именно она будет заниматься переключением между провайдерами в случае обрыва связи на одном из них.

Mikrotik 2 провайдера резервный канал

Проверка

Для проверки отказоустойчивости лучше всего отключить кабель основного провайдера (вытащить провод из WAN-разъема) — через небольшой промежуток времени Mikrotik должен начать раздавать Интернет второго провайдера. Проверить, что внешний канал изменился можно с помощью различных сайтов, например, 2ip.ru.

Использование сценария, запускаемого в Netwatch

Данный метод поможет настроить резервирование канала, если один из провайдеров выдает динамические адреса в разных подсетях, например, подключение через 4G-модем.

1. Задаем описания

Сначала необходимо задать описание для маршрутов. Это понадобиться для сценария, который будет работать с последними через данные описания.

Раскрываем в меню IP:

Mikrotik 2 провайдера резервный канал

. и переходим в Routes:

Mikrotik 2 провайдера резервный канал

Mikrotik 2 провайдера резервный канал

Mikrotik 2 провайдера резервный канал

2. Настраиваем узел для проверки канала

Мы настроим узел, который будет пинговать провайдер 1. Если пинг пропадает, то необходимо переключать активный Интернет-канал на провайдера 2. Также мы должны заблокировать возможность пинговать проверочный узел с провайдера 2.

И так, переходим к настройке маршрутов:

Mikrotik 2 провайдера резервный канал

Mikrotik 2 провайдера резервный канал

Добавляем новый маршрут к проверочному узлу, например 77.88.8.2 (DNS Яндекса):

Mikrotik 2 провайдера резервный канал

* в данной настройке мы задали маршрут к проверочному узлу через шлюз 1.1.1.1 (в нашем примере это шлюз от провайдера 1).

Переходим в IPFirewall:

Mikrotik 2 провайдера резервный канал

Создаем новое правило для запрета пинга проверочного узла через провайдера номер 2:

Mikrotik 2 провайдера резервный канал

. в качестве действия выбираем drop:

Mikrotik 2 провайдера резервный канал

3. Настройка задания в Netwatch

Переходим в ToolsNetwatch:

Mikrotik 2 провайдера резервный канал

Создаем новое правило. На вкладке Host прописываем следующее:

Mikrotik 2 провайдера резервный канал

* в данном примере мы будем проверять узел 77.88.8.2 раз в минуту.

На вкладке Up пропишем:

Mikrotik 2 провайдера резервный канал

. а на вкладке Down следующее:

Mikrotik 2 провайдера резервный канал

Одновременный проброс с двух провайдеров в MikroTik настройка Mangle

Входящая задача: сделать проброс портов таким образом, чтобы сервер отвечал с того провайдера, с которого пришёл запрос. На практике это может быть Web сервер(443\https), у которого объявлены две DNS записи с двумя внешними IP роутера MikroTik.

  • pppoe-out1 – это провайдер-1;
  • ether2 – это провайдер-2;
  • bridge – локальный bridge интерфейс.

Проверка

Для проверки отказоустойчивости лучше всего отключить кабель основного провайдера (вытащить провод из WAN-разъема) — через небольшой промежуток времени Mikrotik должен начать раздавать Интернет второго провайдера. Проверить, что внешний канал изменился можно с помощью различных сайтов, например, 2ip.ru.

Оцените статью
Хостинги