Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • 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
    Advanced Routing Failover без скриптов

    Advanced Routing Failover без скриптов

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Advanced Routing Failover без скриптов, RouterOS
     
    Chupaka
    Guest
    #1
    0
    04.02.2020 10:34:00
    _Комментарий о PPP uplinks (таких как PPPoE): https://forum.mikrotik.com/viewtopic.php?p=814682#p814682_ - важно в RouterOS до версии 7 Введение Предположим, что у нас есть несколько WAN-соединений, и мы хотим отслеживать, доступен ли интернет через каждое из них. Проблема может возникнуть в любом месте. Если ваша VPN не может подключиться — значит, проблем нет, ваш маршрут по умолчанию с gateway=это-vpn-соединение будет неактивен. Если ваш ADSL-модем отключен — тогда check-gateway=ping на стадии, и тоже проблем нет. Но что, если ваш модем работает, а телефонная линия отключена? Или у вашего интернет-провайдера возникла внутренняя проблема, и traceroute показывает всего несколько переходов — и затем останавливается... Некоторые люди используют инструмент NetWatch для мониторинга удаленных мест. Другие используют скрипты для периодической проверки удалённых хостов пингом. А затем отключают маршруты или меняют поведение маршрутизации другим способом. Но возможности RouterOS позволяют нам использовать только /ip route для такого контроля — без скриптов и netwatch вообще! Реализация Основная настройка Предположим, у нас есть два uplinks: GW1, GW2. Это могут быть адреса ADSL-модемов (например, 192.168.1.1 и 192.168.2.1), или адреса PPP-интерфейсов (например, pppoe-out1 и pptp-out1). Затем у нас есть какие-то правила маршрутной политики, так что весь исходящий трафик маркируется метками ISP1 (которые идут к GW1) и ISP2 (которые идут к GW2). И мы хотим отслеживать Host1 через GW1, и Host2 через GW2 — это могут быть популярные интернет-сайты, такие как Google, Yahoo и т.д. Сначала создайте маршруты к этим хостам через соответствующие шлюзы: /ip route
    add dst-address=Host1 gateway=GW1 scope=11
    add dst-address=Host2 gateway=GW2 scope=11 Теперь создадим правила для маркера маршрутизации ISP1 (одно для основного шлюза и другое для резервного): /ip route
    add distance=1 gateway=Host1 target-scope=11 routing-mark=ISP1 check-gateway=ping
    add distance=2 gateway=Host2 target-scope=11 routing-mark=ISP1 check-gateway=ping Эти маршруты будут разрешаться рекурсивно (см. Manual:IP/Route#Nexthop_lookup) и будут активными только если HostN доступен по пингу. Затем те же правила для маркера ISP2: /ip route
    add distance=1 gateway=Host2 target-scope=11 routing-mark=ISP2 check-gateway=ping
    add distance=2 gateway=Host1 target-scope=11 routing-mark=ISP2 check-gateway=ping Проверка нескольких хостов на каждый uplink Если Host1 или Host2 не работают в #Основной настройке, соответствующая линия считается тоже неработающей. Для резервирования мы можем использовать несколько хостов на каждый uplink: давайте отслеживать Host1A и Host1B через GW1, и Host2A и Host2B через GW2. Также мы будем использовать двойное рекурсивное разрешение, чтобы было меньше мест, где упоминается HostN. Сначала нам нужно создать маршруты к нашим проверяемым хостам: /ip route
    add dst-address=Host1A gateway=GW1 scope=11
    add dst-address=Host1B gateway=GW1 scope=11
    add dst-address=Host2A gateway=GW2 scope=11
    add dst-address=Host2B gateway=GW2 scope=11 Затем давайте создадим адреса для "виртуальных" переходов, которые будем использовать в дальнейших маршрутах. В качестве примера я использую 10.1.1.1 и 10.2.2.2: /ip route
    add dst-address=10.1.1.1 gateway=Host1A scope=12 target-scope=11 check-gateway=ping
    add dst-address=10.1.1.1 gateway=Host1B scope=12 target-scope=11 check-gateway=ping
    add dst-address=10.2.2.2 gateway=Host2A scope=12 target-scope=11 check-gateway=ping
    add dst-address=10.2.2.2 gateway=Host2B scope=12 target-scope=11 check-gateway=ping А теперь мы можем добавить маршруты по умолчанию для клиентов: /ip route
    add distance=1 gateway=10.1.1.1 target-scope=12 routing-mark=ISP1
    add distance=2 gateway=10.2.2.2 target-scope=12 routing-mark=ISP1
    add distance=1 gateway=10.2.2.2 target-scope=12 routing-mark=ISP2
    add distance=2 gateway=10.1.1.1 target-scope=12 routing-mark=ISP2 Обход 1 В версиях ROS по крайней мере до 4.10 есть ошибка, и если ваш Ethernet-интерфейс отключается (например, когда ваш напрямую подключенный ADSL-модем выключается) и затем включается, рекурсивные маршруты не пересчитываются (или что-то в этом роде), и весь трафик все еще идет через другой uplink. В качестве обходного пути можно использовать дополнительные правила для каждого HostN. При их добавлении всё пересчитывается корректно: /ip route
    add dst-address=Host1 type=blackhole distance=20
    add dst-address=Host2 type=blackhole distance=20 Спасибо Валенсу Рияди, на MUM в Польше в 2010 году он случайно упомянул, что использование атрибута 'scope' возможно для проверки удаленного хоста для реализации резервного копирования Мартина (Ibersystems) - он попросил решение, и я придумал то, что вы видите выше =) Роберт Урбан (treborr) - он столкнулся с проблемой, упомянутой в Обходе1, и мы вдвоем ее решили =)
     
     
     
    clueluzz
    Guest
    #2
    0
    14.03.2020 10:21:00
    Спасибо @Chupaka
     
     
     
    theboleslaw
    Guest
    #3
    0
    21.02.2020 08:33:00
    В версиях ROS, по крайней мере, до 4.10 есть ошибка: если ваш ethernet-интерфейс отключается (например, ваш напрямую подключенный ADSL модем выключен), а затем снова подключается, рекурсивные маршруты не пересчитываются (или что-то в этом роде), и все данные по-прежнему идут через другой uplink. В качестве обходного решения можно использовать дополнительные правила для каждого HostN. При их добавлении все правильно пересчитывается: /ip route add dst-address=Host1 type=blackhole distance=20 add dst-address=Host2 type=blackhole distance=20  
    **<big>Спасибо</big>**  
    * Valens Riyadi, на MUM в Польше в 2010 году он упомянул, что использование атрибута 'scope' возможно для проверки удаленных хостов в реализации переключения на резервный канал  
    * Martín (> [Ibersystems](https://forum.mikrotik.com/memberlist.php?mode=viewprofile&u=5217)> ) - он спросил о решении, и я придумал то, что вы видите выше =)  
    * Robert Urban (> [treborr](https://forum.mikrotik.com/memberlist.php?mode=viewprofile&u=40000)> ) - он столкнулся с проблемой, упомянутой в Workaround1, и мы оба ее решили =)  

    Спасибо за это, я тоже заметил эту ошибку, когда настраивал свою маршрутизацию на основе политик: когда второй WAN отключается, он не восстанавливает соединение, и я добавил blackhole, чтобы с этим справиться.
     
     
     
    anav
    Guest
    #4
    0
    11.03.2020 16:07:00
    Q1. Каков план, если dst-address не равен статическому фиксированному WANIP, а является динамическим WANIP?
     
     
     
    SiB
    Guest
    #5
    0
    11.03.2020 16:40:00
    Вы можете использовать параметры клиента dhcp, и внутри есть скрипт, который может выполнять дополнительные задачи. Ключевая работа может заключаться в фильтре маршрутизации, который может изменять параметры динамического интерфейса, такие как /routing filter … set-scope= .
     
     
     
    Chupaka
    Guest
    #6
    0
    11.03.2020 19:39:00
    Здесь вы можете найти пример скрипта (извините за русский, пожалуйста, используйте Google Translate, но в целом в скрипте только одна переменная): https://forum.mikrotik.by/viewtopic.php?t=323
     
     
     
    clueluzz
    Guest
    #7
    0
    13.03.2020 00:24:00
    @Chupaka, это здорово. Правильно ли будет предположить, что если я захочу настроить 3 рекурсивных резервирования, это будет выглядеть так, основываясь на твоем коде выше: /ip route add dst-address=Host1 gateway=GW1 scope=10 add dst-address=Host2 gateway=GW2 scope=10 add dst-address=Host3 gateway=GW3 scope=10 /ip route add distance=1 gateway=Host1 routing-mark=ISP1 check-gateway=ping add distance=2 gateway=Host2 routing-mark=ISP1 check-gateway=ping add distance=3 gateway=Host3 routing-mark=ISP1 check-gateway=ping /ip route add distance=1 gateway=Host2 routing-mark=ISP2 check-gateway=ping add distance=2 gateway=Host3 routing-mark=ISP2 check-gateway=ping add distance=3 gateway=Host1 routing-mark=ISP2 check-gateway=ping /ip route add distance=1 gateway=Host3 routing-mark=ISP3 check-gateway=ping add distance=2 gateway=Host2 routing-mark=ISP3 check-gateway=ping add distance=3 gateway=Host1 routing-mark=ISP3 check-gateway=ping /ip route add dst-address=Host1 type=blackhole distance=20 add dst-address=Host2 type=blackhole distance=20 add dst-address=Host3 type=blackhole distance=20 Это правильно? И если я хочу добавить балансировку нагрузки к этому методу, нужно ли будет добавлять другие маршруты? Жду твоих мыслей.
     
     
     
    Chupaka
    Guest
    #8
    0
    13.03.2020 09:28:00
    Верно. Эти маршруты достаточно для настройки LB, просто отметьте маршрутизацию для пакетов соответствующим образом.
     
     
     
    WiruSSS
    Guest
    #9
    0
    18.03.2020 08:50:00
    В случае использования другого Mikrotik в качестве маршрутизатора (SXTR только как модем с проходящим подключением) все работает отлично. Ваш WAN на втором Mikrotik должен выглядеть примерно так: 2 D address=xxx.xxx.xxx.xxx/30 network=yyy.yyy.yyy.yyy interface=ether9 actual-interface=ether9, так что вы сможете использовать сетевой адрес в качестве шлюза. В моей конфигурации это работает без проблем.
     
     
     
    SiB
    Guest
    #10
    0
    18.03.2020 11:38:00
    Я пишу о другой конфигурации, без passthrough, непосредственно на RB с интерфейсом lte1, который получает IP от провайдера. Ты не можешь использовать RecursiveRouting на динамическом интерфейсе. Это так. Твоя конфигурация работает, но это другой сетевой сценарий.
     
     
     
    WiruSSS
    Guest
    #11
    0
    18.03.2020 13:26:00
    Да-да, я в курсе. Я просто написал это как обходной вариант.
     
     
     
    KOK
    Guest
    #12
    0
    24.04.2020 06:13:00
    Спасибо, что перенесли это сюда. У меня есть пару вопросов, надеюсь, вы сможете мне помочь. 1.- Нужно ли мне маркировать пакеты в Firewall Mangle, чтобы... /ip route
    add distance=1 gateway=10.1.1.1 routing-mark=ISP1
    add distance=2 gateway=10.2.2.2 routing-mark=ISP1
    add distance=1 gateway=10.2.2.2 routing-mark=ISP2
    add distance=2 gateway=10.1.1.1 routing-mark=ISP2... работала ли маркировка routing-mark=ISP1 и routing-mark=ISP2? Если да, то как мне это сделать? Или маркировка routing-mark=ISP1 и routing-mark=ISP2 нужна только для создания двух таблиц маршрутизации? 2.- Необходимы ли они все еще в новых версиях ROS? Упоминается ошибка в версии 4.10, но кто-то сказал, что это помогло вернуть WAN, и я предполагаю, что это в последней версии. "add dst-address=Host1 type=blackhole distance=20" 3.- Что лучше, использование рекурсивных маршрутов для отказа или сценарный подход, и почему? Буду признателен за любую помощь, заранее спасибо! С уважением, SN
     
     
     
    Chupaka
    Guest
    #13
    0
    24.04.2020 17:09:00
    Ну, если ты создаешь таблицы маршрутизации (устанавливая routing-mark на маршрутах), то нужно отправлять трафик к ним: либо помечая в Firewall Mangle, либо через IP → Route → Rules. Это ничего не сломает и предотвратит трафик к Host1, идущий другим маршрутом. Я не помню деталей той ошибки, но предпочитаю оставить это правило в силе. Что лучше: машина или велосипед? Думаю, это зависит от твоей задачи. Рекурсивные маршруты - это «автомагия», но есть ограничения (например, ты не можешь использовать их с интерфейсными маршрутами, включая “gateway=1.2.3.4%ether1”, если у тебя один и тот же IP шлюза/сеть на двух выходах).
     
     
     
    Zacharias
    Guest
    #14
    0
    24.04.2020 17:48:00
    рекурсивные маршруты не перерасчитываются (или что-то в этом роде), и весь трафик по-прежнему идет через другой uplink. Примерно 2 месяца назад я делал лабораторную работу по рекурсивным маршрутам и резервированию, насколько я помню, рекурсивные маршруты перерасчитывались… версия была 6.4x.y что-то…
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2025 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры