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

Записки IT специалиста

Mikrotik и несколько провайдеров. Резервирование каналов

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

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

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

Данная статья предназначена для RouterOS 6.x

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

Mikrotik-2-ISP-Failover-002.png

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

Mikrotik-2-ISP-Failover-003.png

Важно! Во время выполнения операций с настройкой маршрутов у вас кратковременно пропадет доступ в интернет. Поэтому все указанные действия следует выполнять имея физический доступ к устройству.

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

Резервирование на основе дистанции маршрута

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

Для этого перейдем в IP — Routes и добавим маршрут к первому провайдеру: Dst. Address — оставляем по умолчанию — 0.0.0.0/0, Gateway — указываем шлюз первого провайдера, в нашем случае 192.168.3.1, включаем механизм проверки доступности шлюза — Check Gateway — ping, и устанавливаем административную дистанцию маршрута — Distance — 1.

Mikrotik-2-ISP-Failover-004.png

Эти же действия в терминале:

/ip route
add check-gateway=ping distance=1 gateway=192.168.3.1

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

/ip route
add check-gateway=ping distance=2 gateway=192.168.233.2

После этого у вас появится интернет и будет активен маршрут через первого провайдера:

Читайте также:  Wifi роутер репитер настроить d link

Mikrotik-2-ISP-Failover-006.png

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

Mikrotik-2-ISP-Failover-007.png

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

Резервирование при помощи рекурсивной маршрутизации

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

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

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

Переходим в IP — Routes и создаем маршрут: Dst. Address — 8.8.8.8 — узел для проверки первого провайдера, Gateway — 192.168.3.1 — шлюз первого провайдера, Distance — 1, Scope — 10. Обратите внимание на значение области (Scope), если вы оставите там значение по умолчанию — 30, то рекурсивная маршрутизация работать не будет! Затем добавим второй аналогичный маршрут, но уже к узлу 9.9.9.9 через шлюз второго провайдера.

Mikrotik-2-ISP-Failover-008.png

Тоже самое быстро в терминале:

/ip route
add distance=1 dst-address=8.8.8.8/32 gateway=192.168.3.1 scope=10
add distance=1 dst-address=9.9.9.9/32 gateway=192.168.233.2 scope=10

Теперь добавим рекурсивные маршруты для каждого из провайдеров со следующими настройками: Dst. Address оставляем по умолчанию — 0.0.0.0/0 , Gateway — 8.8.8.8 — высокодоступный узел для первого провайдера, Check Gateway — ping — указываем проверку доступности шлюза, Distance — 1 . Для второго провайдера все тоже самое, но Gateway — 9.9.9.9 и Distance — 2.

Mikrotik-2-ISP-Failover-009.png

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

/ip route
add check-gateway=ping distance=1 gateway=8.8.8.8
add check-gateway=ping distance=2 gateway=9.9.9.9

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

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

Mikrotik-2-ISP-Failover-010.png

При восстановлении работы первого провайдера обратное переключение произойдет автоматически.

Читайте также:  Работает ли стационарный компьютер через вай фай роутер

Резервирование при помощи Netwatch

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

/ip route
add comment=ISP1 distance=1 gateway=192.168.3.1
add comment=ISP2 distance=2 gateway=192.168.233.2

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

Mikrotik-2-ISP-Failover-012.png

Эти же действия в терминале:

/ip route
add distance=1 dst-address=8.8.8.8/32 gateway=192.168.3.1

Затем переходим в Tools — Netwatch и добавляем там новый узел, на закладке Host указываем адрес выбранного высокодоступного узла, при необходимости меняем интервал опроса.

Mikrotik-2-ISP-Failover-013.png

На закладе Up вводим следующий скрипт:

/ip route set [find comment="ISP1"] disabled=no
/ip route set [find comment="ISP2"] disabled=yes

Затем на закладке Down:

/ip route set [find comment="ISP1"] disabled=yes
/ip route set [find comment="ISP2"] disabled=no

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

В терминале все это можно быстро сделать при помощи «заклинания»:

/tool netwatch
add down-script="/ip route set [find comment=\"ISP1\"] disabled=yes\r\
\n/ip route set [find comment=\"ISP2\"] disabled=no" host=8.8.8.8 \
up-script="/ip route set [find comment=\"ISP1\"] disabled=no\r\
\n/ip route set [find comment=\"ISP2\"] disabled=yes"

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

Mikrotik-2-ISP-Failover-014.png

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

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Поддержи проект!

Подпишись на наш Telegram-канал

Или подпишись на наш Телеграм-канал:

Источник

Какой роутер выбрать для интернета от двух провайдеров?

Есть ли возможность как-то объединить этих провайдеров в одну сеть, чтобы использовать одновременно?

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

Будет прекрасно если есть роутеры с таким настройкам из коробки, сейчас у меня xiaomi router 3g.

Средний 2 комментария

Jump

Как вы себе это представляете?
Прописать для каких-то приложений чтобы ходили через определенного провайдера?
Или как?

В идеале должен выглядеть так:
подключил два кабеля в роутер
настроил его, указав максимальные скорости на загрузку и выгрузку для каждого провайдера
просто пользуюсь, получая скорость в районе (провайдер1 + провайдер2) * 80%

pindschik

Делал так на D-Link серии DSR. Работает.
Да, наверное можно на другом оборудовании, но я не отношусь к «свидетелям микротика».
Там 2 шт гигабитных WAN и несколько режимов балансировки трафика, в т.ч. «round robin» — он сам рандомно разбрасывает трафик по каналам. Однако нельзя указать скорости тарифа, и в случае перекоса — могут быть неувязочки.
Плюс надо понимать — на некоторых (немногих) сайтах — сессия привязывается через куки и IP одновременно. А IP в вашем случае — может скакать со временем (при паузе в трафике) между каналами, сессия будет вылетать.

Читайте также:  Новый вай фай роутер

Спасибо, купил TP-LINK TL-ER6020 работает как и хотел.
Там можно указывать максимальную скорость для каждого и будет пропорционально делить трафик.

Sanes

Никак не объединить. Если вы про суммирование. В теории можно, но это целая история и вагон костылей.
Если поочередно, то вроде у Микротика есть с двумя WAN.

Именно объединить (прозрачно) — нет.
Только разделить маршруты — типо торренты направо, тв налево.
Какие такие услуги на провайдере № 1,которые отменить нельзя?

Тогда оставьте сохраненный WAN-профиль в роутере для первого провайдера, но не активируйте его, а настройте еще одну настройку для второго провайдера. На первый профиль переключитесь (ну и кабель тоже), когда второй провайдер отвалится. Большей практической пользы от наличия двух каналов вы все-равно не извлечете.

romanu418, ниже дали верный совет, по этому поводу.
я никогда не соединял дом+моб провайдеров. я хочу выбирать когда хочу) пусть и дороже, пара сотен в месяц погоды то не делает

Jump

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

Да запросто — можно хоть десять использовать одновременно.
Вопрос лишь в том как делить трафик между провайдерами? Маркировать и отправлять в нужный?
Это дело затратное — роутер достаточно производительный нужен, на таких скоростях.

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

Я так понимаю что одновременно на одном устройстве не получиться использовать всю доступную скорость, это так?

Jump

Ну чтобы он делил, надо для начала указать ему каким образом делить.
Вы как хотите делить? По какому принципу?

Я так понимаю что одновременно на одном устройстве не получиться использовать всю доступную скорость, это так?

Почему не получится? Получится.

Так как у одного скорость 200, а у другого 250, то нагрузку в 45% и 55%. Или что-то похожее, даже если 50% на 50% будет норм.
То есть трафик будет делиться сразу на два направления, а ждать пока один будет максимально загружен. Ну если есть такой вариант.

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

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

Источник

Оцените статью
Adblock
detector