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

Время на прочтение
4 мин

Количество просмотров 95K

Предположим, что у нас есть два интернет провайдера. Первый получает настройки по 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»

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

Инструкция по настройке 2-ух провайдеров на роутере MikroTik. В описании буду рассмотрены два распространённых типа работы двух провайдеров: резервирование и балансировка.

Резервирование(автопереключение) – при обрыве провайдера-1, весь интернет трафик переключается на провайдера-2;

Балансировка – тип настройки, когда две линии интернета работают одновременно. Распределение между провайдером-1 и провайдером-2 может быть в ручном или автоматическом режиме.

Содержание

  1. Подготовка работы с 2-мя провайдерами
  2. Режим резервирования
  3. Pежим балансировки
    • Ручная балансировка
    • Автоматическая балансировка NTH
    • Балансировка PCC
  4. Провайдер меняет шлюз в DHCP клиенте
  5. Одновременный проброс с двух провайдеров
  6. Задать вопрос по настройке 2-ух провайдеров

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

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

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

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

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

Настройка находится Bridge→Ports

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

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

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

  • DHCP client
  • Статический IP
  • PPPoE client

DHCP client

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

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

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

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

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

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

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

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

PPPoE client

Настройка находится PPP→Interface

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

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

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

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

Настройка находится Interfaces→Interface List

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

Список WAN должен включать интерфейсы двух провайдеров для того, чтобы правило Masquerade в IP→Firewall→NAT работало сразу для двух провайдеров

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

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

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

  • DHCP client
  • PPPoE client

DHCP client

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

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

PPPoE client

Настройка находится PPP→Interface

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

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

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

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

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

В Servers стоит указать общедоступные DNS сервера типа Cloudflare DNS и удалить любые другие DNS сервера.

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

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

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

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

  • DHCP client
  • PPPoE client

DHCP client

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

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

PPPoE client

Настройка находится PPP→Interface

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

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

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

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

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

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

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

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

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

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

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

PPPoE client

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

За исходную позицию будут приняты настройки, описанные в разделе “Подготовка для работы с двумя провайдерами в MikroTik  

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Все остальные действия по настройке маршрутизации, Firewall и Netwatch будут аналогичны описанных в разделе “Ручная балансировка 2 провайдеров в MikroTik “.

Настройка балансировки двух провайдеров Per Connection Classifier (PCC) раздела Mangle

Per Connection Classifier (PCC) позволят разделить трафик на равные потоки с возможностью держать пакеты с определенным набором параметров в одном потоке (определяется в наборе параметров из src-address, src-port, dst-address, dst-port)

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

/ip firewall mangle
add action=mark-connection chain=prerouting dst-address=\
!192.168.2.0/24 new-connection-mark=To-ISP-1-Connection \
per-connection-classifier=both-addresses-and-ports:2/0 src-address=\
192.168.2.0/24
add action=mark-routing chain=prerouting connection-mark=To-ISP-1-Connection \
new-routing-mark=To-ISP-1 src-address=192.168.2.0/24
add action=mark-connection chain=prerouting dst-address=\
!192.168.2.0/24 new-connection-mark=To-ISP-2-Connection \
per-connection-classifier=both-addresses-and-ports:2/1 src-address=\
192.168.2.0/24
add action=mark-routing chain=prerouting connection-mark=To-ISP-2-Connection \
new-routing-mark=To-ISP-2 src-address=192.168.2.0/24

Все остальные действия по настройке маршрутизации, Firewall и Netwatch будут аналогичны описанных в разделе “Ручная балансировка 2 провайдеров в MikroTik “.

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

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

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

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

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

{
:local rmark "ISP-2"
:local count [/ip route print count-only where comment="ISP-2"]
:if ($bound=1) do={
:if ($count = 0) do={
/ip route add gateway=$"gateway-address" comment="ISP-2" distance=2
} else={
:if ($count = 1) do={
:local test [/ip route find where comment="ISP-2"]
:if ([/ip route get $test gateway] != $"gateway-address") do={
/ip route set $test gateway=$"gateway-address"
}
} else={
:error "Multiple routes found"
}
}
} else={
/ip route remove [find comment="ISP-2"]
}
}

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

{
:local rmark "ISP-1"
:local count [/ip route print count-only where comment="ISP-1"]
:if ($bound=1) do={
:if ($count = 0) do={
/ip route add gateway=$"gateway-address" comment="ISP-1" distance=1
/ip route add gateway=$"gateway-address" comment="Netwatch" distance=1 dst-address=8.8.4.4
} else={
:if ($count = 1) do={
:local test [/ip route find where comment="ISP-1"]
:if ([/ip route get $test gateway] != $"gateway-address") do={
/ip route set $test gateway=$"gateway-address"
}
} else={
:error "Multiple routes found"
}
}
} else={
/ip route remove [find comment="ISP-1"]
/ip route remove [find comment="Netwatch"]
}
}

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

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

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

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

/ip firewall mangle 
add chain=forward action=mark-connection new-connection-mark=From-ISP-1 in-interface=pppoe-out1
add chain=prerouting action=mark-routing new-routing-mark=To-ISP-1 passthrough=no connection-mark=From-ISP-1 in-interface=bridge
add chain=forward action=mark-connection new-connection-mark=From-ISP-2 in-interface=ether2
add chain=prerouting action=mark-routing new-routing-mark=To-ISP-2 passthrough=no connection-mark=From-ISP-2 in-interface=bridge

где

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

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

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

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

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

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

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

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

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

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

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

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

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

4. Далее нажмите кнопку Yes.

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

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

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

  1. Откройте меню IP — DHCP Client;
  2. Нажмите кнопку Add (синий крестик);
  3. В появившемся окне в списке Interface выберите интерфейс ether1;
  4. Нажмите кнопку OK.

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

Проверим, что есть подключение к интернет. Откройте меню New Terminal и введите команду ping ya.ru. Как видите, пинг есть.

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

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

  1. Откройте меню IP — Addresses;
  2. Нажмите кнопку Add (синий крестик);
  3. В появившемся окне в поле Address пропишите статический IP адрес / маску подсети 20.20.20.20/24 ;
  4. В списке Interface выберите интерфейс ether2;
  5. Нажмите кнопку OK.

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

  1. Откройте меню IP — Routes;
  2. Нажмите кнопку Add (синий крестик);
  3. В появившемся окне в поле Gateway пропишите IP адрес шлюза 20.20.20.1;
  4. Нажмите кнопку OK.

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

  1. Откройте меню IP — DNS;
  2. В поле Servers пропишите IP адрес DNS сервера, например 8.8.8.8;
  3. Поставьте галочку Allow Remote Requests;
  4. Нажмите кнопку OK.

Проверим, что есть подключение к интернет. Отключите кабель первого провайдера, откройте меню New Terminal и введите команду ping ya.ru.

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

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

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

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

  1. Откройте меню Interface;
  2. Сделайте двойной щелчок мыши по интерфейсу ether4;
  3. В списке Master Port выберите ether3 (главный порт нашего свитча);
  4. Нажмите кнопку ОК.

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

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

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

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

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

  1. Откройте меню Bridge;
  2. Нажмите кнопку Add (синий крестик);
  3. В поле Name пропишите имя интерфейса bridge-local;
  4. Нажмите кнопку OK.

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

  1. Перейдите на вкладку Ports и нажмите кнопку Add (синий крестик);
  2. В списке Interface выберите главный ethernet порт свитча ether3;
  3. В списке Bridge выберите интерфейс bridge-local;
  4. Нажмите кнопку OK.

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

  1. На вкладке Ports нажмите кнопку Add (синий крестик);
  2. В списке Interface выберите беспроводной интерфейс wlan1;
  3. В списке Bridge выберите интерфейс bridge-local;
  4. Нажмите кнопку OK.

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

  1. Откройте меню IP — Addresses;
  2. Нажмите кнопку Add (синий крестик);
  3. В поле Address введите IP-адрес и маску локальной сети 192.168.88.1/24;
  4. В списке Interface выберите интерфейс локальной сети bridge-local;
  5. Нажмите кнопку OK.

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

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

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

2. В списке DHCP Server Interface выберите bridge-local и нажмите Next;

3. В этом окне выбирается сеть для раздачи DHCP. Оставляем без изменений и нажимаем кнопку Next;

4. В следующем окне указывается адрес шлюза. Нажмите кнопку Next;

5. В этом окне прописывается диапазон IP адресов, которые будет раздавать DHCP сервер. Нажмите кнопку Next;

6. Далее вводятся адреса DNS серверов. Нажмите кнопку Next;

7. Здесь задается время резервирования IP адресов. Нажмите кнопку Next;

8. Настройка DHCP сервера успешно завершена. Нажмите кнопку OK.

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

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

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

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

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

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

  1. Откройте вкладку Interfaces и сделайте двойной щелчок левой кнопкой мыши на Wi-Fi интерфейсе wlan1, чтобы зайти в его настройки;
  2. Перейдите на вкладку Wireless;
  3. В списке Mode выберите режим работы ap bridge;
  4. В списке Band выберите 2GHz-B/G/N (в каких стандартах будет работать Wi-Fi точка);
  5. В списке Channel Width укажите ширину канала 20/40Mhz HT Above, чтобы беспроводные устройства смогли подключиться на максимальной скорости с шириной канала 40 МГц;
  6. В списке Frequency укажите, на какой частоте будет работать Wi-Fi;
  7. В поле SSID укажите имя Wi-Fi сети;
  8. Нажмите кнопку OK.

Настройка NAT

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

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

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

7. В списке Action выберите masquaerade;
8. Нажмите OK.

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

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

5. В списке Action выберите masquaerade;
6. Нажмите OK.

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

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

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

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

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

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

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

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

  1. Откройте меню IP — Routes;
  2. Кликните левой кнопкой мыши по маршруту первого провайдера со шлюзом 10.10.10.1 unrechable;
  3. Нажмите кнопку удалить (красный минус).

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

  1. Сделайте двойной щелчок левой кнопкой мыши по маршруту второго провайдера;
  2. В поле Gateway должен быть указан шлюз второго провайдера 20.20.20.1;
  3. В поле Distance ставим приоритет 2;
  4. Нажмите кнопку Comment;

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

7. Выберите маршрут второго провайдера, кликнув по нему левой кнопкой мыши, и деактивируйте, нажав кнопку с красным крестиком. После этого маршрут станет серого цвета.

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

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

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

  1. Откройте меню IP — Routes;
  2. Нажмите кнопку добавить (синий плюсик);
  3. В поле Gateway укажите шлюз первого провайдера 10.10.10.1;
  4. В поле Distance ставим приоритет 3;
  5. Нажмите Comment;

6. В поле напишите комментарий ISP1.
7. Нажмите кнопку OK и еще раз OK в следующем окне.

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

  1. Нажмите кнопку добавить (синий плюсик);
  2. В поле Dst. Address укажите IP-адрес сервера Google 8.8.4.4;
  3. В поле Gateway укажите шлюз первого провайдера 10.10.10.1;
  4. В поле Distance ставим приоритет 1;
  5. Нажмите Comment;

6. Напишите комментарий GOOGLE.
7. Нажмите кнопку OK и еще раз OK.

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

  1. Откройте меню IP — Firewall и перейдите на вкладку Filter Rules;
  2. Нажмите кнопку добавить (синий плюсик);
  3. В списке Chain выберите Output;
  4. В поле Dst. Address введите адрес сервера 8.8.4.4;
  5. В списке Out. Interface выберите ether2;
  6. Перейдите на вкладку Action;

7. В списке Action выберите Drop;
8. Нажмите кнопку OK.

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

  1. Откройте меню Tools — Netwatch;
  2. Нажмите кнопку добавить (синий плюсик);
  3. В поле Host укажите сервер Google 8.8.4.4, который утилита будет пинговать;
  4. В поле Interval укажите интервал времени 00:00:05, через который будет пинговаться сервер. Для отладки работы скриптов поставим небольшой интервал 5 секунд. После отладки переключения между двумя провайдерами увеличим интервал до 30 секунд.
  5. Перейдите на вкладку Down;

6. На вкладке Down вставляем скрипт /ip route enable [find comment=»ISP2″] Этот скрипт будет активировать маршрут через второго провайдера, если перестанет пинговаться сервер Google;
7. Перейдите на вкладку Up;

8. На вкладке Up вставляем скрипт /ip route disable [find comment=»ISP2″] Этот скрипт будет деактивировать маршрут через второго провайдера, если восстановится связь через первого провайдера;
9. Нажмите кнопку OK.

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

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

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

2. Отсоедините от роутера кабель 1-го провайдера;
3. В Routes маршрут второго провайдера должен активироваться.

4. Проверьте, что на компьютерах есть интернет.
5. Теперь подключаем кабель первого провайдера обратно.
6. В Routes маршрут второго провайдера должен деактивироваться.

7. Проверьте, что на компьютерах есть интернет.

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

  1. Откройте меню Tools — Netwatch;
  2. Сделайте двойной щелчок левой кнопкой мыши по 8.8.4.4;
  3. На вкладке Host в поле Interval укажите интервал времени 00:00:30 — 30 секунд.
  4. Нажмите кнопку OK.

На этом настройка маршрутизатора Микротик на два провайдера завершена.

© technotrade

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

Устройства от латвийской компании MikroTik —
гибкие в настройке, функциональные решения для домашних и корпоративных
сетей. Операционную систему RouterOS можно так же установить на
различные аппаратные платформы, включая x86.

Дано:

  • локальная сеть 192.168.1.0/24 — роутер выступает в роли DNS сервера и шлюза. Адреса в локальной сети присваиваются вручную;
  • сеть провайдера 1.1.1.0/29, шлюз — 1.1.1.6, DNS1 — 1.1.10.1, DNS2 — 1.1.10.2;
  • сеть провайдера 1.1.2.0/29, шлюз — 1.1.2.6, DNS1 — 1.1.10.1, DNS2 — 1.1.10.2

Рис.1 - Схема сети

Схема сети

Настраивать будем на компьютере с адресом в локальной сети 192.168.1.10. Для примера возьмем роутер модели RB951G-2HnD.

Порт 1 и 2 будем использовать под интернет провайдеров, а остальные под локальную сеть.

Теперь Вы можете подсоединить все патч-корды с соответствующими
портами. Я же предпочитаю первоначальную настройку производить на
отдельном ноутбуке, соединив LAN порт ноута с пятым портом роутера.
Подключаться будем через программу Winbox. Скачать можно с самого
роутера, введя в браузере адрес по умолчанию «192.168.88.1» или с mikrotik.com.
Сразу можно скачать обновление для RouterOS — ветки Bugfix only. На
момент написания статьи это была версия 6.34.6 (правки при 6.39.3).

Итак, запустим Winbox при подключеном роутере.

На вкладке Neighbors автоматически выполняется поиск всех видимых
устройств на RouterOS в сети. Подключаемся по mac-адресу к найденному
устройству пользователем admin с пустым паролем.

winbox_neighbors

После входа появится окно описания конфигурации по умолчанию. Нажимаем «Remove Configuration»

reset-configuration

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

Далее как минимум необходимо задать пароль для пользователя.
Рекомендуется создать своего пользователя, а встроенную учетную запись
отключить, что мы и сделаем. Идём в меню System -> Users и добавляем
пользователя, нажав на плюс (+). Name — на Ваш выбор, Group — права
пользователя ставим в full, Password — на Ваш выбор. Также можно
перечислить адреса, с которых разрешено подключаться к роутеру, в опции
Allowed Address. Жмём ОК. Встроенную учетную запись отключаем или
удаляем нажав на (x) или (-) соответственно. Переподключаемся под новым
пользователем.

Управление учётными записями

Управление учётными записями

Терминал. Управление учётными записями

Теперь определимся с сетевыми интерфейсами, перейдя в меню Interfaces.
Как было описано выше, первый и второй порт роутера используем под wan
порты, а остальное выпускаем в локальную сеть, указывая для портов с 3го
по 4й в поле Master Port 5й порт. Для удобства к названию портов были
приписаны описания
(ether1-wan1, ether2-wan2, ether3-slave, ether4-slave, ether5-lan-master). Последний
порт был выбран мастером не случайно. Если возникнет необходимость
добавить еще один wan интерфейс, то мы просто уберем зависимость
третьего порта от мастер-порта и настроим его под свои нужды.
Необходимость переназначать мастер порт не возникнет, в отличии от
варианта с присвоением роли мастер-порта третьему порту роутера.

Настроим интерфейсы

Терминал. Настройка интерфейсов

При необходимости использовать wi-fi-интерфейс потребуется создать
bridge интерфейс и добавить в него мастер-пор ethernet интерфейсов и
wi-fi интерфейс  (на своём оборудовании wi-fi я отключил, так как в нём
не было необходимости). В данной статье используется так называемая
switch-коммутация портов, которая обладает большей производительностью
по сравнению с bridge-коммутацией. В приведенном роутере используется
один switch-микроконтроллер на 5 портов. При наличии более одного
switch-контроллера на каждый контроллер назначается один мастер порт,
затем они объединяются в bridge, если есть необходимость объединить их в
одно пространство. Подробнее о различиях способов коммутации портов
можно прочитать здесь.
Ниже приведен пример создания bridge-интерфейса и добавление в него мастер-интерфейса.

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

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

Добавим порт в bridge-интерфейс

Добавление порта в bridge-интерфейс

Терминал. Работа с bridge-интерфейсом

Теперь укажем ip адреса для интерфейсов. Переходим в меню IP ->
Addresses и добавляем адреса, вписывая его в поле Address с маской и
выбирая интерфейс в поле Interface. Адрес сети в поле Network можно не
вводить т.к. он заполнится автоматически, но при изменении адреса не
забудьте проверить это поле. При объединении свитч-группы портов и wifi
интерфейса в bridge — ip адрес присваивается на bridge интерфейс. В моём
случае адрес присваивается мастер-порту.

Адрес для wan1

Адрес для wan1

Адрес для wan2

Адрес для wan2

Адрес роутера в локальной сети

Терминал. Добавление IP-адресов

Адреса присвоены

Т.к. у нас будет два wan-интерфейса и статические адреса,
настраиваемые на интерфейсах вручную, то все маршруты мы напишем
вручную. В случае настройки wan-интерфейса, например, на ppp
подключение, то не забудьте убрать галочку ‘Add Default Route’.

В меню IP-> DNS укажем DNS-серверы и поставим галочку на Allow
Remote Requests (если оно Вам надо).  Тут же можно создать запись с
именем нашего роутера, предварительно изменив его (имя) в меню System
-> Identity.

Настроим DNS

Настроим DNS

Терминал. Идентификация и DNS серверы

В случае классической настройки роутера с одним ISP WAN далее следовало
бы указать шлюз, добавить стандартные правила Firewall’а и правило NAT
для преобразования адресов. Но так как мы имеем дела с двумя ISP, то
следует сначала настроим Firewall и NAT, а так же пометим интерфейсы и
трафик для корректной маршрутизации.
Для каждого wan интерфейса создаём по правилу в IP -> Firewall на
вкладке NAT. В поле Chain на вкладке General выбираем srcnat,
Src.Address — пишем локальную сеть с маской, Out. Interface — выбираем
wan интерфейс. Если провайдер выдает динамически изменяющийся ip адресс,
то на вкладке Action в поле Action выбираем masquerade. При статическом
IP адресе, как в текущем примере, выбираем Action — src-nat и в поле To
Address пишем адрес wan интерфейса. Нажимаем ОК.

Теперь переходим на вкладку Filter Rules и добавляем набор
стандартных правил. В графической оболочке принцип настройки такой же
как и при добавления правила NAT — на вкладке General выбираем параметры
и цепочку, а на вкладке Action выбираем действие. Ниже привожу набор
команд для термина, из которых понятно что и как настроить в каждом
правиле. Так же можно скопировать и выполнить в окне терминала (кнопка
New Terminal) одним списком.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

# переходим на уровень IP -> Firewall -> Filter

/ip firewall filter

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

add chain=input connection-state=established,related

# разрешаем ping для цепочки input

add chain=input protocol=icmp

# запрещаем недействительные соединения для цепочки input

add action=drop chain=input connection-state=invalid

# разрешаем доступ из локальной сети к роутеру

add chain=input src-address=192.168.1.0/24

# всё остальное запрещаем для цепочки input

add action=drop chain=input

# включим fasttrack для установленных и связанных соединений в цепочки forward

add action=fasttrack-connection chain=forward connection-state=established,related

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

add chain=forward connection-state=established,related

# разрешаем ping для цепочки forward

add chain=forward protocol=icmp

# запрещаем недействительные соединения для цепочки forward

add action=drop chain=forward connection-state=invalid

# разрешаем доступ из локальной сети в интернет

add chain=forward src-address=192.168.1.0/24

# всё остальное запрещаем для цепочки forward

add action=drop chain=forward

Для установленных и связанных соединений в цепочке forward добавлено
правило fasttrack connection. Это правило позволит разгрузить
процессор маршрутизатора, отключив (пропустив) дополнительную обработку
пакетов в установленных и связанных соединениях. Подробнее на MikroTik Wiki.

В рассматриваемом примере в локальной сети находится сервер, с
которым будет вестись работа извне. Для выполнения этой задачи
необходимо чтобы ответы на запросы, пришедшие по какому-либо из двух
wan-интерфейсов, отправлялись на тот же самый интерфейс.

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

Сразу добавим статические маршруты до шлюзов каждого из провайдера,
плюс по маршруту на провайдера для соединений с метками маршрутизации.
Маршрут до гейтов провайдеров можно указать одним правилом с одним на
всех значением Distance, таким образом получив своеобразную балансировку
нагрузки по wan интерфейсам. [По резервированию и Check Gateway чуть
позже]

Маршрут до гетов провайдеров. Балансировка нагрузки

Маршрут до гейтов провайдеров. Балансировка нагрузки

В каждом маршруте для помеченных соединений я указывал IP адреса
интерфейсов wan1 и wan2. В зависимости от типов настроенных соединений
для wan’ов можно указывать IP интерфейса или сам интерфейс. Для
статичных адресов метод с интерфейсами не заработал, так как адреса
статикой были присвоены на бродкастные интерфейсы и с другой стороны wan
интерфейса находятся медиаконвертеры провайдеров без proxy-arp на
интерфейсах. В поле Routing Mark выбираем соответствующую метку.

Маршрут для помеченных пакетов через wan1

Маршрут для помеченных соединений через wan1

Маршрут для помеченных пакетов через wan2

Маршрут для помеченных соединений через wan2

Терминал. Добавляем маршруты

В IP -> Firewall на вкладке Mangle создаём правила для двух
провайдеров, которые будут помечать соединения идущие по цепочке forward
с wan интерфейсов. На вкладке General в поле Chain выбираем forward, в
поле In. Interface выбираем ether1-wan1, затем на вкладке Action
выбираем mark connection, в поле New Connectio Mark пишем произвольную
метку, например wan1-con. Аналогичным образом создаём правило для wan2.

Помечаем соединения для wan1

Помечаем соединения для wan1

Помечаем соединения для wan2

Помечаем соединения для wan2

Следом создаем еще два правила на вкладке Mangle — для помеченных
ранее соединений указываем метки для маршрутизации, чтобы помеченные
ранее соединения продолжали работать через wan интерфейсы, через которые
были установлены (соединения). На вкладке General в поле Chain
выбираем prerouting, в поле Src.Address пишем 192.168.1.0/24 (если за
маршрутизатором несколько подсетей, то удобно занести их в
Firewall->Address Lists и затем указать созданый лист на вкладке
Advanced в поле Src. Address List), в поле Connection Mark выбираем
метку нашего соединения — wan1-con. Переходим на вкладку Action, в поле
Action выбираем mark routing, в поле New Routing Mark пишем wan1-rt.
Аналогично создаем правило для wan2, выбирая wan2-con и вписывая wan2-rt
для Connection Mark и New Routing Mark соответственно.

mikrotik_mark_rt_wan1

Добавляем метку маршрутизации для соединений через wan1

mikrotik_mark_rt_wan2

Добавляем метку маршрутизации для соединений через wan2

Теперь подобным образом создаём пары правил для каждого интерфейса,
чтобы корректно обрабатывать соединения извне с самим маршрутизатором
(например SSH, WinBox, VPN). Для каждого wan выбираем Chain — input,
Dst.Address — ip адрес wan интерфейса, In/Interface — wan интерфейс,
Action — mark connection, New Connection Mark — текстовую марку,
уникальную для каждого правила.

