- Микротик: 2 провайдера, резервирование и балансировка
- Резервирование
- Быстрый способ
- Комплексный способ
- Балансировка каналов
- Организация локальной сети с одновременным подключением к двум интернет-провайдерам при помощи маршрутизатора MikroTik
- Mikrotik на 2 провайдера: настройка резервного канала в RouterOS
- Недостатки простого «простого» и «сложного» способа переключения на резервный канал в Mikrotik
- Простое и надежное переключение на резервный канал в Mikrotik
- Основной провайдер выдает динамический IP по DHCP со сменой шлюза
- Ответы на частые вопросы
- Видеокурс «Настройка оборудования MikroTik» (аналог MTCNA)
Микротик: 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
Предположим, что у нас есть два интернет провайдера. Первый получает настройки по L2TP, для второго необходимо задать настройки статически, а нам требуется организовать безотказную работу интернет соединения. То есть, в случае отказа первого интернет провайдера маршрутизатор должен автоматически переключиться на второго (резервного) провайдера. А при восстановлении связи с первым провайдером маршрутизатор должен снова начать с ним работать.
Для решения задачи будем использовать маршрутизатор, настроенный на базе RouterOS. В данном примере MikroTik rb951ui (5-портовый). В порт №1 соответственно будет подключен провайдер «1» (ISP1) по L2TP. Во второй порт провайдер «2» (ISP2) со StaticIP. Порты №3, №4, №5 будут служить для подключения клиентов сети. IP-адреса в локальной сети будут раздаваться по DHCP. О работоспособности первого или второго канала будем судить по доступности IP-адреса. К примеру, возьмем DNS google.com, вероятность отказа которого очень мала.
Последовательность действий. Подключаем маршрутизатор к порту №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) необходимо прописать следующее правило:
#включаем маршрут с комментарием «ISP1» (основной канал)
/ip route set [find comment=«ISP1»] disabled=no
#отключаем маршрут с комментарием «ISP2»(резервный канал)
/ip route set [find comment=«ISP2»] disabled=yes
Во вкладке Down прописываем следующее правило:
#отключаем маршрут с комментарием «ISP1» (резервный канал)
/ip route set [find comment=«ISP1»] disabled=yes
#включаем маршрут с комментарием «ISP2» (основной канал)
/ip route set [find comment=«ISP2»] disabled=no
Настройка правил для проходящего трафика
Используя встроенный файервол можно управлять абсолютно всем трафиком, нам необходимо запретить пинг на ISP2. Для это в окне терминала пропишем следующее:
#одобряем использование протокола icmp
ip firewall filter add chain=input comment=«Permit icmp»
#ограничиваем ping 8.8.4.4 через ISP2
ip firewall filter add action=drop chain=output comment=«Deny 8.8.4.4 to reserved internet-channel» dst-address=8.8.4.4 out-interface=«ether2 — internet II (reserve)» protocol=«icmp»
Материал является вводным и предназначен для знакомства с вопросом управления сетью с двумя провайдерами.
Источник
Mikrotik на 2 провайдера: настройка резервного канала в RouterOS
Одна из наиболее популярных задач, решаемых на оборудовании Mikrotik – настройка RouterOS на работу с двумя интернет-провайдерами или, простыми словами, настройка резервного канала. Данный вопрос будет актуальный как для бизнеса, так и для домашних пользователей, которым требуется организовать бесперебойный канал выхода в сеть Интернет.
При помощи описанного метода, вы сможете настроить резервный канал на любом оборудовании Mikrotik RouterBOARD, независимо от типа подключения к сети провайдера.
Недостатки простого «простого» и «сложного» способа переключения на резервный канал в Mikrotik
Уже «из коробки» RouterOS умеет осуществлять автоматическое переключение на резервный канал, о чем я писал отдельную публикацию:
- Подключаем 3G-модем к Mikrotik: самый простой вариант резервирования канала. На примере hAP (RB951Ui-2nd) и модема Huawei E173, оператор Lifecell
Однако, у данного метода существует огромный недостаток – он работает только в том случае, если основной шлюз перешел в статус «unreachable». Один из таких вариантов – физическое отключение кабеля.
Вариантом модификации данного метода является использование параметра ping, при котором RouterOS для проверки доступности интернета использует пинг шлюза. Недостатком данного метода является то, что он не обеспечивает корректное переключение на резервный канал в тех случаях, когда шлюз провайдера доступен, а интернет отсутствует.
Решая данную проблему, пользователи порой прибегают к использования самых разнообразных и замысловатых скриптов. К примеру, пару лет назад, я тоже писал подобный скрипт:
- Mikrotik Advanced Failover: автоматическое переключение между основным каналом и 3G. Проверка основного интернет-канала и отправка SMS-уведомлений из Mikrotik
Казалось бы, хорошая гибкость и большой набор опций? Увы, не все так просто. Во-первых, Mikrotik периодически меняет параметры, иногда вносятся правки в синтаксис, от чего рано или поздно ваши скрипты перестают работать (это вопрос времени), а на их отладку уходит драгоценное время. Во-вторых, рядовому пользователю сложно понять тонкости работы скриптов – чаще всего пользователь хочет просто скопировать скрипт, не вдаваясь в подробности.
Так есть ли выход?
Простое и надежное переключение на резервный канал в Mikrotik
К большому сожалению, абсолютное большинство инструкций по данной теме предлагают варианты «как есть», без должного разъяснения принципа работы алгоритма и формирования у пользователя четкого понимания того, что они делают.
Если вы ищите «готовый рецепт» и не хотите вдаваться в тонкости настройки, возможно, вам следует поискать другое решение. Если же у вас есть желание разобраться в том, как научиться настраивать резервный канал практически на любом устройстве RouterBOARD с любым типом подключения – эта публикация для вас!
Перед тем, как приступить к описанию метода, хотел бы добавить небольшую рекомендацию. Не бойтесь командной строки. Вас никто не заставляет ею пользоваться, хоть это и очень удобно при частичном импорте различных конфигураций. Не хотите – не пользуйтесь. Рекомендую начать с того, чтобы попытаться понять смысл используемых параметров и опций. Абсолютно все команды дублируют интерфейс Winbox – читая «конфиг», проделать то же самое через Winbox легко и просто. Если вы захотите работать с Mikrotik и RouterOS на более продвинутом уровне, рано или поздно, пользоваться командной строкой все-равно придется.
Первым делом следует определить, каким образом вы подключены к сети провайдера – из актуальных методов подключения – DHCP или PPPoE. Также это могут быть и устаревшие методы подключения – L2TP или PPTP.
После определения типа подключения, взгляните, какой маршрут добавляется для выхода в интернет каждым из провайдеров. Посмотреть это можно в разделе IP – Routes.
Ищите маршрут по-умолчанию, его легко определить, т.к. в Dst. Address всегда указано 0.0.0.0/0. К примеру, на скриншоте показан маршрут в интернет через интерфейс ether1-gateway и шлюз провайдера 134.249.110.190. Шлюз может понадобиться для того, чтобы правильно прописать маршруты.
С маршрутами определились, далее необходимо отключить маршруты по-умолчанию для обеих провайдеров. К примеру, для подключения по DHCP это делается в IP – DHCP Client.
Add Default Route = NO
Для PPPoE, а также PPTP/L2TP в списке интерфейсов выберите интерфейс провайдера и отключите опцию Add Default Route.
После этого в списке маршрутов пропадут маршруты 0.0.0.0/0, а доступ к сети Интернет будет прекращен. Необходимо вручную добавить маршруты на оба провайдера.
Для этого создаем два маршрута к 0.0.0.0/0 через 2 разные интерфейса и 2 разные шлюза. В конкретном примере первый провайдер находится на интерфейсе sfp-sfpplus1 с шлюзом 195.16.77.129. Для основного провайдера добавляем комментарий ISP1 – нужен он нам будет для корректной работы переключения между провайдерами. В качестве Distance указываем 1.
В случае с ppp-интерфейсами все чуть проще, можно просто указать интерфейс в качестве шлюза. Ниже пример для PPPoE. Для резервного канала добавляем примечание ISP2, в качестве Distance указываем 2. Параметр Distance влияет на приоритет маршрута, чем меньше число – тем выше приоритет маршрута.
Теперь необходимо определиться с эталонным ресурсом в сети интернет, по которому мы будем определять доступность всей сети Интернет. Я бы рекомендовал использовать надежные DNS Google 8.8.8.8, 8.8.4.4 или Amazon Cloudflare 1.1.1.1. Почему? Данные сервисы используют мощную распределенную сетевую инфраструктуру и гарантируют практически бесперебойный аптайм.
После того как выбран IP, добавляем еще один статический маршрут на этот IP, с указанием шлюза, через который необходимо пересылать пакеты. Иными словами, мы явно указываем маршрутизатору, что на 1.1.1.1 (как пример) надо ходить через первого провайдера.
И все бы хорошо, только RouterOS этого мало, необходимо в чейне Output дополнительно отфильтровать пакеты, которые идут на 1.1.1.1 через второго провайдера по протоколу ICMP (ping). Это позволит избежать отправки и прохождения ICMP-запросов к 1.1.1.1 через резервный канал.
Почти готово. Переходим в Tool – Netwatch и добавляем новый мониторинг:
- Host: 1.1.1.1 (IP, который мониторится)
- Interval: 00:00:10 (например, 10 секунд)
- Timeout: 200 ms (таймаут ожидания, по-умолчанию равен 1000 мс)
Во вкладках Up и Down добавляем команды, которые необходимо выполнить в случаях, когда хост в сети и оффлайн. По сути, скрипт ищет маршруты с комментариями ISP1 и ISP2. Если узел 1.1.1.1 недоступен, скрипт отключает маршрут ISP1 и включает резервный маршрут ISP2. В случае, когда узел 1.1.1.1 доступен, скрипт принудительно включает маршрут ISP1.
Работа Netwatch основана на том, что доступ к 1.1.1.1 у нас разрешен только с первого провайдера (ISP1), что и выступает индикатором работоспособности Интернет.
Основной провайдер выдает динамический IP по DHCP со сменой шлюза
Если провайдер не делает реорганизацию сети, шлюз не меняется для владельцев статических IP. А вот если у вас динамический внешний или серый IP, адрес шлюза может и, скорее всего, будет периодически меняться.
В случае с получением параметров по DHCP, обычный маршрут 0.0.0.0/0 с gateway = ether1 не обеспечит выход в Интернет, т.к. при таком подключении следует явно указывать IP шлюза. Но шлюз периодически меняется – как быть? Можно писать скрипты, но есть вариант на порядок проще и легче.
Для ISP1 следует задать Disatance, отличный от 1, например, 2. Делается это в подменю IP – DHCP Client — [ISP1] – вкладка Advanced – опция Default Route Distance.
Что это нам даст? При отсутствии других маршрутов, такой маршрут будет основным. Для второго провайдера следует задать Distance = 1. Если включить такой маршрут – он станет основным, т.к. имеет больший приоритет. Таким образом, включая и отключая маршрут резервного провайдера, можно управлять переключением между провайдерами. Учитывая, что в качестве резервного канала обычно выбирают 3G/4G-модем, больше проблем не возникнет.
Ответы на частые вопросы
Казалось бы, все понятно, но метод переключения не работает. Такое может быть, если у вас NAT имеет настройки, отличные от дефолтных.
Для работы данного метода, необходимо, чтобы у вас присутствовало стандартное правило маскарадинга:
Данное правило позволяет хостам в локальной сети, находящимся за NAT, выходить в интернет через группу интерфейсов «WAN».
Данного правила недостаточно, необходимо, чтобы оба интернет-интерфейса находились в группе WAN. Для вышеприведенной конфигурации это имеет следующий вид:
Также рекомендую отказаться от использования DNS-серверов провайдера. Как показывает практика, они работают менее стабильно, чем сервисы 8.8.8.8 и 1.1.1.1. Если же вы не хотите использовать перечисленные сервисы и хотите использовать DNS-серверы провайдера, необходимо использовать DNS-серверы обеих провайдеров – опция Use Peer DNS в свойствах подключения.
Если вы будете использовать DNS только одного провайдера – при его недоступности, интернет на втором провайдере также будет недоступен. Но даже если вы будете использовать DNS двух провайдеров, возможны небольшие задержки при обработке DNS-запросов, в случаях, когда один из провайдеров недоступен и в кеше DNS отсутствует необходимая запись.
Видеокурс «Настройка оборудования MikroTik» (аналог MTCNA)
Учитесь работать с MikroTik? Рекомендую видеокурс «Настройка оборудования MikroTik». В курсе разобраны все темы из официальной учебной программы MTCNA и много дополнительного материала. Курс сочетает теоретическую часть и практику – настройку маршрутизатора по техническому заданию. Консультации по заданиям курса ведет его автор Дмитрий Скоромнов. Подойдет и для первого знакомства с оборудованием MikroTik, и для систематизации знаний опытным специалистам.
Источник