Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • WinBox
    • RouterOS
    • Мобильные приложения MikroTik
    • Архив
  • Changelogs
  • RouterOS
  • Мобильные приложения MikroTik
  • Архив
Форум
Настройка
    info@mikrotik.moscow
    +7 495 320-55-52
    Заказать звонок
    Mikrotik.moscow
    Каталог
    • Акции
      Акции
    • Маршрутизаторы
      Маршрутизаторы
    • Коммутаторы
      Коммутаторы
    • Радиомосты и уличные точки доступа
      Радиомосты и уличные точки доступа
    • Wi-Fi для дома и офиса
      Wi-Fi для дома и офиса
    • LTE/5G
      LTE/5G
    • Powerline адаптеры
      Powerline адаптеры
    • IoT устройства
      IoT устройства
    • Оборудование 60 ГГц
      Оборудование 60 ГГц
    • Материнские платы RouterBOARD
      Материнские платы RouterBOARD
    • Корпуса
      Корпуса
    • Интерфейсы
      Интерфейсы
    • SFP/QSFP трансиверы
      SFP/QSFP трансиверы
    • Аксессуары
      Аксессуары
    • Антенны
      Антенны
    • Архив
      Архив
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Скачать WinBox Скачать Прошивки Форум > RouterOS Форум > SwOS Форум > Железо
    Mikrotik.moscow
    Каталог
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Mikrotik.moscow
    Телефоны
    +7 495 320-55-52
    Заказать звонок
    0
    0
    0
    Mikrotik.moscow
    • +7 495 320-55-52
      • Назад
      • Телефоны
      • +7 495 320-55-52
      • Заказать звонок
    • info@mikrotik.moscow
    • г. Москва, ул. Бакунинская, 84
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной


    • Кабинет
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    RouterOS
    Святой Грааль для Failover 2 WANs без написания скриптов.

    Святой Грааль для Failover 2 WANs без написания скриптов.

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Святой Грааль для Failover 2 WANs без написания скриптов., RouterOS
     
    newranman
    Guest
    #1
    0
    11.10.2012 04:55:00
    Вот пример конфигурации, которую я использую для Failover, скрипты не требуются. Используется в продакшене. Сейчас использует статические IP-адреса для шлюза. Вам нужно будет подкорректировать все параметры `gateway=` и `in-interface=` под вашу конфигурацию. Предполагается, что у вас нет правил маршрутизации или других правил маркировки соединений и маршрутизации. После корректировки скопируйте и вставьте в терминал Mikrotik.

    Адаптировано с http://http://wiki.mikrotik.com/wiki/Advanced_Routing_to_without_Scripting. Измените `gateway=` на правильные IP-адреса шлюза и `in-interface=` в правилах фильтрации пакетов `/ip route`.

    Нужны IP-адреса для тестирования, находятся в США. Изменены на менее используемые сайты, но всегда доступные. Если вы их меняете, нужно изменить все соответствующие IP-адреса ниже.

    `b.resolvers.Level3.net`
    `add dst-address=4.2.2.2 gateway=192.168.10.1 scope=10`
    `c.resolvers.Level3.net`
    `add dst-address=4.2.2.3 gateway=192.168.202.1 scope=10`
    `google-public-dns-a.google.com`
    `add dst-address=8.8.4.4 gateway=192.168.10.1 scope=10`
    `dns1.rcsntx.sbcglobal.net`
    `add dst-address=151.164.1.8 gateway=192.168.202.1 scope=10`

    Теперь создадим правила для маршрутизатора ISP1:
    маршрутная метка:
    `add distance=1 gateway=4.2.2.2 routing-mark=to_ISP1 check-gateway=ping`
    `add distance=2 gateway=8.8.4.4 routing-mark=to_ISP1 check-gateway=ping`

    Создадим правила для маршрутизатора ISP2:
    маршрутная метка:
    `add distance=1 gateway=4.2.2.3 routing-mark=to_ISP2 check-gateway=ping`
    `add distance=2 gateway=151.164.1.8 routing-mark=to_ISP2 check-gateway=ping`

    Создадим "виртуальные" маршруты ISP1 для дальнейшего использования в маршрутах:
    `add dst-address=10.8.8.1 gateway=4.2.2.2 scope=10 target-scope=10 check-gateway=ping`
    `add dst-address=10.8.8.1 gateway=8.8.4.4 scope=10 target-scope=10 check-gateway=ping`

    Создадим "виртуальные" маршруты ISP2 для дальнейшего использования в маршрутах:
    `add dst-address=10.4.4.1 gateway=4.2.2.3 scope=10 target-scope=10 check-gateway=ping`
    `add dst-address=10.4.4.1 gateway=151.164.1.8 scope=10 target-scope=10 check-gateway=ping`

    Добавим маршруты по умолчанию:
    `add distance=2 gateway=10.8.8.1 routing-mark=to_ISP1`
    `add distance=1 gateway=10.4.4.1 routing-mark=to_ISP2`

    Добавим маршруты по умолчанию без маршрутных меток, расстояние 1 для маршрутизатора:
    `add distance=2 gateway=10.8.8.1`
    `add distance=1 gateway=10.4.4.1`

    Добавим "черную дыру" для ошибки RouterOS, если интерфейс выходит из строя (не уверен, нужна ли она в текущей версии RouterOS):
    `add dst-address=4.2.2.2 type=blackhole distance=20`
    `add dst-address=4.2.2.3 type=blackhole distance=20`
    `add dst-address=8.8.4.4 type=blackhole distance=20`
    `add dst-address=151.164.1.8 type=blackhole distance=20`

    Обязательно установите `in-interface=` для правильных имен интерфейсов.

    `/ip firewall mangle`
    `add action=mark-connection chain=input comment="mark ISP1_conn" disabled=no in-interface=ether1-gw-att new-connection-mark=ISP1_conn passthrough=yes`
    Этот должен быть выходной цепочкой.
    `add action=mark-routing chain=output comment="mark routing isp1_conn" connection-mark=ISP1_conn disabled=no new-routing-mark=to_ISP1 passthrough=no`
    `add action=mark-routing chain=prerouting comment="mark routing to_ISP1" connection-mark=ISP1_conn disabled=no in-interface=ether5-LAN new-routing-mark=to_ISP1 passthrough=yes`

    `add action=mark-connection chain=input comment="mark ISP2_conn" disabled=no in-interface=ether2-gw-tw new-connection-mark=ISP2_conn passthrough=yes`
    Этот должен быть выходной цепочкой.
    `add action=mark-routing chain=output comment="mark routing isp2_conn" connection-mark=ISP2_conn disabled=no new-routing-mark=to_ISP2 passthrough=no`
    `add action=mark-routing chain=prerouting comment="mark routing to_ISP2" connection-mark=ISP2_conn disabled=no in-interface=ether5-LAN new-routing-mark=to_ISP2 passthrough=yes`
     
     
     
    wpsd2006
    Guest
    #2
    0
    05.08.2018 04:50:00
    Привет, заработает ли это на роутере с RouterOS 6.42.x? Кстати, возможно ли добавить дополнительную метку маршрутизации с помощью PCC для управления балансировкой между провайдерами? Например, ISP1 — 2/3 от общей скорости, ISP2 — 1/3 от общей скорости, а ISP3 — только для резервного копирования.
     
     
     
    Chupaka
    Guest
    #3
    0
    05.08.2018 16:37:00
    Да, всё возможно. Посмотрите https://wiki.mikrotik.com/wiki/Advanced_Routing_Failover_without_Scripting для проверки доступности, а потом создайте маршруты по умолчанию с любыми routing-marks, которые хотите. В вашем случае, у вас будет две маршрутизационные таблицы (например, Path1 и Path2) с добавленными маршрутами через ISP3 с низкой приоритетностью.
     
     
     
    dsliesrn
    Guest
    #4
    0
    05.04.2019 10:10:00
    Привет, у меня проблемы с этой конфигурацией: https://wiki.mikrotik.com/wiki/Advanced_Routing_Failover_without_Scripting. Мой WAN с фиксированным IP работает, но с PPPoE он остается неизменным. Прилагаю захват. Версия 6.44.1. Спасибо.

    Испанский: Hola, yo estoy teniendo problemas con esta configuración: https://wiki.mikrotik.com/wiki/Advanced_Routing_Failover_without_Scripting Mi WAN con ip fija funciona pero con pppoe se queda inalcancable. adjunto captura Versión 6.44.1 Gracias
     
     
     
    Chupaka
    Guest
    #5
    0
    05.04.2019 14:13:00
    Ох, извини, так использовать нельзя. Дело в том, что маршруты с именем интерфейса в качестве значения шлюза не используются для рекурсивного поиска следующего хопа… Но с pppoe можно создать отдельный PPP-профиль и установить "Удаленный адрес" на необходимый IP для проверки: После этого удали свой статический маршрут с dst-address=8.8.8.8 – он должен появиться сам собой, когда pppoe подключится.
     
     
     
    dsliesrn
    Guest
    #6
    0
    05.04.2019 15:12:00
    Спасибо, кажется, работает как надо.
     
     
     
    Joni
    Guest
    #7
    0
    05.04.2019 16:14:00
    Твоё определение «священного Грааля» подразумевает поддержку DHCP для WAN, это не новость.
     
     
     
    anav
    Guest
    #8
    0
    06.04.2019 11:54:00
    Чрезмерно сложный механизм переключения на резервный вариант. Простые рекурсивные маршруты (выбери 1 или 2 публичных DNS) так же эффективны, никаких мучений не требуется.
     
     
     
    Chupaka
    Guest
    #9
    0
    06.04.2019 12:21:00
    Переплетение — это возможность одновременно иметь внешний доступ к обоим адресам. Это не про само по себе переключение при сбоях, это про удобство использования.
     
     
     
    anav
    Guest
    #10
    0
    06.04.2019 13:10:00
    Согласен, и в этом случае можно говорить о переключении (failover), когда две линии WAN используются в равной степени (требуется "изуродование"), или о переключении, где одна линия WAN является основной, а другая — резервной.
     
     
     
    Joni
    Guest
    #11
    0
    06.04.2019 15:09:00
    Нет. Установленные сессии (вроде VPN) никогда не возвращаются к основному соединению. Это постоянная проблема для Mikrotik, что нет проверенных решений, которые бы работали в большинстве случаев или имели четко обозначенные недостатки. Всем приходится изобретать велосипед заново, потому что нет сравнения плюсов и минусов различных решений. Есть только намеки, советы и уловки, которые приводят к следующей “проблеме”. Продукты Mikrotik были бы гораздо шире приняты, если бы в них были основные востребованные функции с готовыми примерами, полностью задокументированными, например, QoS (PCQ), Failover, Load balancing, Policy based routing и т.д. с примерами, применимыми как к быстрой настройке, так и к полному развертыванию с несколькими WAN, LAN в различных конфигурациях со статическими IP, динамическими IP и т.д. (подумайте о https://en.wikipedia.org/wiki/Unit_testing ). Самый распространенный ответ от Mikrotik на их форумах: "Как это должно работать? Это не работает, потому что…", при этом ни один из этих моментов не упоминается в документации (wiki), которая и является первопричиной того, что люди задают эти вопросы на форумах в первую очередь.
     
     
     
    anav
    Guest
    #12
    0
    06.04.2019 15:28:00
    Мне совершенно не важно восстанавливать прежнее соединение при переключении на резерв. Это кажется какой-то заоблачной идеей. Старое соединение уже умерло, пропало, я ожидаю, что придется перезапустить всю свою работу. Идея переключения на резерв — это минимальное нарушение работы и чтобы мне, как админу, не приходилось вмешиваться. У нас разные ожидания.
     
     
     
    Joni
    Guest
    #13
    0
    06.04.2019 16:01:00
    Ну, если ты не вмешаешься, новое подключение (использованное) не вернется на основной сервер, пока ты не вмешаешься, потому что резервный (failover) пока не вышел из строя, ожидай того же. Твой VPN будет работать на пропускной способности, скорости и т.д., ограниченных резервным сервером, до скончания веков.
     
     
     
    sindy
    Guest
    #14
    0
    07.04.2019 11:21:00
    Во-первых, на форумах можно увидеть людей, которые пришли задать вопрос. У вас нет никаких доказательств того, сколько людей посчитали существующей документации достаточно, и нет данных о том, сколько людей имели проблему, но не спрашивали на официальном форуме, потому что не доверяют своему английскому, и вместо этого спрашивали на одном из форумов, управляемых сообществом, на других языках.

    Во-вторых, по поводу вашей проблемы с VPN — это пример нишевого случая. В корпоративных и средах сетевых провайдеров протоколы динамической маршрутизации (и коммутации) тихо выполняют свою работу так, как они были разработаны. В домашней сети есть проблема с NAT, которую нельзя легко преодолеть. Для "нормальных" протоколов, включая большинство VPN, нет способа изменить адрес одного из конечных точек сессии безболезненно — вам нужно завершить существующую сессию и установить новую, поскольку сессии такого рода идентифицируются только двумя парами адресов:портов, так что если смена канала связи на стороне клиента включает в себя изменение IP-адреса с точки зрения сервера, то сервер не может идентифицировать, что пакеты, поступающие с нового адреса, на самом деле принадлежат существующей сессии и предпринять соответствующие меры.

    Специфично для VPN этот сценарий в настоящее время рассматривается только расширением IPsec IKEv2 под названием MOBIKE, где сервер может беспрепятственно адаптироваться к изменению IP-адреса клиента, поскольку собственные идентификаторы сессии VPN могут использоваться для идентификации входящего трафика, поскольку эти идентификаторы не зависят от IP-адреса и порта. Итак, как только Mikrotik начнет поддерживать MOBIKE, подход к избыточности канала связи может измениться таким образом, что каждое переключение не будет вызывать сбой и повторное установление текущей IPsec-сессии.

    Однако для других типов VPN (и других типов сессий) всегда существует необходимость приоритизации между минимизацией количества сбоев и ограничениями учета данных/скорости резервной линии, и у каждого пользователя свои индивидуальные условия и предпочтения, приводящие к различным стратегиям отката.

    Поэтому как менеджер по продукту RouterOS, у вас есть два варианта: попросить свою команду создать программный модуль, контролирующий переключение и возврат для любого базового протокола (VPN и другие), выбирая из двух распространенных стратегий обработки прерывистых переключений: «использовать одну из линий в качестве основной с автоматическим возвратом к ней после истечения настраиваемого времени ожидания с момента, когда основная линия снова стала доступной» и «переключиться на резервную линию только в случае недоступности используемой в данный момент», и вам придется решать массу вопросов интеграции с другими функциями. Или позволить пользователям самостоятельно разрабатывать решения, адаптированные к их потребностям, включая стратегии для более чем двух каналов связи и т. д. Даже первый подход оставляет группу пользователей, которые не найдут доступную функциональность достаточной для своих нужд, и другую группу пользователей, для которых она была бы достаточной, но они не понимают, как ее использовать, поэтому усилия, необходимые для реализации, могут оказаться слишком высокими по сравнению с эффектом.

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

    Поэтому мое личное предпочтение заключается в том, чтобы группа документации Mikrotik сосредоточилась на качестве документации в ее существующей структуре, а не на описаниях сценариев, используемых тремя людьми в мире.
     
     
     
    newranman
    Guest
    #15
    0
    08.04.2019 01:48:00
    Как говорит Chupaka, чтобы правильно маршрутизировать трафик через несколько WAN и реагировать на запросы на нужном интерфейсе WAN, нужно использовать правила для меток пакетов, чтобы направлять их через/обратно интерфейс. У Mikrotik есть пример PCC, который можно использовать. Он не обеспечивает failover, но можно адаптировать рекурсивный маршрут и использовать PCC и очереди для этого. https://wiki.mikrotik.com/wiki/Manual:PCC Randy
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2026 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры