В RouterOS 7 Routing Filters сильно изменился, превратившись в строковую команду формат если ( [совпадает] ) { [Делай это] } иначе { [Это] }
За основу взята статья https://rickfreyconsulting.com/wp-content/uploads/2022/04/ROSv7-Filters-Cheat-Sheet-1.pdf
И официальная справка https://help.mikrotik.com/docs/display/ROS/Route+Selection+and+Filters
Конкретный пример — Routing Filter OSPF
Содержание
- OSPF Filters
- Установить Pref Source
- Смена Distance всему ospf
- Смена Distance одному маршруту
- Не принимать маршрут
- Комментарий на маршрут
- Не принимать маршруты CIDR длины
- Смена метрики на Type-1
- Смена метрики и Type-1 на Type-2
- BGP Filters
- Смена Distance всему BGP
- Смена Distance одному маршруту
- Смена Scope и Target Scope
- Не принимать маршрут по префиксу
- Добавить комментарий на маршрут
- Не принимать маршруты CIDR длины /24 и больше
- Установить Weight
- Установить Local Preference
- Установить Path Prepend
- Сменить Prepending входящему маршруту
- Отбросить маршрут, где Prepanded добавлен более 4 раз
- Установить MED входящему маршруту
- Установить MED исходящему маршруту
- Установить IGP метрику
- RIP Filters
- Смена дистанции для всех RIP маршрутов
- Смена дистанции RIP
- Отбросить входящий по префиксу
- Добавить комментарий
- Не принимать маршруты CIDR длины >=/31
OSPF Filters
Установить Pref Source
if ( protocol ospf ) {set pref-src 172.16.9.1; accept;} 
Смена Distance всему ospf
if ( protocol ospf ) { set distance 50; accept } Смена Distance одному маршруту
if ( dst==172.16.1.3/32 ) { set distance 40; accept } Не принимать маршрут
if ( dst==172.16.1.3/32 ) { reject } Комментарий на маршрут
"if ( dst==172.16.1.3/32 ) { set comment To_Main_Tower } Не принимать маршруты CIDR длины
if ( dst-len >=31 ) { reject } Смена метрики на Type-1
if ( dst==0.0.0.0/0 ) { set ospf-ext-metric 20 } Смена метрики и Type-1 на Type-2
if ( dst==0.0.0.0/0 ) { set ospf-ext-type type2; set ospf-extmetric 25 } BGP Filters
Смена Distance всему BGP
if ( protocol BGP ) { set distance 10; accept } Смена Distance одному маршруту
if ( dst==172.16.1.3/32 ) { set distance 40; accept } Смена Scope и Target Scope
if ( dst==123.123.123.0/24 ) { set scope 50; set scope-target
35; accept } Не принимать маршрут по префиксу
if ( dst==172.16.1.3/32 ) { reject } Добавить комментарий на маршрут
if ( dst==172.16.1.3/32 ) { set comment To_Main_Tower } Не принимать маршруты CIDR длины /24 и больше
if ( dst-len >=24 ) { reject } Установить Weight
if ( dst==123.123.123.0/24 ) { set bgp-weight 50; accept } Установить Local Preference
if ( dst==123.123.123.0/24 ) { set bgp-local-pref 200; accept } Установить Path Prepend
if ( dst==123.123.123.0/24 ) { set bgp-path-prepend 10; accept } Сменить Prepending входящему маршруту
if ( dst==123.123.123.0/24 ) { set bgp-path-peer-prepend 1; accept } Отбросить маршрут, где Prepanded добавлен более 4 раз
if ( dst==123.123.123.0/24 ) { set bgp-path-peer-prepend > 4; reject } Установить MED входящему маршруту
if ( dst==123.123.123.0/24 ) { set bgp-med 50; accept } Установить MED исходящему маршруту
if ( dst==123.123.123.0/24 ) { set bgp-out-med 50; accept } Установить IGP метрику
if ( dst==123.123.123.0/24 ) { set bgp-igp-metric 10; accept } RIP Filters
Смена дистанции для всех RIP маршрутов
if ( protocol rip ) { set distance 30; accept } Смена дистанции RIP
if ( dst==172.16.1.3/32 ) { set distance 40; accept } Отбросить входящий по префиксу
if ( dst==172.16.1.3/32 ) { reject } Добавить комментарий
if ( dst==172.16.1.3/32 ) { set comment To_Main_Tower } Не принимать маршруты CIDR длины >=/31
if ( dst-len >=31 ) { reject } 