Настройка двух провайдеров на mikrotik

В этой статье описана самая полная инструкция, как настроить роутер MikroTik на два провайдера.

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

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

Проверка переключения интернета между двумя провайдерами

Проверим, как работает переключение между двумя провайдерами.

    Откройте меню IP — Routes. Маршрут второго провайдера должен быть серого цвета, т.е. не активен;

Проверка настройки MikroTik на два провайдера

Переключение на второго провайдера в роутере Микротик

Проверка настройки MikroTik на два провайдера

Настройка роутера MikroTik на два провайдера работает правильно. Теперь можно увеличить интервал пингования сервера Google.

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

Последовательность действий. Подключаем маршрутизатор к порту №3 и соответственно LAN интерфейсу ПК. Для конфигурации RouterOS будет использоваться утилита winbox. Заходим по MAC-адресу и авторизуемся. Видим интерфейс конфигурации маршрутизатора. (Рис. 1)

Рис. 1. Интерфейс конфигурации RouterOS

Первое, что мы делаем – настраиваем интерфейсы провайдера «1» и провайдера «2» Рис.2, а так же настраиваем LAN для портов 3, 4 и 5.

Рис. 2. Настройка провайдера «1» и провайдера «2»

В данном случае Интерфейс-1 принадлежит провайдеру «1» (ISP1 – имя для удобства) Интерфейс-2 принадлежит провайдеру «2» (ISP2). Для организации LAN переходим в пункт меню «Bridge» и добавляем интерфейс c именем LAN. (Рис.3).

Рис. 3. Организация LAN

Указывает порты, которые будут относиться к внутренней сети (Рис. 4)

Рис. 4. Добавление портов в LAN

Теперь необходимо добавить IP-адреса провайдеров, а так же указать IP-адрес шлюза нашей локальной сети (Рис. 5).

Описание: Первое, что мы делаем, добавляем шлюз локальной сети (цифры 4, 5). Интерфейс указываем LAN. Второе – добавляем статический адрес второго провайдера (цифры 6, 7)

Рис. 5. Добавление адресов для интерфейсов

Так как организация подключения с первым провайдером осуществляется по L2TP необходимо добавить L2TP-клиента (Рис. 6)

Замечание: Добавляем L2TP-client (Цифра 2). Указываем соответствующие параметры во вкладке Dial-out, а именно адрес сервера, логин и пароль которые выданы первым провайдером (цифры 4, 5 и 6).

Рис. 6. Добавление L2TP-клиента

После добавления клиента во вкладке status получим соединение. (Рис. 7)

Рис. 7. Статус L2TP-соединения

Теперь займемся организацией DHCP-сервера для раздачи адресов нашим клиентам внутренней сети. Первое что сделаем, создадим pool выдаваемых адресов (Рис. 8), а затем настроим сам DHCP-сервер. (Рис 9).

Рис. 8. Создание pool’а выдаваемых адресов

Рис. 9. Добавление и настройка DHCP-сервера

Описание DHCP-сервера: Добавляем сервер с именем (server1) к интерфейсу внутренней сети LAN c пулом адресов который создавали ранее. В network указываем, какие параметры передавать серверу клиентам.

Теперь нам необходимо добавить статические маршруты, так как всё взаимодействие между сетями осуществляется в соответствии с таблицей маршрутизации. Ее управление в RouterOS осуществляется в меню «Routes». Адресация с локальной сетью и с внутренними сетями провайдеров была добавлена динамически. Осталось добавить маршруты в интернет (на адрес 0.0.0.0/0) через шлюзы провайдеров. (Рис. 10).

Рис. 10. Добавление статических маршрутов

Далее, необходимо организовать переключение каналов в случае недоступности 1 канала. В ОС роутера есть встроенная утилита «Netwatch», которая позволяет отслеживать состояние хостов в сети посредством отправки ICMP-запросов (ping) и выполнять какие-либо действия на основе их доступности. Мы будем отслеживать IP-адрес 8.8.4.4 через первый канал, и в случае его недоступности переключать маршруты на работу по второму.

Создаем новый «Netwatch host», в графе «Host» указываем отслеживаемый IP-адрес, а в «Interval» — частоту осуществляемых проверок. (Рис. 11).

Рис. 11. Настройка переключения каналов

И в заключение, в закладке Up (цифра 5) необходимо прописать следующее правило:

Настройка правил для проходящего трафика

Материал является вводным и предназначен для знакомства с вопросом управления сетью с двумя провайдерами.

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

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

Конкретно в моем случае, нужно было настроить роутер так, чтобы web-сервер в локальной сети за ним был доступен по IP любого из 3-х провайдеров.

Заключение

Очень рад, если мои объяснения понятны, а данный труд станет полезен.
Ушел медитировать, всем удачи!

Автоматическое переключение между двумя провайдерами в MikroTik

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

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

В маршрутизаторах(роутерах) MikroTik чаще всего используют два самых распространённых метода по ограничиванию скорости для локальных подключений:

  1. С резервированием канала. Имеет популярность в QOS трафике – звук и видео, тем самым не позволяет создавать прерывания при загрузке общего канала.
  2. Равномерное распределение ширины канала на всех участников. Продуктивный способ использования интернет канала на всю ширину.

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

Для использования метода для автоматического переключения, маршруты нужно привести значением:

Провайдер-1 Distance = 1;

Настройка находится в IP->Routes

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

Провайдер-2 Distance = 2.

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

Методы указания Distance возлагаются на фантазию специалиста по настройке MikroTik.

Маркировка маршрутов Mangle

Настройка находится в IP->Firewall-Mangle

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

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

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

Поддержи автора статьи, сделай клик по рекламе ↓↓↓

Аналогичную маркировку в разделе Mangle нужно создать для Group-2.

Настройка двух провайдеров на MikroTik, балансировка и автопереключение

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

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

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

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

У нас будет два маршрута, через которые может идти интернет трафик. Весь трафик будет идти по умолчанию через 1-го провайдера.

Если вдруг пропадет связь с 1-ым провайдером, то мы активируем 2-ой маршрут, и весь трафик пойдет через 2-го провайдера.

Как только восстановится связь через 1-го провайдера, мы деактивируем 2-ой маршрут, и весь трафик пойдет через 1-го провайдера.

Утилита Netwatch поможет пинговать ip-адрес в интернете и выполнять скрипты, если ip-адрес перестал пинговаться или снова начал. Она будет выполнять активацию и деактивацию маршрута.

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

Удаляем маршрут по умолчанию в роутере Микротик

Теперь изменим параметры маршрута второго провайдера:

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

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

Деактивация маршрута второго провайдера

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

  1. Откройте меню IP — DHCP Client;
  2. Сделайте двойной щелчок левой кнопкой мыши на интерфейсе ether1;
  3. Перейдите на вкладку Status;
  4. Выпишите IP-адрес шлюза из поля Gateway. Он будет нужен при создании маршрута через первого провайдера.

Шлюз провайдера

Теперь добавляем маршрут через первого провайдера:

Добавляем маршрут через первого провайдера в Микротик

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

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

Добавляем маршрут к серверу Google через первого провайдера

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

Также добавим в Firewall правило, которое запретит пинговать ip-адрес 8.8.4.4 через 2-го провайдера. Иначе утилита Netwatch подумает, что связь с 1-ым провайдером восстановилась, и будет постоянно переключать маршруты по кругу.

Настройка фаервола для запрета пингования сервера Google через второго провайдера

Настройка фаервола для запрета пингования сервера Google через второго провайдера

Netwatch будет проверять связь с интернетом путем пингования сервера Google с IP-адресом 8.8.4.4. Как только сервер перестанет пинговаться, выполнится скрипт, который активирует 2-й маршрут и трафик пойдет через 2-го провайдера. Как только связь через 1-го провайдера восстановится, то выполнится другой скрипт, который деактивирует 2-й маршрут и трафик пойдет через 1-го провайдера.

Настройка Netwatch в MikroTik

Настройка Netwatch Down в MikroTik

Настройка Netwatch Up в MikroTik

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

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

В расширении статьи “Настройка двух провайдеров на MikroTik, балансировка и автопереключение → ” будет рассмотрен сценарий, когда маршрут не работает, но при этом не переключается по параметру Distance:

  • не обновляется IP по DHCP;
  • шлюз провайдера виден, а за ним нет сети;
  • не корректно отрабатывает PPPOE подключение при плохой связи.

Для решения задачи по корректному автопереключению стоит обратиться к утилите Netwatch, принцип которой состоит из действий: отправка ICMP запросов будет сопровождаться выполнением скрипта под изменение состояния UP и DOWN. В обоих сценариях будет заложена логика, в соответствии с техническим требованием.

Настройка Netwatch

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

Поддержи автора статьи, сделай клик по рекламе ↓↓↓

Есть вопросы или предложения по настройке Netwatch для 2 провайдеров в MikroTik? Активно предлагай свой вариант настройки! Оставить комментарий →

Не работает автоматические переключение интернета в MikroTik

Достаточная большая часть статических маршрутов с указанным Distance и параметром Ping может не отработать при отсутствии интернета на основном канале. В этом случае стоит обратиться к утилите Netwatch, которая лучше отработает сценарий при изменении состояния интерфейса с UP на DOWN и в обратную сторону. Как правильно настроить правила для переключения между провайдера используя утилиту Netwatch в MikroTik рассмотрено в статье “Настройка резервирования интернета в MikroTik, автопереключение провайдера через Netwatch → ”

или по IP

Список всех соединений можно посмотреть в IP→Firewall→Connection

Настройка резервирования интернета в MikroTik, автопереключение на 2 провайдера, список всех подключений

Поддержи автора статьи, сделай клик по рекламе ↓↓↓

Указать Distance в типе подключения

PPPoe

Настройка находится в PPP->Interface

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

DHCP клиент

Настройка находится в IP->DHCP client

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

Поддержи автора статьи, сделай клик по рекламе ↓↓↓

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

Настройка NAT

Чтобы компьютеры получили выход в интернет, необходимо настроить NAT.

Добавляем правило NAT для первого провайдера:

Настройка NAT первого провайдера

Настройка маскарадинга первого провайдера на Микротик

Добавляем правило NAT для второго провайдера:

  1. На вкладке NAT нажмите кнопку Add (синий крестик);
  2. В появившемся окне на вкладке General в списке Chain должно быть выбрано srcnat;
  3. В списке Out. Interface выберите интерфейс второго провайдера ether2;
  4. Перейдите на вкладку Action;

Настройка NAT второго провайдера

Настройка маскарадинга второго провайдера на Mikrotik

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

Нужна настройка 2 провайдеров в MikroTik?

Настройка сервисов на маршрутизаторах MikroTik: подключение интернета, DHCP, brige, VLAN, WiFi, Capsman, VPN, IpSec, PPTP, L2TP, Mangle, NAT, проброс портов, маршрутизация(routing), удаленное подключение и объединение офисов.

Балансировка нагрузки между двумя интернет провайдерами в MikroTik

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

Настройка находится в IP->Routes

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

Суть этого правила в том, что первый узел будет переадресован к провайдеру-1, а второй – к провайдеру-2. Если ширина каналов не равномерная, к примеру у первого провайдера 50Мб, а у второго 100Мб, то правило можно привести к виду

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

Поддержи автора статьи, сделай клик по рекламе ↓↓↓

Создаем интерфейс Bridge-local и объединяем в нем LAN порты и Wi-Fi

Чтобы LAN порты 3-5 объединить с Wi-Fi в одну сеть, нужно создать bridge интерфейс, и добавить в него мастер порт свитча ether3 и Wi-Fi интерфейс wlan1.

Создаем интерфейс bridge-local:

Добавляем Bridge интерфейс в MikroTik

Добавляем главный порт свитча ether3 в bridge-local:

Добавляем мастер порт свитча в бридж MikroTik

Добавляем Wi-Fi интерфейс в bridge-local:

Добавляем беспроводной интерфейс с бридж MikroTik

Назначаем IP-адрес интерфейсу bridge-local:

Настройка IP адреса бридж интерфейса в MikroTik

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

Чтобы компьютеры, подключенные к роутеру, получали сетевые настройки автоматически, настроим DHCP сервер:

Настройка dhcp сервера MikroTik

Настройка дшсп микротик

Настройка dhcp микротик

Настройка адреса шлюза в dhcp сервере микротик

Настройка диапазона ip адресов dhcp сервера микротик

Настройка dns серверов в dhcp сервере микротик

Время резервирования dhcp настроек в микротик

Настройка dhcp сервера микротик завершена

Как работает автоматическое переключение интернета в MikroTik

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

Настройка находится в IP->Routes

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

Но как только основная линия станет недоступной, на основании значения Distance произойдет переключение на резервную линию. Резервная линия будет оставаться в работе до тех пора, пока интернет на основной линии не восстановится. Это полностью автоматический процесс.

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

Поддержи автора статьи, сделай клик по рекламе ↓↓↓

Настройка 2-го WAN порта

2-й порт настраиваем на статический IP-адрес 20.20.20.20, шлюз 20.20.20.1 и маску 255.255.255.0

Настройка статики второго провайдера

Настоим IP-адрес интернет шлюза:

Настройка Gateway в MikroTik

Добавим IP-адрес DNS сервера:

Настройка DNS в MikroTik

Проверка настроек пингованием

При переключении провайдеров в MikroTik не работает SIP или видеонаблюдение

Дело в том, что когда происходит переключение между провайдерами, старое соединение между внешним SIP телефоном и АТС “Asterisk” продолжает быть активным, но не работает из-за перестроенной таблицы маршрутизации. В этом случае нужно дополнить правила переключения провайдеров очисткой:

Настройка Firewall

Правилами необходимо запретить отправку пакета для тестирования статуса интернет канала через другой интерфейс. Т.е. конкретный PING должен уходить только через определённого провайдера.

Настройка находится в основном меню Ip→Firewall→Filter Rules

или с дополнением по порту

Описание подключений

В примере мы будем использовать роутер MikroTik RB951Ui-2HnD.

В 1-ый порт роутера подключен кабель от 1-го провайдера, во 2-ой порт подключен кабель от 2-го провайдера, порты 3-5 и Wi-Fi используются для подключения компьютеров локальной сети.

Настройка MikroTik на два провайдера

1-й порт будет настроен на динамическое получение сетевых настроек от провайдера по DHCP. Провайдер выдает роутеру динамический IP-адрес 10.10.10.10

2-й порт будет настроен вручную на статический IP-адрес 20.20.20.20, шлюз 20.20.20.1 и маску 255.255.255.0

Настройка маршрутизации

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

Настройка находится в основном меню Ip→Routes→Routes

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

Настройка находится IP→Firewall→Filter rules

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

Настройка Mikrotik winbox, правило firewall drop

Настройка LAN портов 3-5 и Wi-Fi

LAN порты 3-5 будут объединены с Wi-Fi интерфейсом в единую локальную сеть, к которой будут подключаться компьютеры.

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

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

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

ISP-1= Down & ISP-2= Up → соединения Group-1 очищаются и начинают работать через ISP-2. При этом соединения Group-2 остаются не тронутыми. При восстановлении связи с ISP-1, соединения Group-1 также очищаются и трафик вместо ISP-2 начинает проходить через ISP-1.

ISP-1= Up & ISP-2= Down → соединения Group-2 очищаются и начинают работать через ISP-1. При этом соединения Group-1 остаются не тронутыми. При восстановлении связи с ISP-2, соединения Group-2 также очищаются и трафик вместо ISP-1 начинает проходить через ISP-2.

Настройка Wi-Fi

Сначала включим Wi-Fi:

  1. Откройте меню Wireless;
  2. Нажмите левой кнопкой мыши на интерфейсе wlan1 и нажмите кнопку Enable (синяя галочка).

Включить Wi-Fi интерфейс микротик

Создаем пароль для подключения к точке доступа MikroTik:

Настройка пароля Wi-Fi в Микротик

Настраиваем параметры Wi-Fi точки MikroTik:

Настройка wifi в микротик

TCP соединений

Одновременное использование двух провайдеров в MikroTik

Будет рассмотрена ситуация, когда нужно использовать одновременно две линии интернета по принципу:

  • Группа-1(192.168.0.2-192.168.0.100) – через провайдера-1;
  • Группа-2(192.168.0.101-192.168.0.200) – через провайдера-2;

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

Для удобства редактирования групп будут созданы Address List, в которые необходимо добавлять или удалять узлы, которые будут назначать или провайдеру-1 или провайдеру-2.

Настройка находится в IP->Firewall-Address Lists

Настройка нескольких провайдеров на MikroTik, создание address list-1

Настройка нескольких провайдеров на MikroTik, создание address list-2

Подготовленные адрес листы, а точнее маршруты в интернет нужно промаркировать с помощью Mangle

Часть 1.

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

Версия RouterOS:

Не помню начиная с какой версии RouterOS появилась эта фишка. Она позволяет группировать интерфейсы, что весьма удобно (например, в правилах /ip firewall). У меня создана группа из 3-х WAN-интерфейсов.
AcidVenom подсказал, что в 6.36

IP-адреса (адреса, по понятным причинам, «левые»):

Для организации Failover’а я настроил рекурсивную маршрутизацию, подробнее расскажу в 2-ой части.

Firewall (для данной публикации я сознательно привожу правила, разрешающие все.
Не делайте так!):

dst и src nat:

Оглавление

Для настройки двух провайдеров маршрутизатор(роутер) MikroTik необходимо привести к Базовой настройке → .

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

Настройка находится в IP->Routes

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

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

Стоит обратить внимание на параметр Distance, в этой схеме он не участвует. Но если нужно расширить эту схему автоматическим переключением на резервную линию между провайдерами, достаточно добавить два статических маршрута со значением distance 1 и 2.

Объединяем LAN порты 3-5 в свитч

Повторите тоже самое для интерфейса ether5.

Объединение портов MikroTik в свитч

Напротив портов ether4 и ether5 появится буква S (Slave — ведомый).

Статус свитч портов MikroTik

Настройка 1-го WAN порта

Настраиваем 1-й порт на динамическое получение сетевых настроек от провайдера по DHCP.

Настройка DHCP Client в MikroTik

Теперь мы получили IP адрес от провайдера, который отображается в столбце IP Address.

Получение сетевых настроек DHCP клиента в MikroTik

Проверка подключения к интернету в MikroTik

Netwatch не работает, основной провайдер меняет шлюз у DHCP client

Для решения этой проблемы можно адаптировать такие скрипты:

Вариант-1

который сравнивает установленное значение gateway провайдера ISP-1 в маршрутах Routes со значением gateway, установленного в DHCP client.

Вариант-2

В свойствах DHCP клиента добавить скрипт

который будет отрабатывать на любое изменение статуса DHCP клиента, удаляя и создавая новый маршрут в таблице маршрутизации.

Создание правила Netwatch

Настройка находится Tools→Netwatch

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

Настройка резервирования интернета в MikroTik, автопереключение на 2 провайдера, настройка Netwatch состояние UP

Поддержи автора статьи, сделай клик по рекламе ↓↓↓

Настройка резервирования интернета в MikroTik, автопереключение на 2 провайдера, настройка Netwatch состояние DOWN

Сброс конфигурации по умолчанию

С помощью программы Winbox сбрасываем заводскую конфигурацию по умолчанию, чтобы настроить роутер MikroTik на два провайдера с нуля:

  1. Откройте меню System — ResetConfiguration;
  2. Поставьте галочку No Default Configuration;
  3. Нажмите ResetConfiguration.

Сбросить конфигурацию MikroTik

После перезагрузки в Winbox выберите в списке MAC адрес устройства, и подключитесь с пользователем admin без пароля.

Настройка Netwatch для балансировки нагрузки двух провайдеров

Данные правила будут регулировать работу интернет каналов, если один из провайдеров перестанет работать. Ниже приведён отрезок из рабочей конфигурации, который передаваёт последовательность настроек.

Динамическая и статическая маршрутизация в MikroTik

Для регулирования последовательностью движения трафика, в свойствах маршрута(route) есть атрибут Distance. Значением этого атрибута и нужно манипулировать для указания в какой из интернет каналов в будет убегать трафик.

Настройка находится в IP->Routes

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

При появлении 2-ого провайдера нужно контролировать значение Distance. Есть два пути для этого действия:

UDP соединений

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

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

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

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

Такой подход к балансировке будет совмещать два свойства: балансировка + резервирование.

Балансировка. Когда оба провайдера будут работать, нагрузка будет распределяться 50:50.

Резервирование. Если один из провайдеров перестанет работать – его нагрузка будет назначена второму провайдеру.

Часть 2.

Рассмотрим все подробнее.

/ip route
В первых трех строчках мы указываем default gateway каждого из 3-х наших провайдеров.
Маршруты имеют одинаковый вес (distance), но работают в разных таблицах маршрутизации.

Другими словами, эти маршруты работают для пакетов промаркированных соответствующим тегом (routing-mark). Теги пакетам мы будем навешивать в /ip firewall mangle (о чем я подобно расскажу ниже).

Следующие 3 строки — указание маршрутов по умолчанию в основной таблице маршрутизации.

Здесь стоит обратить внимание на:

    Параметр distance. Для каждого маршрута разный и, соответственно, «вес» маршрутов тоже разный.

ISP1 — основной, за ним ISP2 и ISP3 замыкает, т.е. при отказе провайдера ISP1 работать будем через ISP2, если и ISP2 почил в бозе, то за дело возьмется ISP3.

На самом деле трафик отправится активному провайдеру, а дальше тот отправит его в Интернет через свои аплинки.

Во-первых, определимся с некоторыми терминами.
Nexthop — следующий прыжок, если дословно. Следующий шлюз/роутер/маршрутизатор на пути следования пакета из точки А(от моего роутера, например) в точку Б (допустим до гуглового DNS 8.8.8.8), т.е. следующий транзитный участок, на котором будет обрабатываться пакет. В переводе будет использоваться словосочетание “следующий хоп” (простите за англицизм).

Immediate nexthop — следующий шлюз/роутер/маршрутизатор на пути следования пакета из точки А в точку Б, доступный непосредственно. Для моего домашнего MikroTik, с маршрутом по-умолчанию:

89.189.163.1 — это и есть immediate nexthop, т.к. доступен он через ether1-gateway. В переводе будет использоваться словосочетание “непосредственно доступный следующий хоп”.

Connected route — связанный маршрут. Маршрут, шлюз которого доступен непосредственно.

Gateway — сетевой шлюз/роутер/маршрутизатор.
Я буду пользоваться всеми тремя вариантами перевода.

scope — Используется в механизме поиска следующего хопа, т.е. решения какой же хоп станет следующим. Нужный маршрут может быть выбран только среди маршрутов, значения scope которых меньше либо равно значению target-scope. Значения по-умолчанию зависят от протокола:

  • связанные маршруты: 10 (если интерфейс запущен(running))
  • OSPF, RIP, MME маршруты: 20
  • статические маршруты: 30
  • BGP маршруты: 40
  • связанные маршруты: 200 (если интерфейс не запущен)

Табличка значений обоих параметров.

Поиск следующего хопа.
Поиск следующего хопа является частью процесса выбора маршрута.

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

Некоторые маршруты (например, iBGP), в качестве адреса шлюза, могут иметь адрес принадлежащий маршрутизатору, находящемуся через несколько прыжков-шлюзов от нашего MikroTik. Для установки таких маршрутов в FIB необходимо найти адрес шлюза, доступного непосредственно (an immediate nexthop), т.е. напрямую от нас, который и будет использоваться для достижения адреса шлюза в этом маршруте. Непосредственный адрес следующего хопа также может быть найден при помощи механизма поиска следующего хопа.

Поиск следующего хопа выполняется только в основной таблице маршрутизации main, даже для маршрутов, имеющих отличное значение параметра routing-mark. Это необходимо для ограничения установки маршрутов, которые могут быть использованы для поиска непосредственно доступных хопов (immediate nexthops). В маршрутах для протоколов RIP или OSPF предполагается, что следующий маршрутизатор доступен непосредственно и должен быть найдены используя только связанные маршруты(connected routes).

Маршруты с именем интерфейса в качестве шлюза не используются в поиске следующего хопа. Если есть маршрут с именем интерфейса, а также маршрут с активным IP-адресом, то маршрут с интерфейсом игнорируется.

Маршруты, имеющие значение параметра scope больше максимально допустимого не используются в поиске следующего хопа. В каждом маршруте указывается максимально допустимое значение параметра scope, для его следующего хопа, в параметре target-scope. Значение по-умолчанию для этого параметра позволяет выполнить поиск следующего хопа только через связанные маршруты (connected routes), за исключением iBGP-маршрутов, которые имеют большее значение по-умолчанию и могут выполнить поиск следующего хопа также через IGP и статические маршруты.

Интерфейс и адрес следующего непосредственно доступного маршрутизатора выбираются основываясь на результатах поиска следующего хопа:

    Если наиболее точный активный маршрут, который был обнаружен в ходе поиска адреса следующего хопа, является связанным маршрутом, то интерфейс этого связанного маршрута используется как интерфейс следующего хопа и шлюз помечается как reachable. После того как маршрутизатор становится непосредственно доступным через этот интерфейс (именно это и следует понимать как “связанный маршрут” или “connected route”) его адрес используется как адрес непосредственно доступного маршрутизатора (immediate nexthop address).

Он и принимает, и таким образом маршруты по-умолчанию через:

Надеюсь мой перевод и объяснение будут вам полезны.

Пока самые охочие до знаний читают под спойлером, расскажу немого короче и проще.
Когда мы указываем scope=10 в последних трех строках, мы даем понять MikroTik’у, что:

/ip firewall mangle

Для пояснения правил этого раздела пригласим несколько помощников.

    MANGLE — данная таблица предназначена для операций по классификации и маркировке пакетов и соединений, а также модификации заголовков пакетов (поля TTL и TOS) (викиучебник).
  1. PREROUTING — позволяет модифицировать пакет до принятия решения о маршрутизации.
  2. INPUT — позволяет модифицировать пакет, предназначенный самому хосту.
  3. FORWARD — цепочка, позволяющая модифицировать транзитные пакеты.
  4. OUTPUT — позволяет модифицировать пакеты, исходящие от самого хоста.
  5. POSTROUTING — дает возможность модифицировать все исходящие пакеты, как сгенерированные самим хостом, так и транзитные.

Начем с первых двух.
В первом мы сообщаем роутеру, что все входящие chain=input соединения на интерфейс ISP1 нужно маркировать action=mark-connection new-connection-mark=ISP1-conn, а так же указаваем passthrough=yes, чтобы пакет, после прохождения этого правила, не покинул таблицу и продолжил следование по правилам.

Во втором говорим MikroTik’у, чтобы он отловил исходящие соединения chain=output помеченные как ISP1-conn и присвоил им метку роутинга(для помещения в соответствующую таблицу маршрутизации, вы ведь помните первые три маршрута?), а также сообщаем passthrough=no , как бы говоря — нечего делать здесь пакету после этого правила, т.е. пакет покинет таблицу.

Все описанное выше справедливо и для ISP2 и для ISP3. Таким образом мы добились того, что роутер ответит именно с того интерфейса, на который к нему прийдет запрос.

Переходим к завершающим шести правилам.
Уже понятно, они также разбиты на подгруппы по 2, для каждого из наших ISP.
Первое из них поручает роутеру следить за цепочкой FORWARD и если происходит соединение через интерфейс ISP1, то оно маркируется action=mark-connection новым тегом new-connection-mark=ISP1-conn-f (обратите внимание! отличным от тега трафика самого маршрутизатора, в данном случае мы маркируем транзитный трафик). passthrough=no, т.к. мы не хотим, чтобы пакет, после попадания в это правило, обрабатывался в таблице как-то еще.

Второе навешивает нужную метку роутинга new-routing-mark=ISP1-route в цепочке PREROUTING, т.е. ДО принятия решения о маршрутизации, и отслеживает трафик пришедший к нам из локальной сети in-interface=bridge.
Здесь нас выручает механизм CONNECTION TRACKING, позволяющий поймать промаркированные правилом выше соединения из локальной сети(от WEB-сервера) и навесить им необходимый тег роутинга.

Это позволяет транзитному трафику(здесь к/от web-сервера) идти именно тем путем, которым он и пришел, т.е. пришел через ISP1 — уходи через него же.

Как настроить Netwatch в MikroTik для переключения между провайдерами

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

  1. Создание записи Netwatch с соответствующими сценариями при состоянии UP и DOWN;
  2. Запрет отправки пакетов узлов указанных в Netwatch через другие интерфейсы(Firewall);
  3. Создание статических маршрутов(Routes) для трафика Netwatch.

Создание статического маршрута для работы Netwatch

Настройка находится IP→Routes

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

Создание статического маршрута

На примере DHCP client: необходимо зафиксировать шлюз, который указан в динамическом маршруте.

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

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

Настройка находится в IP->DHCP client

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

Создать статический маршрут, где

Dst. Address = 0.0.0.0/0;

Gateway = зафиксированный шлюз.

Настройка находится в IP->Routes

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

Также этот способ является методом по умолчанию описания свойств интернет подключения для статического IP адреса.