Home » Mikrotik » Резервирование канала в Микротик с lte модемом и переключение провайдера

Резервирование канала в Микротик с lte модемом и переключение провайдера

У меня появился небольшой опыт по настройке распределенной филиальной сети на базе всем известных роутеров. На основе этого опыта я расскажу, как организовать резервирование и автопереключение канала в Mikrotik с помощью второго провайдера через lte модем. Материал не претендует на лучшее и максимально эффективное решение, так как это просто мой личный опыт.

Если у вас есть желание научиться работать с роутерами микротик и стать специалистом в этой области, рекомендую по программе, основанной на информации из официального курса MikroTik Certified Network Associate. Курс стоящий, все подробности читайте по ссылке.

Данная статья является частью единого цикла статьей про Mikrotik.

Введение

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

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

2-й провайдер через lte usb модем

В качестве резервного провайдера было принято решение использовать lte модемы. Качество связи через них было приемлемое. Тарифные планы доступные, стоимость модемов невысокая. Mikrotik поддерживает большое количество usb модемов, так что не составляет труда подобрать подходящий вариант. Лично я сами модели 4g модемов не видел, так как настраивал все удаленно. Использовались различные устройства и производители. В рамках задачи по настройке резервирования это не принципиально, так как предложенный мной метод работает одинаково успешно практически с любым резервным провайдером. Не важно, будет ли он через usb модем или по проводу.

Пример одного из таких модемов, который использую лично я сам, и он отлично работает в Mikrotik. Модель - HUAWEI E3372h или МегаФон M150-2.

USB модем для Mikrotik

А вообще, список гарантированно поддерживаемых usb модемов можно посмотреть в официальной wiki - https://wiki.mikrotik.com/wiki/Manual:Peripherals. Прежде чем настраивать резервирвоание, рекомендую выполнить базовую настройку mikrotik.

Самодельный Mikrotik Wan Failover на 2 провайдера

Рассказываю, как будет работать мой импровизированный wan failover в mikrotik на два провайдера. Я использую скрипт, который выполняет следующие действия:

  1. Пингует 2 разных ip адреса в интернете, каждый через отдельный канал интернета. Для этого создаются статические маршруты.
  2. В случае, если пинг через основной канал не проходит, а через резервный идет, выполняется автоматическое переключение на резервный канал путем смены дефолтного маршрута.
  3. Далее снова выполняются эти же проверки. Как только пинги через основной канал проходят, выполняется переключение на него.
  4. Я одновременно с переключением канала обрываю все tcp и udp подключения, а так же пишу информацию в лог. Это не обязательно делать, но конкретно мне нужно было. Соединения обрывались, чтобы побыстрее переключились sip телефоны и vpn соединение на микротике. А в лог я пишу информацию, так как она уходит на отдельный сервер где анализируется в том числе системой мониторинга.

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

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

Автоматическое переключение на резервный канал

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

  • ether1 - основной интернет канал
  • lte1 - запасной через 4g

Первым делом добавим 2 статических маршрута до каких-то ip адресов в интернете, по которым будем определять наличие интернета на микротике. Я для этого использую dns серверы Яндекса - 77.88.8.1 и 77.88.8.8. Добавляем маршруты:

/ip route add distance=1 dst-address=77.88.8.8/32 gateway=10.0.0.1
/ip route add distance=1 dst-address=77.88.8.1/32 gateway=192.168.100.1

Проверка доступности каналов в интернет

10.0.0.1 шлюз usb модема
192.168.100.1 шлюз проводного интернета

Теперь проверим связь через каждый канал:

ping 77.88.8.1 interface=ether1
ping 77.88.8.8 interface=lte1

Если хотите на 100% убедиться, что пинги идут каждый по своему каналу, можете использовать свои сервера, запустив там tcpdump. Я время от времени делал проверки, когда нужно было наверняка знать внешний ip адрес каждого интерфейса. Иногда не было другой возможности, так как я все настраивал удаленно и информации о конкретных настройках интернета у меня не было.

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

Тестирование обоих каналов

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

Основной и резервный канал

В целом, вся подготовка закончена. Теперь идем в System -> Scripts и добавляем скрипт, который будет переключать каналы:

:local PingCount 5;
:local CheckIp1 77.88.8.1;
:local CheckIp8 77.88.8.8;
:local isp1 [/ping $CheckIp1 count=$PingCount interface="ether1"];
:local isp2 [/ping $CheckIp8 count=$PingCount interface="lte1"];
:local BackGw [/ip route get [find comment="lte1"] disable];
:if (($isp1=0) && ($isp2=$PingCount) && ($BackGw=true)) do={
/ip route disable [find comment="ether1"];
/ip route enable [find comment="lte1"];
:delay 2
:log warning "Set routes to lte1";
/ip firewall connection remove [ find protocol~"tcp" ];
/ip firewall connection remove [ find protocol~"udp" ];
:delay 2
:log warning "Set routes to lte1";
}
:local MainGw [/ip route get [find comment="ether1"] disable];
:if (($isp1=$PingCount) && ($MainGw=true)) do={
/ip route enable [find comment="ether1"];
/ip route disable [find comment="lte1"];
:delay 2
:log warning "Set routes to ether1";
/ip firewall connection remove [ find protocol~"tcp" ];
/ip firewall connection remove [ find protocol~"udp" ];
:delay 2
:log warning "Set routes to ether1";
}

Скрипт в процессе эксплуатации (пару месяцев тестов на паре десятков филиалов) претерпевал различные изменения, пока не получился подходящий для моей ситуации вариант. Немного поясню некоторые моменты.

:local PingCount 5; Только после 5-ти подряд успешных пингов мы начинаем что-то делать. Тут можно и 3 поставить, но были частенько ложные переключения туда-сюда, так что поменял на 5.
:if (($isp1=0) && ($isp2=$PingCount) && ($BackGw=true)) do={ Если пинг по основному каналу не идет вообще, а по второму прошли все пинги и он отключен, то переключаемся на него.
:delay 2
:log warning "Set routes to lte1";
После переключения каналов жду 2 секунды и пишу сообщение в лог. Мне это нужно, так как лог отправляется на удаленный syslog сервер. Если не подождать немного, то часто сообщения не доставлялись.
/ip firewall connection remove [ find protocol~"tcp" ]; Удаляю все существующие tcp, а потом и udp подключения. Нужно, чтобы sip телефоны перерегистрировались по новому каналу. Если соединения не сбросить, будут висеть пока время timeout не наступит. Оно может быть и 10 и 30 минут.
:delay 2
:log warning "Set routes to lte1";
Далее еще раз пишу сообщение в лог. Иногда первая запись все равно не попадает на syslog сервер. Я так и не понял до конца почему. Для надежности отправляю еще раз. Мне важно получить информацию о переключении, так как на нее завязан триггер системы мониторинга. Она оповещает о переключениях.
:if (($isp1=$PingCount) && ($MainGw=true)) do={ Если по основному каналу прошли все пинги и он отключен, то переключаемся на него.

Все остальное вроде бы понятно и так, при обычном осмотре скрипта. Пингуем, смотрим, прошли ли пинги. Если нет, переключаемся, если да, то ничего не делаем. Принцип достаточно простой. Его можно встретить в огромном количестве статей в интернете на тему mikrotik failover. Я только добавил сброс соединений и записи в лог файл.

Сохраните этот скрипт и запустите. Очень рекомендую это делать, имея физический доступ к устройству. Если что-то пойдет не так, доступ к микротику потеряете. У меня один раз такое случилось еще в момент подготовки и тестирования этого решения. Потом уже наловчился, все моменты проработал и настраивал все удаленно. Ни одного фейла не было, чтобы на устройстве совсем пропал интернет. Пару раз пришлось звонить на место и через AnyDesk или TeamViewer подключаться локально к микротику.

Страховал себя следующим образом. Добавлял еще один скрипт:

/system backup save password="secret" name=disconnect
delay 240
/system backup load name=disconnect.backup password="secret"

Запускал его и выполнял все потенциально опасные действия. Если все хорошо и связь не пропадала, то прерывал выполнение скрипта на вкладке Jobs.

Прерывание работы скрипта

Если этого не сделать, то через 240 секунд старая конфигурация, сделанная при запуске скрипта, загрузится и устройство ребутнется. Удаленный доступ к нему восстановится.

В завершении всей настройки проверки и переключения на резервный канал в mikrotik добавляем скрипт в планировщик. Для этого идем в System -> Scheduler и добавляем задание на выполнение каждые 30 или 60 секунд. Интервал подберите сами.

Автоматическое переключение на резервный канал

Вот и все. Переключение на резервного провайдера настроено. Если интернет через основной wan интерфейс перестанет работать, произойдет переключение на lte интерфейс.

Заключение

Еще раз напоминаю, что это мой опыт и мое решение по резервированию канала. Я не претендую на уникальность или best practice. Данный способ мной использовался не раз. Основные удобства следующие:

  1. Настраивается просто и понятно.
  2. Умеет сбрасывать все соединения после переключения.
  3. Пишет информацию в лог для дальнейшего анализа.

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

Онлайн курсы по Mikrotik

Если у вас есть желание научиться работать с роутерами микротик и стать специалистом в этой области, рекомендую пройти курсы по программе, основанной на информации из официального курса MikroTik Certified Network Associate. Помимо официальной программы, в курсах будут лабораторные работы, в которых вы на практике сможете проверить и закрепить полученные знания. Все подробности на сайте . Стоимость обучения весьма демократична, хорошая возможность получить новые знания в актуальной на сегодняшний день предметной области. Особенности курсов:
  • Знания, ориентированные на практику;
  • Реальные ситуации и задачи;
  • Лучшее из международных программ.

Помогла статья? Подписывайся на telegram канал автора

Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.

Автор Zerox

Владимир, системный администратор, автор сайта. Люблю настраивать сервера, изучать что-то новое, делиться знаниями, писать интересные и полезные статьи. Открыт к диалогу и сотрудничеству. Если вам интересно узнать обо мне побольше, то можете послушать интервью. Запись на моем канале - https://t.me/srv_admin/425 или на сайте в контактах.

57 комментариев

  1. андрей

    Спасибо. все заработало) А для PPPoE + LTE эта схема не подойдет?

  2. Владимир

    может кому пригодится, добавил оповещение на почту:

    после :log warning "Set routes to lte1";
    /tool e-mail send to=admins@mail.ru subject="switch_to_lte1" body="switch_to_lte1";
    после :log warning "Set routes to gw1";
    /tool e-mail send to=admins@mail.ru subject="gw1" body="gw1";

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

  3. Владимир

    на в версии 6.47.10 работает? а то у меня нет :(

  4. Владимир

    :local BackGw [/ip route get [find comment="lte1"] disable];
    почему тут стоит get ?

    должно же быть :local BackGw [/ip route disable [find comment="lte1"]]
    нет ?

    • Должно быть именно так, как написано. Посмотрите еще раз логику всего скрипта.

  5. Нашел крутое и современное решение этой задачи разными способами без скриптов.
    https://mum.mikrotik.com/presentations/TH18/presentation_5725_1534743837.pdf

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

  6. Евгений

    ДОПОЛНЕНИЕ:

    Вывод сообщения:
    :put "Start only via Button !!!";

    Я добавил для того чтобы оно отображалось если скрипт стартуют через терминал (system scrypt run...)
    т.к. в этом случае при восстановлении бэкапа команда backup resotre требует ручного подтверждения (Y/n)

    • Андрей

      А у меня на lte1 переключается, а обратно не хочет. В ручном режиме переключение работает

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

  7. Евгений

    Лучше выводить таймер в глобальную переменную и отслеживать ее в ScryptList -> Environment

    т.е. вместо Delay сделать
    :global TimeToRestore 180; :while ($TimeToRestore>0) do={:set $TimeToRestore ($TimeToRestore-1); :put "Start only via Button !!!"; :delay 1; };

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

  8. Аноним

    А можете подсказать скрипт для отлова IP с LTE модема. Чтобы автоматом менялся на тот что выдал оператор при перезагрузке модема или роутера

  9. Андрей

    На сертификации тренер Mikrotik не зря упомнил RouterOS как самую популярную ОС по части костылей и кривых мануалов, в которых везде почему-то любят писать скрипты, а не использовать стандартные возможности RouterOS, которые решают задачу и проще, и с сохранением работоспособности при обновлениях (хотя тут бывают редкие исключения). Потом выходит какое-то обновление и ваш скрипт перестает работать и вы не понимаете почему. Вопрос решается просто - рекурсивная маршрутизация и один из комментаторов уже даже прислал вам решение.

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

      Впервые подобную схему со скриптом я реализовал лет 6-7 назад. До сих пор всё без проблем работает, несмотря на все последующие обновления. Скрипт просто дорабатывал под нюансы разных задач. Вы можете конкретно сказать, какие проблемы будут при такой реализации? Мой практический опыт подсказывает, что проблем не будет, иначе я бы не использовал его.

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

      • Андрей

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

  10. Аноним

    отличная статья! есть варианты мониторить через заббикс? активность lte интерфейса, переключение на него и обратно

    • Варианты есть и их несколько. Можно по snmp забирать данные с микротика. А можно при переключении канала интернета скриптом писать что-то в лог файл, а сам лог файл отправлять на syslog сервер. На syslog сервере парсить лог с помощью zabbix. Я и так, и так делал. Все зависит от конкретной ситуации и существующей инфраструктуры.

      • Аноним

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

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

  11. Аноним

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

  12. Я использую телефон в качестве модема, можно через USB кабель, можно по WiFi (я по WiFi), зачем покупать дополнительные устройства ?

    • А телефон вам бесплатно дали? Он же тоже денег стоит, причем больше, чем модем.

  13. Добрый день, очень нужна помощь. У меня реализовано переключение на второй провайдер через netwatch все работает провайдеры переключаются исправно, но у меня еще нужно переключать и туннели IPsec, можно ли это сделать в netwatch или мне нужно писать скрипт?

    • Через netwatch это не сделать. Надо каким-то другим способом решать вопрос. Скорее всего скриптом. У меня нет готового решения на этот счет.

  14. Сергей

    Добрый день. А как решить резерв каналов со статикой основной оптика, резерв 4G но через SXT LTE ?
    ,

  15. Аноним

    Здравствуйте, почему проверка доступности выполняется скриптами? каждое выполнение скрипта занимает память, может проверку доступности сделать через netwatch?
    и у меня некорректно работало через изменение дистанции, в netwatch указал удаление маршрута и прописание нового.
    Link UP
    /ip firewall connection remove [find]
    /ip route set [/ip route find dst-address=0.0.0.0/0] gateway=10.10.10.10
    Link DOWN
    /ip firewall connection remove [find]
    /ip route set [/ip route find dst-address=0.0.0.0/0] gateway=10.10.10.20
    скрипты

  16. Алексей

    Добрый день!

    Добрый люди подскажите как настроить резервный канал на Микротик, если в качестве резервного канал выступает универсальный роутер 4G от MTC (модель: МТС 8212FT ссылка на модель роутера http://static.mts.ru/dpc_upload/contents/383/rukovodstvo_4G_CPE_router_8212FT.pdf?_ga=2.147906814.832014410.1579152546-869186268.1579152546).

    С usb модемом 4G все приблизительно понятно, а как быть в этом случае? Спасибо!

  17. Аноним

    Отличная статья. Спасибо. Настроил по ней резервирование каналов у себя, все работает. Но настройку и сам скрипт можно несколько упростить.
    Замечания:
    1) В скрипте есть объявление трех переменных rName, rDate, rTime, которые нигде не используются.
    2) Просто прописать 2 статических маршрута (для 8.8.8.8 и 8.8.4.4), на мой взгляд, недостаточно. Т.к. нет 100% гарантии того, что пинги будут ходить именно этими маршрутами. Например, в случае если шлюз основного провайдера становится "unreachable", маршрут через него перестанет работать и пинги к 8.8.8.8 пойдут через резервный канал. Тогда нас ждет периодитеское переключение каналов раз в 30 секунд. См. комментарий Вячеслава от 30.04.2017 https://serveradmin.ru/mikrotik-951ui-2hnd-2-wan-interfeysa-dlya-rezervirovaniya-kanala/#comment-1624
    Эту ситуацию можно конечно исправить при помощи файрвола, но намного проще в самом скрипте пустить пинг через определенный интерфейс:
    :local isp1 [/ping $CheckIp1 count=$PingCount interface="ether1-wan"];

    Из этого выходит, что вообще никакие маршруты прописывать не надо. Более того, не надо пинговать 2 ip-адреса, достаточно одного.
    Итоговый скрипт у меня получился таким:

    :local PingCount 3;
    :local CheckIp 8.8.8.8;
    :local isp1 [/ping $CheckIp count=$PingCount interface="ether1-wan"];
    :local isp2 [/ping $CheckIp count=$PingCount interface="ppp1-MTS"];
    :local BackGw [/ip route get [find comment="gw2"] disable];
    :if (($isp1=0) && ($isp2=$PingCount) && ($BackGw=true)) do={
    :log warning "Set routes to gw2";
    /ip route disable [find comment="gw1"];
    /ip route enable [find comment="gw2"];
    }
    :local MainGw [/ip route get [find comment="gw1"] disable];
    :if (($isp1=$PingCount) && ($MainGw=true)) do={
    :log warning "Set routes to gw1";
    /ip route enable [find comment="gw1"];
    /ip route disable [find comment="gw2"];
    }

  18. Дмитрий

    Добрый день! Хорошая статья, попробую внедрить в свою сеть. Но вопрос не большой. Смысл тот же - один провайдер основной 3/4g второй резервный спутниковый канал ВСАТ. Но можно ли настроить фаервол в этой схеме, чтобы через 3/4g как основной канал был полный доступ, а через второй канал ( спутник ) ограниченный доступ только разрешенных ресурсов + email. Спутник дорогой трафик.

    • Все можно. Не вижу проблем. В фаерволе правила легко привязываются к интерфейсу.

  19. Владимир

    5 лет назад с микротиком плотно не работал, но на данный момент действительно можно проще:
    add check-gateway=ping distance=1 gateway=1.1.1.1 pref-src=1.1.1.2 routing-mark=IPS1
    add check-gateway=ping distance=1 gateway=2.2.2.1 pref-src=2.2.2.2 routing-mark=ISP2
    add check-gateway=ping distance=11 gateway=8.8.4.4
    add check-gateway=ping distance=12 gateway=8.8.8.8
    add distance=5 dst-address=8.8.4.4/32 gateway=1.1.1.1 scope=10
    add distance=5 dst-address=8.8.8.8/32 gateway=2.2.2.2 scope=10

    но скрипт имеет право на жизнь, в этом и прелесть ROS.

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

    • Все верно. Тестить шлюз для проверки интернета идея так себе. Чаще всего шлюз доступен, а интернета нет. Нужно проверять конечные хосты в интернете, а не шлюзы провайдера.

    • Добрый день! Можете помочь по настройке mikrotik sxt lte kit ? Там две симкарты не могу найти инфы как сделать , чтобы при падении слота симки а все переключалось на слот симки б .... igon-spb@rambler.ru

  20. Зачем дописывать скрипт, настраивать шедулер и забивать ресурсы МТ дополнительными действиями, если можно в Route List прописать маршруты с разными дистанциями (для основного канала дистанция = 1, для резервного = 2) и поставить check gateway = ping?

    • Эта статья писалась более 5-ти лет назад. Возможно в то время такое простое решение не работало. Уже не помню подробностей. но такой вариант никаких ресурсов особо не потреблял и работал надежно. А может и сейчас работает.

    • Евгений

      А если шлюз провайдера стоит в помещении вместе с Микротиком, и разрыв соединения произошел в другом месте?

  21. а если основоной и резервный канал 3г модема(2шт) ?

  22. ты когда-то делал настройки микротик на три провайдера один основной по кабелю, второй резерв по кабелю и третий резерв по 3G модему через юсб порт микротик?

    • ой извини по 4G модему через юсб порт микротик?

    • Нет, не делал. Это уже похоже на билет, запасной билет и проездной, как в Ералаше :) Хотя у меня есть один объект в подмосковном городе, где 2 канала интернета - основа и резерв, но они оба откуда-то из одного места приходят. Чаще всего оба провайдера падают одновременно, особенно если весь квартал обесточат. Наличие упсов в твоей стойке на спасает. Тут бы пригодился 4g модем.

      • понятно так что подскажеш по настройке?

        • Так а что я подскажу, если сам не настраивал. Надо брать, настраивать и тестировать. Можно даже этот скрипт подредактировать на 3 провайдера. Немного больше условий и проверок будет, но в целом ничего сложного.

  23. Александр

    Добрый день! А разве не проще сделать все это простым Netwatch? Смысл тот же, текста меньше. Если я не прав - поправьте меня.

    • Может и проще. Статья давно писалась, наверняка сейчас описаны более простые и универсальные способы.

  24. Алексей

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

  25. Михаил

    А зачем пихать скрипты, не легче ли просто настроить рекурсивные маршруты и дистансы?

  26. Виталий

    Как привязать конкретный IP(192.168.0.192) чтобы только он из внутренней сети переключался на другой провайдер. Заранее Спасибо!

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

  27. Дичь какая то. С чего вы задаете статические IP адреса гейтвеев, если они у вас по DHCP приходят? Сменит их провайдер их и аля-улю, ничего не будет работать.

    • А часто у вас провайдер это делает? На моей памяти я такого ни разу не наблюдал. Даже если сменит, можно вручную поправить.

      Это всего лишь один из вариантов, очень простой. Для резервирования каналов на микротике есть 100500 вариантов решения задачи.

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

  28. Вячеслав

    Спасибо за отличное решение! Везде в сети лежат гораздо более сложные, а это, действительно, простое. НО: при его реализации на своем 2011-м натолкнулся на необходимость дополнительного указания интерфейсов в пинге (в скрипте), иначе несморя на недоступность основного канала пинги на 8.8.8.8 проходили через резервный, и систему "колбасило": при переключении на резервный канал скрипт сразу же при следующем запуске находил пинг на 8.8.8.8 через бэкапный канал, и переключался обратно. На основном при этом Интернета не было и скрипт переключался опять на резервный, и так по кругу.

    Все дошаманил путем добавления в скрипт в команды ping параметра interface="ether1" и interface="ether5" при условии, что у меня оба канала, и основной и резервный подключены проводами к 1-му и 5-му портам, соответственно. В этом случае пинги идут гарантированно через принудительно указанный интерфейс, и если там Интернта нет, то пинг на 8.8.8.8 не пройдет никаким образом. Без вариантов.

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

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

Добавить комментарий

Ваш адрес email не будет опубликован.

Нажимая кнопку "Отправить комментарий" Я даю согласие на обработку персональных данных.