Теперь похожим образом добавляем помеченным маршрутам метку
маршрутизации. Цепочка output, Connection Mark — присвоенная метка
правилом выше для wan интерфейса. Action — mark routing, New Routing
Mark — метка для наших маршрутов через wan интерфейсы.

Пометим
собственные соединения маршрутизатора (DNS запросы от маршрутизатора к
внешним серверам, проверка пакетов в System->Packages). Цепочка
output, Src.Address — адрес wan интерфейса, Action — mark connection,
New Connection Mark — уникальная текстовая метка для каждого wan
интерфейса.

И добавляем метку маршрутизации. Цепочка output, Src.Address — адрес
wan интерфейса, Connection Mark — присвоенная метка правилом выше для
wan интерфейса. Action — mark routing, New Routing Mark — метка для
наших маршрутов через wan интерфейсы.

Терминал. Помечаем соединения и маршруты

Вот и всё. Выпустив роутер в сеть проверяем доступность шлюзов
провайдера — посмотрев на список маршрутов в колонке Gateway к адресу
шлюза будет дописано reachable. Так же в списке появятся динамически
созданные маршруты. Проверяя работу из локальной сети можно отключая
интерфейсы wan в MikroTik’е или просто попеременно выдергивать по одному
проводу из wan’ов. Активные соединения, установленные ранее через
отключенный wan будут теряться, но перезапустив соединение (например
обновив страницу в браузере) оно будет установлено через оставшийся
активный wan.

В приведенном примере оба wan порта работают в подсетях одного
провайдера и DNS серверы для подсетей общие. Если провайдеры разные, то
скорее всего потребуется указать через какой интерфейс ходить до
конкретного DNS сервера, так как к каждому DNS серверу может быть
разрешен доступ только из сети соответствующего ему повайдера. Таким же
образом можно принудительно пускать трафик до конкретных ресурсов через
конкретный wan (например, если до ресурса во внешней сети соединение
оптимально по скорости/стабильности через конкретного провайдера, или
просто только из сети/ip-адреса этого провайдера разрешен доступ).

Перейдем в IP -> Firewall и на вкладке Address Lists создадим для
каждого wan по группе адресов (over-wan1 и over-wan2) попутно добавляя
необходимые адреса или подсети. Каждый последующий элемент добавляется с
выбором группы адресов из списка в поле Name. Допустим есть некий
сервис по адресу 110.110.110.1 до которого минимальные задержки у
провайдера на wan1, а для сервиса по адресу 220.220.220.2 такая же
история, но на wan2. В группу over-wan1 мы добавляем 110.110.110.1, а
в over-wan2 добавляем 220.220.220.2. Так же в соответствующие группы
нужно добавить адреса DNS серверов провайдера, если провайдеры разные. В
приведенном примере добавляем только адреса сервисов.

Создаём списки. Добавляем адреса

Создаём списки. Добавляем адреса

Теперь переходим на вкладку Mangle и создаём по правилу на каждый
список чтобы пометить маршруты. На вкладке General поле Chain =
prerouting и внизу ставим галочку на Connection State — new. Далее на
вкладке Advanced в поле Dst. Address List выбираем список адресов
(over-wan1) и на вкладке Action в поле Action выбираем mark routing, в
поле New Routing Mark выбираем метку (wan1-rt). Таким же образом создаём
правило для следующего списка.

mikrotik_addr_list_mang01

mikrotik_addr_list_mang02

mikrotik_addr_list_mang03

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

Вот  и всё на этом. Удачи Вам!

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

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

Содержание

  1. Резервирование
  2. Быстрый способ
  3. Комплексный способ
  4. Балансировка каналов

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

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

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

Допустим, шлюзом первого провайдера 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. Обязательно добавляем комментарий, он нам пригодится позже.

ISP1 будет

ISP2

Следующим создаем статический маршрут до 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-го провайдера и отключить через второго. Код будет следующим

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

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

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

Нажимаем «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.

Другие наши интересноые статьи:

  • Настройка сети windows 10 от роутера к компьютеру
  • Настройка роутеров tp link между собой
  • Настройка сервера в режиме роутера
  • Настройка роутеров модемов подключение интернет
  • Настройка сетевой карты на windows 10 на роутер

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии