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

    Управление статической пересылкой OSPF (ROS версии 6 против версии 7)

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Управление статической пересылкой OSPF (ROS версии 6 против версии 7), RouterOS
     
    pamribeirox
    Guest
    #1
    0
    24.03.2022 17:34:00
    Здравствуйте, у меня есть кейсы, где часть статических маршрутов должна оставаться локальной для устройства, а другие — перераспределяться через OSPF. В ROS 6 я решал это путем «тегирования» статических маршрутов специальным BGP-сообществом (65511:1), а затем с помощью фильтра маршрутизации на ospf-out пропускал к перераспределению только помеченные маршруты. Пример (ROS 6.49.5):

    /ip route add bgp-communities=65111:1 comment="route to be redistributed" dst-address=10.1.0.0/22 type=blackhole  
    /ip route add comment="pure local static route" dst-address=10.1.8.0/23 gateway=10.2.0.1  
    /routing ospf instance set [find default=yes] redistribute-static=as-type-1
    /routing filter add action=accept bgp-communities=65511:1 chain=ospf-out comment="redistribute tagged routes" protocol=static  
    /routing filter add action=discard chain=ospf-out comment="discard all other static routes" protocol=static  

    «Нетегированные» статические маршруты подавлялись и не попадали в таблицы маршрутизации других OSPF-роутеров внутри области.  

    После обновления до ROS 7.1.5 способ тегирования с помощью BGP-сообщества больше не поддерживается синтаксисом. Я пытался сохранить такое же поведение, но маршруты, похоже, всё равно перераспределяются, даже если применяется действие «reject». Пример (ROS 7.1.5):

    /ip route add blackhole comment="route to be redistributed" disabled=no distance=2 dst-address=10.1.0.0/22 routing-table=main suppress-hw-offload=no  
    /ip route add comment="pure local static route" disabled=no distance=10 10.1.8.0/23 gateway=10.2.0.1 routing-table=main suppress-hw-offload=no  
    /routing ospf instance add name=default-v2 out-filter-chain=ospf-out redistribute=static  
    /routing filter rule add chain=ospf-out comment="redistribute only static routes with distance lower than 10" disabled=no rule="if (protocol static && active && distance < 10 ) { set ospf-ext-tag 9; accept; }"  
    /routing filter rule add chain=ospf-out comment="don''t redistribute other static routes" disabled=no rule="if (protocol static ) { set ospf-ext-tag 10; reject; }"  

    С таким конфигом, просматривая таблицу маршрутизации на другом роутере из OSPF-области, я вижу, что маршруты помечены как OSPF external (как и ожидалось), но даже «отклонённый» маршрут присутствует, и у него ospf-ext-tag=10, что подтверждает срабатывание фильтра. (ospf-ext-tag используется только для отладки.)

    Это баг? Или я что-то делаю не так? Есть ли простой и логичный способ реализовать подобное тегирование и фильтрацию?  

    Замечу, что приведённый код — упрощённый пример, в реальной конфигурации у меня гораздо больше маршрутов как IPv4, так и IPv6.  

    С уважением.
     
     
     
    aseques
    Guest
    #2
    0
    08.04.2022 11:59:00
    Привет, @aleksis, ты знаешь, где можно почитать об этом подробнее? Насколько я понимаю, в версии 6 фильтр на выходе применялся после выбора типа перераспределения. Значит теперь мне нужно убрать redistribute=connected и создать правила для тех маршрутов, которые я хочу распространять? Спасибо!
     
     
     
    sirbryan
    Guest
    #3
    0
    12.04.2022 17:53:00
    Вот что мне тоже объяснили в службе поддержки. Но они забыли упомянуть это в заметках к релизу и не обновили документацию (по крайней мере, на тот момент).
     
     
     
    JoshDi
    Guest
    #4
    0
    26.07.2022 17:44:00
    С какой версии это правда? Будут ли следующие фильтры ospf-out-mesh перераспределять маршруты, если они принадлежат протоколу connected или vpn?

    /routing filter rule  
    add chain=ospf-in-mesh disabled=no rule="set distance 205;\nset bgp-communities 65000:110;\naccept;"  
    add chain=ospf-out-mesh disabled=no rule="if (dst in 10.70.72.1/32 && dst-len == 32) {\n  reject;\n}"  
    add chain=ospf-out-mesh disabled=no rule="if (dst in 10.70.91.1/32 && dst-len == 32) {\n  reject;\n}"  
    add chain=ospf-out-mesh disabled=no rule="if (dst in 10.0.0.0/8 && dst-len in 18-32 && (protocol connected || protocol vpn) ) {\n  set ospf-ext-type type1; accept;\n}"  
    add chain=ospf-out-mesh disabled=no rule="if (dst == 0.0.0.0/0 && (protocol connected || protocol vpn) ) {\n  set ospf-ext-type type1; accept;\n}"  
    add chain=ospf-out-mesh disabled=no rule="reject;"
     
     
     
    BrateloSlava
    Guest
    #5
    0
    26.07.2022 19:17:00
    Что касается меня:
    /routing id add disabled=no id=172.22.1.254 name=id-tp select-dynamic-id=""
    /routing ospf instance add disabled=no name=rt-tp originate-default=never redistribute=static router-id=id-tp
     
     
     
    JoshDi
    Guest
    #6
    0
    26.07.2022 19:23:00
    Я перечитал документацию по OSPF версии 7 насчёт перераспределения и фильтров… Думаю, что в этой ветке форума правильно сказано: всё, что задано на перераспределение, будет принято и игнорирует правила фильтров, которые отвергают эти маршруты. https://help.mikrotik.com/docs/display/ROS/OSPF#OSPF-ExternalRoutingInformationandDefaultRoute

    Поскольку перераспределение регулируется параметрами «originate-default» и «redistribute», это создаёт некоторые особые ситуации при фильтрации маршрута по умолчанию.  
    Если включён redistribute, то выбираются все маршруты, совпадающие с параметрами redistribute.  
    Если originate-default=never — маршрут по умолчанию будет отвергнут.  
    Выбранные маршруты пропускаются через out-select-chain (если настроена).  
    Выбранные маршруты пропускаются через out-filter-chain (если настроена).  
    Если originate-default установлен в always или if-installed: OSPF создаёт фиктивный маршрут по умолчанию без атрибутов; этот маршрут прогоняется через out-filter-chain, где атрибуты могут быть применены, но действие игнорируется (всегда принимается).  

    Последняя строчка очень важна. В любом случае, глядя на настройку ospf, которую ты прислал, @BrateloSlava, все статические маршруты будут перераспределяться, вне зависимости от настроенных у тебя фильтров ospf-out. Поскольку ты не показал никаких OSPF-Out фильтров, я не могу проверить, есть ли какие-то конфликты.  

    Суть в том, что можно убрать redistribute static из инстанса OSPF и тогда принимать или отвергать статические маршруты уже на основе OSPF-Out фильтров. В моём посте выше видно, что мои фильтры принимают определённые IP-диапазоны, которые подключены или созданы через VPN. Если хочешь сделать что-то похожее с STATIC маршрутами, можно фильтровать по «protocol STATIC».
     
     
     
    BrateloSlava
    Guest
    #7
    0
    27.07.2022 12:23:00
    @JoshDi Мне кажется, что входящие и исходящие фильтры стоит применять только при необходимости тонкой настройки. Поэтому в большинстве случаев я отказываюсь от этой опции: /routing filter rule add chain=ospf-out comment="redistribute default route - never, redistribute static routes - as type 1" disabled=yes rule="if ( dst != 0.0.0.0/0 && protocol static ) { set ospf-ext-metric 15; set ospf-ext-type type1; accept }"
     
     
     
    JoshDi
    Guest
    #8
    0
    27.07.2022 12:55:00
    Да, верно. Я являюсь частью mesh-сети, которая представляет собой довольно большую и сложную PTMP-сеть, поэтому требуется тонкая настройка. Однако это не так у всех.
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2026 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры