Андрей Смирнов
Время чтения: ~14 мин.
Просмотров: 24

Балансировка и резервирование интернета от 4х операторов на Mikrotik

Автор: · Опубликовано 25.08.2017 · Обновлено 25.03.2020

Задача:   Предположим, у нас есть Mikrotik и два интернет-провайдера, предоставляющих доступ в сеть через проводное соединение. От первого провайдера мы должны получить настройки по dhcp, для второго их нужно задать статически. Нам требуется обеспечить безотказную работу интернет-соединения. Для этого при возникновении проблем с доступом в интернет через основной канал (первого провайдера) наш маршрутизатор должен автоматически переключаться на резервный (второго провайдера), и, при восстановлении связи, продолжать работу в штатном режиме. Сразу условимся: в первый порт будет подключен основной провайдер, во второй — резервный, остальные три порта будут использоваться для подключения компьютеров локальной сети. О работоспособности канала будем судить по доступности ip-адреса. Для проверки лучше всего взять адрес какого-либо крупного сервиса, вероятность отказа которого крайне мала (мы выбрали google dns).1. Очистка конфигурации роутера   Для того, чтобы процесс настройки был понятней, и в дальнейшем не возникло путаницы, мы удалим стандартную конфигурацию и будем все делать с нуля. После очистки конфигурации к роутеру можно подключиться только по mac-адресу через программу winbox.01.png2. Настройка интерфейсов и создание сетевого моста («bridge»)   В системе управления каждый интерфейс имеет свое имя. Имеет смысл присвоить интерфейсам устройства хорошо различимые понятные имена, что в будущем позволит существенно облегчить настройку и мониторинг системы.02.pngСледующей задачей для нас является настройка внутренней сети. Для обеспечения взаимосвязи между компьютерами и устройствами локальной сети проще всего воспользоваться функциями сетевого моста («Bridge»), который позволяет объединить внутренние сетевые интерфейсы и обеспечить прозрачный доступ внутри сети.03.png

Для создания сетевого моста необходимо воспользоваться пунктом меню «Bridge», указать требуемое имя моста и в закладке «Ports» добавить в мост требуемые внутренние интерфейсы. 

04.png3. Добавление ip-адресов   Далее нужно добавить внутренний ip адрес, который будет являться шлюзом для нашей локальной сети (обратите внимание, что его нужно присвоить интерфейсу сетевого моста), а так же ip-адрес, который нам предоставляет второй провайдер.05.png4. Настройка внутреннего dhcp-сервера   Теперь мы должны настроить параметры внутреннего DHCP сервера для раздачи IP адресов устройствам внутренней сети. Сначала необходимо создать пул выдаваемых IP адресов, для чего открываем пункт меню «IP»-«Pool», создем новый пул, присваиваем ему различаемое имя и указываем диапазон выдаваемых адресов.06.pngТеперь можно приступать к настройке собственно DHCP сервера. Для этого необходимо перейти в пункт меню «IP»-«DHCP Server» и создать новый сервер, указав его имя, интерфейс на котором сервер будет работать (в нашем случае это сетевой мост) и ранее настроенный пул выдаваемых адресов. После этого мы должны указать параметры сети для нашего DHCP севера. Для этого нужно перейти на закладку «Network» и указать параметры передаваемыеклиентам.07.png5. Создание dhcp-клиента   Так как подключение к сети первого провайдера предполагается осуществлять с использованием динамического адреса, значит нам нужно создать dhcp-клиента, работающего на первом порту маршрутизатора. Сделать это можно из меню «IP» — «Dhcp client».08.png6. Добавление статических маршрутов   Все взаимодействие между сетями осуществляется в соответствии с таблицей маршрутизации, управлять которой можно из меню «Routes». Маршруты в локальную сеть и к внутренним сетям провайдеров были добавлены динамически, осталось добавить маршруты в интернет (на адрес 0.0.0.0/0) через шлюзы провайдеров. Так же для обоих созданных маршрутов добавляем комментарии и указываем маршрут к 8.8.4.4 через шлюз первого провайдера (необходимо для работы проверки канала).09.png7. Настройка межсетевого экрана   Используя встроенный файервол можно управлять всем трафиком, проходящем через маршрутизатор. Фильтрация осуществляется на основе правил, заданных в меню «Firewall» и применяемых последовательно ко всем сетевым пакетам. Все действия с маршрутизатором можно проводить, как из графического интерфейса, так и из командной строки. В данном разделе удобнее будет все сделать из консоли.10.png Заходим в «Terminal» и выполняем следующие команды:  #скрываем внутреннюю сеть за NATip firewall nat add action=masquerade chain=srcnat comment=NAT src-address=192.168.88.0/24#запрещаем соединения со статусом invalidip firewall filter add action=drop chain=input comment=»Deny invalid connections» connection-state=invalid#разрешаем использование протокола icmpip firewall filter add chain=input comment=»Permit icmp» protocol=icmp#разрешаем все уже установленные соединенияip firewall filter add chain=input comment=»Permit established connections» connection-state=established#разрешаем все зависимые соединенияip firewall filter add chain=input comment=»Permit related connections» connection-state=related#блокируем все новые соединения со всех интерфейсов, кроме LANip firewall filter add action=drop chain=input comment=»Deny new connections» connection-state=new in-interface=!LAN#запрещаем ping 8.8.4.4 через ISP2ip 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»8. Переключение каналов   В ОС роутера есть встроенная утилита «Netwatch», которая позволяет отслеживать состояние хостов в сети посредством отправки ICMP-запросов (ping) и выполнять какие-либо действия на основе их доступности. Мы будем отслеживать ip-адрес 8.8.4.4 через первый канал, и в случае его недоступности переключать маршруты на работу по второму.   Создаем новый «Netwatch host», в графе «Host» указываем отслеживаемый ip-адрес, а в «Interval» — частоту осуществляемых проверок.11-11.png В раздел «Up» нужно сделать записи:#включем маршрут с комментарием «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 #включаем маршрут с комментарием «ISP1» (основной канал)

/ip route set [find comment=»ISP2″] disabled=no

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

  • отключить все неиспользуемые сервисы («IP» — «Services»)
  • отключить обнаружение устройства на всех внешних интерфейсах («IP» — «Neighbor»)
  • установить пароль администратора («System» — «Password»)

12-00.png

В этой статье мы рассмотрим резервирование и балансировку трафика сразу от 4х мобильных операторов. В качестве 4G роутеров будем использовать 4 профессиональных 4G роутера Tandem-4GL-OEM.

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

В качестве интернет каналов у нас будут взяты 4 LTE-роутера Tandem-4GL-OEM со встроенным промышленным 4G/3G модемом. Тем самым получится чрезвычайно надежное интернет соединение. Роутеры Tandem-4GL-OEM установили в герметичный корпус с вырезами под антенны и гермовводами для подключения питания и сетевых кабелей. Таким образом данный бокс может быть размещен на улице, тем более что роутеры Tandem-4GL-OEM работают при температуре от -40 до +60 °С.

На каждом из 4х роутеров Tandem-4GL-OEM необходимо настроить уникальный IP-адрес. Мы настроили адреса 192.168.1.1, 192.168.2.1, 3.1 и 4.1

Tandem IP.png

Каждый из 4 роутеров — провайдеров раздает IP-адреса собственным DHCP-сервером, поэтому на Микротике нам нужно будет настроить 4 порта — DHCP-клиента.

Если Вы — опытный настройщик Mikrotik и не нуждаетесь в настройке с ноля, сразу переходите к пункту 7.

Перейдем к настройке Mikrotik

1. Подключение к роутеру Mikrotik.

Подключимся к роутеру с помощью Winbox по MAC-адресу

Winbox.png

2. Сброс настроек роутера 

Настройку роутера будем осуществлять «с ноля» поэтому для начала сбросим предустановленные настройки:

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

reset_config.png

Переподключитесь к Mikrotik с помощью Winbox.

3. Настроим LAN порт и Wi-Fi. 4 порта Mikrotik будут задействованы под разных провайдеров, а 1 будет использован для локальной сети. Для локальной сети выберем порт 2, объединим его и Wi-Fi в единую сеть LAN.

Для этого создадим интерфейс Bridge и добавим в него интерфейсы ethe2 и wlan1.

Открываем меню Bridge, нажимаем +, в поле Name прописываем имя интерфейса, нажимаем ОК.

Переходим во вкладку Ports меню Bridge. Добавим порт ether2 и wlan1.

  • Для этого нажимаем +;
  • В списке Interface выберите ether2;
  • В списке Bridge выберите интерфейс bridge-local, нажмите ОК.
  • То же самое проделываем для интерфейса wlan1

4. Назначаем IP-адрес интерфейсу LAN:

  • Откройте меню IP — Addresses;
  • Нажмите кнопку +;
  • В поле Address введите IP-адрес и маску локальной сети 192.168.10.1/24;
  • В списке Interface выберите интерфейс локальной сети LAN, нажмите ОК.

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

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

Откройте меню IP — DHCP Server и нажмите кнопку DHCP Setup

  • В первом окне выбираем интерфейс LAN, нажимаем Next;
  • Во втором окне настраивается сеть для раздачи DHCP, оставим без изменения, Next;
  • В третьем окне указывается адрес шлюза, оставляем без изменения, Next;
  • Диапазон IP адресов, можно оставить без изменения, Next;
  • Время аренды DHCP, можно оставить без изменения, Next, OK.

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

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

  • Откройте вкладку Security Profiles и сделайте двойной щелчок левой кнопкой мыши по default;
  • В появившемся окне в списке Mode выберите dynamic keys;
  • Поставьте галочку напротив регистрации по протоколу WPA2 PSK;
  • В поле WPA2 Pre-Shared Key введите пароль для подключения к Wi-Fi точке; OK.

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

  • Откройте вкладку Interfaces и сделайте двойной щелчок левой кнопкой мыши на Wi-Fi интерфейсе wlan1, чтобы зайти в его настройки;
  • Перейдите на вкладку Wireless, в списке Mode выберите режим работы ap bridge;
  • В поле SSID укажите имя Wi-Fi сети, ОК. Также можете настроить другие параметры.

7. Даем название интернет-портам

Удобнее каждому из интернет-портов дать имена отличные от ether1, ether3…

Для этого перейдите в меню Interfaces, щелкните на интерфейс ether1 и в поле name вкладки General измените имя на ISP1.

Повторите для остальных интернет-портов, называя их ISP2, ISP3, ISP4. LAN-порт ether2 оставим без изменения.

8. Настройка портов интернета

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

  • Откройте меню IP — DHCP Client;
  • Нажмите кнопку Add (синий крестик);
  • В появившемся окне в списке Interface выберите интерфейс ISP1;
  • Add Default Route выберите No; ОК;
  • Повторяем для остальных портов ISP.

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

9. Настройка Firewall NAT.

Перейдем в меню IP — Firewall, на вкладку NAT.

Для подмены IP адресов при направлении от клиента Микротика к роутеру-провайдеру, нам нужно создать следующее правило:

  • Нажимаем + чтобы добавить правило
  • На вкладке General в поле Chain вводим srcnat, в поле Src. Address — IP адреса нашей сети LAN 192.168.10.0/24
  • На вкладке Action выбираем masquerade

Здесь же нам нужно создать еще несколько NAT правил для каждого интернет интерфейса (ISP1-4)

  • Снова нажимаем +
  • На вкладке General в поле Chain вводим srcnat, в поле Out. Interface — ISP1
  • На вкладке Action выбираем masquerade
  • Повторяем для остальных ISP.

10. Настройка Firewall Mangle. Маркировка трафика.

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

  • Жмем + чтобы создать правило
  • На вкладке General в поле Chain вводим Input
  • В поле In Interface — ISP1
  • Переходим на вкладку Action
  • В поле Action выбираем Mark_connection
  • В поле New Connection Mark вписываем cin_ISP1
  • Ставим галочку Passtrough
  • Повторяем для остальных интерфейсов ISP

Мы настроили маркировку входящего трафика. Теперь нам нужно промаркировать исходящий.

  • Снова добавляем новое правило +
  • На вкладке General в поле Chain выбираем output
  • В поле Connection mark: cin_ISP1
  • Переходим на вкладку Action
  • В поле Action выбираем Mark_routing
  • В поле New Connection Mark вписываем rout_ISP1
  • Убираем галочку Passtrough
  • Повторяем для остальных интерфейсов ISP

Осталось создать еще одно правило для внутрисетевого трафика

  • Снова добавляем новое правило +
  • На вкладке General в поле Chain выбираем prerouting
  • В поле Src. Address: IP адреса нашей сети LAN: 192.168.10.0/24
  • Переходим на вкладку Action
  • В поле Action выбираем mark_routing
  • В поле New connection mark вводим mixed
  • Ставим галочку Passthrough — OK

В итоге у нас должно получиться 9 правил:

11. Настройка маршрутов.

Перейдем в меню IP-Routes. Добавим default gateway в каждую из промаркированных таблиц маршрутизации.

  • Жмем +
  • На вкладке General в поле Dst. Address вводим адрес 0.0.0.0/0   — это будет означать выход в интернет
  • в поле Gateway вводим IP первого роутера — провайдера, у нас это 192.168.1.1
  • В Поле Check Gateway выбираем ping — для проверки интернет-порта
  • Type — unicast
  • Distance: 1
  • Routing Mark: rout_ISP1
  • Остальные поля должны заполниться по умолчанию, на всякий случай сверяем с рисунком
  • Повторяем для остальных интернет-портов, важно чтобы соответствующий IP роутера-провайдера соответствовал номеру ISP
  • Добавляем еще один маршрут +
  • в поле Dst. Address вводим адрес 0.0.0.0/0
  • В поле Gateway нужно добавить 4 IP-адреса всех наших провайдеров. Добавлять адрес можно черным треугольником справа
  • Distance: 1
  • Routing Mark: mixed
  • Сверяем параметры с рисунком — ОК

В итоге получили 5 новых правил маршрутизации, 1 создается автоматически

На этом настройка завершена. Микротик периодически переключает основной шлюз на разных операторов, тем самым распределяя нагрузку, при этом не разрывает текущие сессии. Получается чрезвычайно надежный канал связи. Выход из строя любого из провайдеров никак не повлияет на работу. Единственный вариант пропадания интернета в таком решении — одновременный отказ всех четырех операторов, что крайне маловероятно.

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

Содержание

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

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

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

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

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

2providers1.jpg

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

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

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

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

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

2providers2.jpg

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

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

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

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

ISP1 будет

2providers3.jpg

ISP22providers4.jpg

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

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

2providers4-1.jpg

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

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

2providers5.jpg

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

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

#включем маршрут с комментарием "ISP1" (основной канал)  /ip route set [find comment="ISP1"] disabled=no  #отключаем маршрут с комментарием "ISP2"(резервный канал)  /ip route set [find comment="ISP2"] disabled=yes  

2providers6.jpg

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

#отключаем маршрут с комментарием "ISP1"(резервный канал)  /ip route set [find comment="ISP1"] disabled=yes   #включаем маршрут с комментарием "ISP1" (основной канал)  /ip route set [find comment="ISP2"] disabled=no

2providers7.jpg

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

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

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

2providers8.jpg

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

2providers9.jpg

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

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

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

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

Используемые источники:

  • https://setiwik.ru/mikrotik-настройка-резервного-канала-в-routeos/
  • https://micro-drive.ru/stati/balansirovka-i-rezervirovanie-interneta-ot-4x-operatorov-na-mikrotik
  • https://itproffi.ru/mikrotik-2-provajdera-rezervirovanie-i-balansirovka/

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации