Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • WinBox
    • RouterOS
    • Мобильные приложения MikroTik
    • Архив
  • 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
    Вопрос по QSPF для экспертов

    Вопрос по QSPF для экспертов

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Вопрос по QSPF для экспертов, RouterOS
     
    complete2006
    Guest
    #1
    0
    12.06.2016 05:58:00
    Всем привет. Может, кто-то сможет помочь. У меня такая проблема: у клиентов есть основное оптоволоконное соединение и резервное — беспроводное. Обе линии заканчиваются в разных наших точках. Для основного подключения я настроил маршрутизацию сети клиента с помощью статического маршрута с обычной метрикой. В резервной точке тоже использую статический маршрут, но с метрикой 200. Обе точки находятся в области OSPF магистрали. Всё работает, как и ожидалось. Статический маршрут в резервной точке неактивен, а маршрут идёт через OSPF. В случае сбоя основного канала резервный маршрут становится активным, и всё нормально. Проблема: после восстановления основного канала резервный маршрут остаётся активным, несмотря на то, что в OSPF есть маршрут с меньшей метрикой. Это сделано специально? Кто может помочь?
     
     
     
    ZeroByte
    Guest
    #2
    0
    28.06.2016 17:08:00
    Хорошо, пора проверить это в GNS3, чтобы убедиться, что я говорю именно о том же, что и с инъекцией маршрута по умолчанию… И сначала поддержка Mikrotik сказала мне то же самое: «это не баг, это сделано для предотвращения петель маршрутизации». Я им объяснил, что они немного неправильно поняли поведение, и показал, как это работает корректно на Cisco, на что они ответили просто: «окей, это баг, и его исправят в будущих версиях ROS» — видимо, этот тикет закрыли и забыли.
     
     
     
    ZeroByte
    Guest
    #3
    0
    28.06.2016 18:08:00
    Я воспроизвёл проблему на следующей конфигурации:  
     

    R1 и R2 настроены как ASBR-маршрутизаторы — они перераспределяют статические маршруты в OSPF как Type-1 внешние маршруты.  
    R1 имеет статический маршрут blackhole для 172.16.0.0/16  
    R2 имеет плавающий статический резервный маршрут для 172.16.0.0/16 с distance, равным 200.  
    OSPF использует область 0 для сети 192.168.1.0/24.  
    R3 выступает в роли клиента, показывая, что другие узлы увидят анонсируемое с R1 и R2.  

    Вот конфигурации маршрутизаторов:  

    R1  
    [admin@R1] > export compact
    # jun/28/2016 17:59:17 by RouterOS 6.36rc13  
    # software id =  
    / interface bridge  
    add name=loop  
    / interface ethernet  
    set [ find default-name=ether4 ] comment=mgmt
    / routing ospf instance  
    set [ find default=yes ] redistribute-static=as-type-1 router-id=10.10.10.1
    / ip address  
    add address=10.1.1.1/24 comment=mgmt interface=ether4 network=10.1.1.0  
    add address=10.10.10.1 interface=loop network=10.10.10.1  
    add address=192.168.1.1/24 interface=ether1 network=192.168.1.0  
    / ip route  
    add distance=1 dst-address=172.16.0.0/16 type=blackhole comment="test route primary"  
    / routing ospf network  
    add area=backbone network=10.10.10.0/24  
    add area=backbone network=192.168.1.0/24  
    / system identity  
    set name=R1  

    R2  
    [admin@R2] > export compact
    # jun/28/2016 17:29:51 by RouterOS 6.36rc13  
    # software id =  
    / interface bridge  
    add name=loop  
    / interface ethernet  
    set [ find default-name=ether4 ] comment=mgmt
    / routing ospf instance  
    set [ find default=yes ] redistribute-static=as-type-1 router-id=10.10.10.2
    / ip address  
    add address=10.1.1.2/24 comment=mgmt interface=ether4 network=10.1.1.0  
    add address=10.10.10.2 interface=loop network=10.10.10.2  
    add address=192.168.1.2/24 interface=ether1 network=192.168.1.0  
    / ip route  
    add distance=200 dst-address=172.16.0.0/16 type=blackhole comment="test route backup"  
    / routing ospf network  
    add area=backbone network=10.10.10.0/24  
    add area=backbone network=192.168.1.0/24  
    / system identity  
    set name=R2  

    R3:  
    [admin@R3] > /export compact
    # jun/28/2016 17:30:17 by RouterOS 6.36rc13  
    # software id =  
    / interface bridge  
    add name=loop  
    / interface ethernet  
    set [ find default-name=ether4 ] comment=mgmt
    / routing ospf instance  
    set [ find default=yes ] router-id=10.10.10.3
    / ip address  
    add address=10.1.1.3/24 comment=mgmt interface=ether4 network=10.1.1.0  
    add address=192.168.1.3/24 interface=ether1 network=192.168.1.0  
    add address=10.10.10.3 interface=loop network=10.10.10.3  
    / routing ospf network  
    add area=backbone network=10.10.10.0/24  
    add area=backbone network=192.168.1.0/24  
    / system identity  
    set name=R3  

    Пока всё нормально, R3 показывает:  
    [admin@R3] /ip route> print where dst-address=172.16.0.0/16
    Flags: X - отключено, A - активно, D - динамическое, C - напрямую подключено, S - статическое, r - rip, b - bgp, o - ospf, m - mme, B - blackhole, U - недоступно, P - запрещено  
    DST-ADDRESS       PREF-SRC     GATEWAY         DISTANCE  
    0 ADo 172.16.0.0/16 192.168.1.1 110  

    Если я отключаю маршрут на 172.16.0.0/16 на R1, тогда R2 берёт управление корректно:  
    [admin@R3] /ip route> print where dst-address=172.16.0.0/16
    DST-ADDRESS       PREF-SRC     GATEWAY         DISTANCE  
    0 ADo 172.16.0.0/16 192.168.1.2 110  

    Когда я снова включаю статический маршрут на R1, R2 отказывается убрать своё объявление, основанное на статическом маршруте с distance 200, и на R3 теперь установлен маршрут с балансировкой ECMP:  
    [admin@R3] /ip route> print where dst-address=172.16.0.0/16
    DST-ADDRESS       PREF-SRC     GATEWAY         DISTANCE  
    0 ADo 172.16.0.0/16 192.168.1.2 110  
                  192.168.1.1  

    Очевидно, что ECMP можно исправить, изменив базовую метрику у R2, но суть не в этом – суть в том, что у R2 путь с меньшим distance для доступа к 172.16.0.0/16 – это OSPF-путь с distance 110. Однако OSPF НЕПРАВИЛЬНО игнорирует это обновление, потому что он уже сам объявляет этот маршрут через собственный статический маршрут.  

    [admin@R2] /ip route> print where dst-address=172.16.0.0/16
    DST-ADDRESS       PREF-SRC     GATEWAY         DISTANCE  
    0 A SB 172.16.0.0/16           200  

    (обратите внимание, что OSPF-маршрут отсутствует – его даже нет в списке, даже как отключённого)  

    Если я отключаю статический маршрут и включаю его заново на R2, тогда всё возвращается в норму:  

    [admin@R2] /ip route> print where dst-address=172.16.0.0/16
    DST-ADDRESS       PREF-SRC     GATEWAY         DISTANCE  
    0 ADo 172.16.0.0/16             192.168.1.1    110  
    1 ASB 172.16.0.0/16                              200  

    Такое ошибочное поведение наблюдается и когда маршрутизаторы вводят default-information в OSPF, исходя из другого протокола (static, BGP и т.д.).  

    Если я создаю ту же топологию на Cisco, поведение ожидаемое:  

    Когда R1 подтверждает доступность к 172.16.0.0/16, R2 отзывается и убирает свой внешний Type-1 маршрут из OSPF и устанавливает новый внешний Type-1 маршрут через R1 из OSPF в таблицу маршрутизации.  

    Я не говорю, что ROS должен делать всё как Cisco – это разные платформы, но когда в ROS есть ошибки в поведении, полезно показать, что другие платформы так не работают.  

    Я отправлю ещё один баг-репорт в Mikrotik с ссылкой на этот пост для подробностей.
     
     
     
    ZeroByte
    Guest
    #4
    0
    28.06.2016 18:23:00
    Я также нашёл свой предыдущий отчёт об этой ошибке, и Mikrotik заявил, что это поведение будет исправлено в ROSv7. Но, честно говоря, это слишком серьёзная ошибка, чтобы оставлять её без исправления в ROSv6.
     
     
     
    bajodel
    Guest
    #5
    0
    13.07.2016 20:20:00
    Абсолютно с тобой согласен! Спасибо за твою лабораторную работу и подробный отчёт.
     
     
     
    StefanM
    Guest
    #6
    0
    17.07.2016 18:15:00
    Я не знал об этом, спасибо! И я присоединяюсь к списку тех, кто считает, что это нужно исправить в следующем стабильном обновлении ROSv6, а не ждать ROSv7, потому что кто знает, когда мы вообще сможем увидеть это в релиз-кандидате.
     
     
     
    ZeroByte
    Guest
    #7
    0
    18.07.2016 13:52:00
    Ответы техподдержки создают довольно ясное впечатление, что Mikrotik не планирует решать эту проблему в ROSv6 из-за фундаментальных особенностей реализации OSPF. Иначе говоря, в версии 7 будет серьезный пересмотр кода в части маршрутизации, и чтобы исправить это поведение, нужно именно такое обновление, поэтому оно будет выполнено только в ROSv7. (печально)
     
     
     
    JJT211
    Guest
    #8
    0
    16.05.2021 00:24:00
    BUMP, прошло 5 лет, и мы наконец-то подошли к ROSv7. Мне интересно, решалась ли эта проблема в каком-то из релизов ROSv6 или в текущей бете ROSv7. EDIT: Думаю, лучше обновить эту тему, чем оживлять другую. Согласно этому сообщению, проблема до сих пор не решена. Но есть обходной путь. На дворе 2020-й, а проблема всё ещё актуальна. Обход для тех, кто наткнётся на эту статью: Впрысните на роутер две более мелкие маршрутизации через предпочтительное соединение — более мелкие маршруты всегда будут иметь приоритет над большими. Например: используйте статические маршруты 10.2.3.0/25 + 10.2.3.128/25 вместо 10.2.3.0/24 на предпочтительном линке.
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2026 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры