Роутер на 2 провайдера mikrotik

Содержание
  1. Резервирование Интернет-канала на Mikrotik
  2. Маршруты с разным приоритетом
  3. Использование сценария, запускаемого в Netwatch
  4. 1. Задаем описания
  5. 2. Настраиваем узел для проверки канала
  6. 3. Настройка задания в Netwatch
  7. Проверка
  8. Читайте также
  9. Микротик: 2 провайдера, резервирование и балансировка
  10. Резервирование
  11. Быстрый способ
  12. Комплексный способ
  13. Балансировка каналов
  14. Mikrotik. Failover. Load Balancing
  15. Failover
  16. Простейшее резервирование каналов
  17. Обеспечение failover с более глубоким анализом канала
  18. Load Balancing
  19. Начинаем настраивать Load Balancing
  20. Готовимся принять «трафик Шредингера»
  21. Делим исходящий трафик
  22. 1) Делим исходящий трафик, прикручивая марку намертво
  23. 2) Делим исходящий трафик, выбирая каждое Н-ое соединение
  24. 3) Делим исходящий трафик, используя PCC (per connection classifier)
  25. Делим исходящий трафик, используя ECMP (equal cost multipath routing)
  26. И последнее немаловажное замечание про скорость каналов

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Открываем на редактирование оба маршрута через наших провайдеров и добавляем комментарий в разделе Comment:

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

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

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

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

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

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

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

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

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

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

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

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

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

/ip route set [find comment=»ISP_1″] disabled=no
/ip route set [find comment=»ISP_2″] disabled=yes

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

/ip route set [find comment=»ISP_1″] disabled=yes
/ip route set [find comment=»ISP_2″] disabled=no

Нажимае OK.

Проверка

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

Читайте также:  Смена канала wifi на роутере tp link

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

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

Источник

Микротик: 2 провайдера, резервирование и балансировка

В статье будет рассмотрен способ подключения двух провайдеров к маршрутизатору микротик, использование 2-х провайдеров может быть двумя способами резервирование и балансировка. Резервирования каналов интернета, то есть в постоянной активности будет основной канал, а другой (резервный) будет запускаться в том случае, когда первый будет не активен, используется, если допустим 2-й оператор предоставляет интернет с ограниченным трафиком или через GSM модем. Балансировка, когда одновременно работает 2 провайдера.

Нужно разобраться с MikroTik, но не определились с чего начать? В курсе «Настройка оборудования MikroTik» все по порядку. Подойдет и для начала работы с этим оборудованием, и для того, чтобы систематизировать знания. Это видеокурс из 162 уроков и 45 лабораторных работ, построен на официальной программе MTCNA. Проходить можно, когда удобно и пересматривать по необходимости – материалы курса выдаются бессрочно. Также есть 30 дней на личные консультации с автором. На пробу выдают 25 уроков бесплатно, заказать их можно на странице курса.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Размеры роутера от ростелеком

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

Балансировка каналов

Настроим одновременную работу двух провайдеров, переходим снова в меню IP-routes и добавляем следующий маршрут по умолчанию.

В этом примере нагрузка на каналы будет распределяться 50/50, если же нам нужно сделать неравномерное распределение нагрузки, допустим в 1-го отправлять 75 % трафика, а на второго 25%, то это выглядит так.

Т.е три соединения будут идти через шлюз 1.1.1.1 и одно соединение через шлюз 2.2.2.2

Обучающий курс по настройке MikroTik

Нужно разобраться с MikroTik, но не определились с чего начать? В курсе «Настройка оборудования MikroTik» все по порядку. Подойдет и для начала работы с этим оборудованием, и для того, чтобы систематизировать знания. Это видеокурс из 162 уроков и 45 лабораторных работ, построен на официальной программе MTCNA. Проходить можно, когда удобно и пересматривать по необходимости – материалы курса выдаются бессрочно. Также есть 30 дней на личные консультации с автором. На пробу выдают 25 уроков бесплатно, заказать их можно на странице курса.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Mikrotik. Failover. Load Balancing

Когда у меня встала необходимость разобраться, как сделать failover или load balancing, имея два и более каналов в мир, я нашел множество статей и инструкций, в которых описывались рабочие конфигурации. Но почти нигде не нашел разъяснения, как все работает, и описания отличий разных вариантов. Хочу исправить эту несправедливость и собрать простейшие варианты построения failover и load balancing конфигураций в одной статье.

Итак, у нас есть роутер, который соединяет нашу локальную сеть и два канала в интернет (основной ISP1 и резервный ISP2).

Давайте рассмотрим что же мы можем сделать:

Сразу предупрежу: несмотря на то, что в этой статье буду все описывать для mikrotik, не буду касаться темы скриптов

Failover

У нас появился резервный канал, в который можно направить трафик при отказе основного. Но как сделать, чтобы mikrotik понял, что канал упал?

Простейшее резервирование каналов

Простейший failover можно настроить, используя приоритет маршрута (distance у mikrotik/cisco, metric в linux/windows), а так же механизм проверки доступности шлюза — check-gateway.

В приведенной ниже конфигурации весь интернет трафик по умолчанию ходит через 10.100.1.254 (ISP1). Но как только адрес 10.100.1.254 станет недоступным (а маршрут через него неактивным) — трафик пойдет через 10.200.1.254 (ISP2).

Обеспечение failover с более глубоким анализом канала

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

Я знаю два варианта решения этой инженерной задачи. Первый и самый распространенный — использовать скрипты, но так как в этой статье мы скрипты не трогаем, остановимся подробнее на втором. Он подразумевает не совсем корректное использование параметра scope, но поможет нам прощупать канал провайдера глубже, чем до шлюза.
Принцип прост:
Вместо традиционного указания default gateway=шлюз провайдера, мы скажем роутеру что default gateway это какой-то из всегда_доступных_узлов (например 8.8.8.8 или 8.8.4.4) и он в свою очередь доступен через шлюз провайдера.

Теперь разберем, что происходит чуть подробнее:
Хитрость в том, что шлюз провайдера не знает о том, что 8.8.8.8 или 8.8.4.4 — это роутер и направит трафик по обычному пути.
Наш mikrotik считает, что по умолчанию весь интернет трафик нужно отправлять на 8.8.8.8, который напрямую не виден, но через 10.100.1.254 доступен. А если пинг на 8.8.8.8 пропадает (напомню что путь к нему у нас жестко указан через шлюз от ISP1) то mikrotik начнет слать весь интернет трафик на 8.8.4.4, а точнее на рекурсивно определенный 10.200.1.254 (ISP2).

Но у меня пару раз возникала ситуация, когда интернет через шлюз провайдера работает, а вот конкретный узел или сеть нет. В таких случаях вышеописанный метод не очень-то помогает и для обеспечения бесперебойной работы мне приходилось проверять доступность узла уже с помощью скриптов. Кстати, если кто знает решение файловера на один внешний хост без применения скриптов и протоколов динамической маршрутизации — поделитесь рецептом.

Читайте также:  Кнопка wps на роутере trendnet

Load Balancing

Теперь давайте рассмотрим другую схему:

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

Начинаем настраивать Load Balancing

Первое правило Load Balancing — следить за соединениями: на пришедшее извне соединение отвечать с того же адреса, на который оно пришло. Для исходящих соединений — отправлять пакеты только через тот адрес, с которым установилось соединение.

Второе, что тоже важно понимать — нужно разделять понятия входящего и исходящего трафика. Дело в том, что для исходящего трафика роутер может решать, по какому пути он пойдет, а входящий трафик для него как «трафик Шредингера». Пока его нет, наш mikrotik не знает, через какой интерфейс он придет, а когда пришел — менять интерфейс уже поздно.

Третье — балансировка каналов не является резервированием. Это две отдельные функции.

Готовимся принять «трафик Шредингера»

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

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

Делим исходящий трафик

Для распределения исходящего трафика по интерфейсам, нам всего-то нужно повесить соответствующую марку маршрута на соединение. Сложность в том, что нужно решить на какое соединение вешать метку ISP1, а на какое ISP2.

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

1) Делим исходящий трафик, прикручивая марку намертво

Правила, балансирующие трафик мы можем прописать жестко:
Например мы хотим настроить важные для нас протоколы HTTP(80 port), HTTPS (443 port), POP (110 port), SMTP (25 port) через ISP1, а весь остальной трафик пустить через второго провайдера:

2) Делим исходящий трафик, выбирая каждое Н-ое соединение

Можем делить соединения по-порядку. Первые налево, вторые — направо. Все просто.

3) Делим исходящий трафик, используя PCC (per connection classifier)

PCC подходит к дележу трафика чуть сложнее. Он разделяет трафик по группам, основываясь на данных TCP заголовка (src-address, dst-address, src-port, dst-port).

Делим исходящий трафик, используя ECMP (equal cost multipath routing)

На мой взгляд самый простой и вкусный вариант разделения траффика:

Mikrotik сам поделит трафик по шлюзам, используя round-robin алгоритм.

Кстати, в версии 6.Х RouterOS mikrotik поломал check-gateway в ECMP, так что использовать конструкцию
/ip route add gateway=10.100.1.254,10.200.1.254 check-gateway=ping можно и логично, но абсолютно бесполезно.
Для пометки неживых маршрутов в ECMP нужно создать дополнительные маршруты, которые используют каждый из gateway по-отдельности. С включенным check-gateway разумеется. Помечая маршрут неактивным, mikrotik делает это для всех.

И последнее немаловажное замечание про скорость каналов

Возьмем 2 неравнозначных канала, например, 100 мбит и 50 мбит. Сбалансируем их через Nth, PCC или ECMP. Какую суммарную пропускную способность получим?

На самом деле — где-то около 100 мбит (самый слабый канал Х раз).
Происходит это потому, что mikrotik понятия не имеет о пропускной способности каналов, он ее не измеряет. Он просто делит трафик на относительно равные группы.

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

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

В PCC тоже можно сделать неравные группы:

Спасибо за внимание.

Удачи в настройках безотказных систем маршрутизации.

Источник