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

    Порядок фильтрации маршрутизации

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Порядок фильтрации маршрутизации, RouterOS
     
    shyrwall
    Guest
    #1
    0
    04.07.2017 11:07:00
    Привет! Если я правильно понял, фильтры маршрутизации обрабатываются сверху вниз в рамках одной цепочки. У каждого правила в фильтрах есть номер правила. Например, вывод routing filter print:

    0   chain=IPV4-TRANSIT-IN invert-match=no action=accept set-bgp-local-pref=100 set-bgp-prepend-path="" set-bgp-med=5000  
    1   chain=IPV4-TRANSIT-IN invert-match=no action=discard set-bgp-prepend-path=""  
    2   chain=IPV4-TRANSIT-OUT match-chain=IPV4-WORLD-OUT bgp-as-path=^$ invert-match=no action=accept set-bgp-prepend-path="" set-bgp-med=1000  
    3   chain=IPV4-TRANSIT-OUT match-chain=IPV4-WORLD-OUT bgp-communities=41281:9000 invert-match=no action=accept set-bgp-prepend-path="" set-bgp-med=1000  
    4   chain=IPV4-TRANSIT-OUT invert-match=no action=discard set-bgp-prepend-path=""

    В чем назначение этого номера правила? Ведь очевидно, что он никак не влияет на фактический порядок обработки правил. Например, я могу переместить правило #2 из IPV4-TRANSIT-OUT на первое место вот так:

    0   chain=IPV4-TRANSIT-OUT match-chain=IPV4-WORLD-OUT bgp-as-path=^$ invert-match=no action=accept set-bgp-prepend-path="" set-bgp-med=1000  
    1   chain=IPV4-TRANSIT-IN invert-match=no action=accept set-bgp-local-pref=100 set-bgp-prepend-path="" set-bgp-med=5000  
    2   chain=IPV4-TRANSIT-IN invert-match=no action=discard set-bgp-prepend-path=""  
    3   chain=IPV4-TRANSIT-OUT match-chain=IPV4-WORLD-OUT bgp-communities=41281:9000 invert-match=no action=accept set-bgp-prepend-path="" set-bgp-med=1000  
    4   chain=IPV4-TRANSIT-OUT invert-match=no action=discard set-bgp-prepend-path=""

    И это сильно запутывает, если просто смотреть на список. Поэтому у меня такой вопрос: есть ли разница в обработке, если делать вышеописанные изменения и перемещать правила внутри цепочки, не группируя их вместе, но сохраняя порядок? Если разницы нет, может, Mikrotik стоит изменить или добавить так, чтобы номера правил присваивались с группировкой по цепочкам. Например:

    0   chain=IPV4-TRANSIT-IN invert-match=no action=accept set-bgp-local-pref=100 set-bgp-prepend-path="" set-bgp-med=5000  
    1   chain=IPV4-TRANSIT-IN invert-match=no action=discard set-bgp-prepend-path=""  
    0   chain=IPV4-TRANSIT-OUT match-chain=IPV4-WORLD-OUT bgp-as-path=^$ invert-match=no action=accept set-bgp-prepend-path="" set-bgp-med=1000  
    1   chain=IPV4-TRANSIT-OUT match-chain=IPV4-WORLD-OUT bgp-communities=41281:9000 invert-match=no action=accept set-bgp-prepend-path="" set-bgp-med=1000  
    2   chain=IPV4-TRANSIT-OUT invert-match=no action=discard set-bgp-prepend-path=""

    Ещё один пример: если вывести правила для одной цепочки, например routing filter print where chain=IPV4-TRANSIT-IN, номера будут отсчитываться от 0 и дальше. Это подтверждает, что номера правил — это просто счётчик для вывода, который на самом деле не связан с конкретным правилом.

    Ещё больше путаницы вносит такой вывод для цепочки IPV4-TRANSIT-OUT:

    0   chain=IPV4-TRANSIT-OUT match-chain=IPV4-WORLD-OUT bgp-as-path=^$ invert-match=no action=accept set-bgp-prepend-path="" set-bgp-med=1000  
    1   chain=IPV4-TRANSIT-OUT match-chain=IPV4-WORLD-OUT bgp-communities=41281:9000 invert-match=no action=accept set-bgp-prepend-path="" set-bgp-med=1000  
    2   chain=IPV4-TRANSIT-OUT invert-match=no action=discard set-bgp-prepend-path=""

    Если я хочу, например, переместить правило #1 на позицию #0, то я не могу использовать номера из этого вывода, а должен ориентироваться на номера, которые показаны при выводе всех правил вместе, то есть при routing filter print:

    0   chain=IPV4-TRANSIT-IN invert-match=no action=accept set-bgp-local-pref=100 set-bgp-prepend-path="" set-bgp-med=5000  
    1   chain=IPV4-TRANSIT-IN invert-match=no action=discard set-bgp-prepend-path=""  
    2   chain=IPV4-TRANSIT-OUT match-chain=IPV4-WORLD-OUT bgp-as-path=^$ invert-match=no action=accept set-bgp-prepend-path="" set-bgp-med=1000  
    3   chain=IPV4-TRANSIT-OUT match-chain=IPV4-WORLD-OUT bgp-communities=41281:9000 invert-match=no action=accept set-bgp-prepend-path="" set-bgp-med=1000  
    4   chain=IPV4-TRANSIT-OUT invert-match=no action=discard set-bgp-prepend-path=""

    И тогда команда перемещения будет выглядеть так: routing filter move numbers=3 destination=2

    Извиняюсь за сумбурный пост. Надеюсь, кто-то поймёт и скажет, делаю ли я что-то не так, или может быть, Mikrotik стоит сделать так, чтобы номера правил были привязаны к конкретной цепочке. Пример для сравнения — Cisco с их "route-map IPV4-TRANSIT-OUT permit 10", "permit 20" и так далее.
     
     
     
    murgatroid
    Guest
    #2
    0
    28.06.2018 03:45:00
    Это заставило меня почесать голову на некоторое время. Хотя вы можете изменить порядок правил, новый порядок не активируется. Однако, если вы «включите» правило в цепочке фильтрации (даже если оно уже «включено»), это приводит к сбросу цепочки и повторному применению правил в правильном (новом) порядке. Может, Mikrotik стоит добавить это в свою документацию?
     
     
     
    Cha0s
    Guest
    #3
    0
    09.07.2018 14:55:00
    Эта ошибка существует уже очень давно. Её много раз сообщали за эти годы, но на неё просто не обращают внимания.
     
     
     
    nz_monkey
    Guest
    #4
    0
    19.07.2018 02:12:00
    Эта ошибка сводит меня с ума последние 8 лет. Такое ощущение, что разработчик маршрутизации Mikrotik ушёл 8 лет назад. За всё это время были только мелкие исправления, никаких улучшений в BGP/OSPF/RIPv2/PIM/LDP/RSVP не произошло, хотя повторяющихся багов полно. Как клиенту, очень расстраивает видеть, что такие ошибки остаются нерешёнными так долго.
     
     
     
    Hammy
    Guest
    #5
    0
    19.07.2018 14:27:00
    Я заметил, что копирование правила МОЖЕТ всё испортить, но создание новых правил с нуля (или вставка команд в CLI) работает без проблем.
     
     
     
    pe1chl
    Guest
    #6
    0
    19.07.2018 16:45:00
    Когда вы добавляете новое правило, оно по умолчанию появляется внизу. Если вам не нужно, чтобы оно там было (например, его нужно обработать где-то между уже существующими правилами), вы можете его переместить, но само по себе это перемещение не заставит программу заново обработать фильтры, как должно быть. А вот отключение и повторное включение — это делает. Отсюда и возникает большая часть недоразумений.
     
     
     
    Cha0s
    Guest
    #7
    0
    19.07.2018 16:50:00
    Когда копируешь существующее правило, новая копия на самом деле вставляется сразу ниже того правила, которое ты скопировал. Но показывается она в самом низу списка. Нажатие F5 обновит список правил и покажет их в правильном порядке, без необходимости что-то перемещать. (То же самое касается IP > Routes > Rules). Но всё равно это срабатывает не всегда, и иногда приходится отключать и заново включать новое правило. Ещё я предпочитаю просто выделять правила и нажимать только «включить» (даже если они уже включены). Так они снова обрабатываются, и при этом не происходит утечки маршрутов даже на секунду, как при отключении/включении.
     
     
     
    eset
    Guest
    #8
    0
    31.01.2019 08:50:00
    У меня такая ошибка, я не понимаю маршрутизационную фильтрацию. Два IPsec-туннеля с разными пирингами. Настроил BGP на каждой сессии.

    /routing bgp peer  
    add address-families=ip,vpnv4 in-filter=casino-in name=up-gcp_casino out-filter=casinio-out remote-address=169.254.0.2 remote-as=65502 ttl=default  
    add address-families=ip,vpnv4 in-filter=bb-in instance=up-gcp_bb name=up-gcp_bb out-filter=bb-out remote-address=169.254.0.6 remote-as=65506 ttl=default  

    /routing bgp instance  
    set default as=65500 client-to-client-reflection=no out-filter=casinio-out redistribute-ospf=yes router-id=169.254.0.1  
    add as=65500 client-to-client-reflection=no name=up-gcp_bb out-filter=bb-out redistribute-ospf=yes router-id=169.254.0.5  

    Потом добавил такую фильтрацию маршрутов /routing filter:  
    add action=accept chain=casino-in  
    add action=accept chain=bb-in  
    add action=accept chain=casino-out prefix=10.5.0.0/22  
    add action=accept chain=casino-out prefix=172.16.0.0/23  
    add action=accept chain=bb-out prefix=10.5.0.0/22  
    add action=accept chain=bb-out prefix=172.16.0.0/23  
    add action=accept chain=bb-out prefix=10.10.0.0/24  
    add action=accept chain=bb-out prefix=172.16.16.0/30  
    add action=discard chain=casino-out  
    add action=discard chain=bb-out  
    add action=discard chain=all-out distance=!0-1  

    Но это не работает, потому что в рекламе видно вот что:  

    /routing bgp advertisements >  
    PEER     PREFIX               NEXTHOP          AS-PATH     ORIGIN     LOCAL-PREF  
    up-gc…  10.254.254.252/32    169.254.0.1                   igp  
    up-gc…  10.11.0.0/24         169.254.0.1                   igp  
    up-gc…  10.5.0.0/22          169.254.0.1                   igp  
    up-gc…  10.255.255.0/24      169.254.0.1                   igp  
    up-gc…  10.255.254.0/24      169.254.0.1                   igp  
    up-gc…  10.254.254.251/32    169.254.0.1                   igp  
    up-gc…  172.16.17.0/30       169.254.0.1                   igp  
    up-gc…  10.10.0.0/24         169.254.0.1                   igp  
    up-gc…  10.11.1.0/24         169.254.0.1                   igp  
    up-gc…  10.12.0.0/24         169.254.0.1                   igp  
    up-gc…  10.10.2.0/24         169.254.0.1                   igp  
    up-gc…  10.254.254.253/32    169.254.0.1                   igp  
    up-gc…  10.12.1.0/24         169.254.0.1                   igp  
    up-gc…  172.16.0.0/23        169.254.0.1                   igp  
    up-gc…  10.5.0.0/22          169.254.0.5                   igp  
    up-gc…  10.10.0.0/24         169.254.0.5                   igp  
    up-gc…  172.16.0.0/23        169.254.0.5                   igp  

    Как видите, 169.254.0.1 (casino-out) имеет кучу адресов, хотя я же указал, что хочу только два:  
    add action=accept chain=casino-out prefix=10.5.0.0/22  
    add action=accept chain=casino-out prefix=172.16.0.0/23
     
     
     
    jprietove
    Guest
    #9
    0
    31.01.2019 08:57:00
    Возможно, это опечатка? Посмотри сюда: /routing bgp peer  
    add address-families=ip,vpnv4 in-filter=casino-in name=up-gcp_casino out-filter=casinio-out remote-address=169.254.0.2 remote-as=65502 ttl=default  
                                                                                   ^^^^^^^ Ты написал casinio-out вместо casino-out
     
     
     
    eset
    Guest
    #10
    0
    31.01.2019 09:39:00
    Чёрт, я не расслышал... Спасибо. Извини, что отвлекаю. Кажется, я правильно понял.
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2025 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры