Привет! Сейчас в таблице Интернета около 2000 IP-префиксов с нелегальным значением community 0:0. → У других производителей это не большая проблема, а вот у Mikrotik это ломает алгоритм сопоставления для фильтра сообществ.
Например: ваш провайдер вверх по цепочке шлёт весь интернет-таблицу, а вам нужны только префиксы из Чехии. Обычно это делают, фильтруя маршруты по сообществу «Czech Republic». У Level3 есть сообщество для всех префиксов из Чехии — 3356:512.
Тогда ваш фильтр должен выглядеть так:
add action=accept bgp-communities=3356:512 chain=TEST comment=accept_cz_prefixes
add action=discard chain=TEST
Сейчас отмечено 354 маршрута с сообществом 3356:512, но мы видим, что через фильтр проходит 2393 маршрута:
/ip route> print count-only
2393
Вот пример маршрута, который неправильно прошёл фильтр:
6 ADb dst-address=2.179.0.0/16 gateway=XXX gateway-status=XX recursive via XXX vlan252 distance=200 scope=40 target-scope=30 bgp-as-path=“200612,12880” bgp-local-pref=100 bgp-med=100 bgp-origin=igp bgp-communities=0:0,XXX:30000, received-from=XXXX
В нём вовсе нет 3356:512... А вот один из «правильных» маршрутов с нужным сообществом:
0 ADb dst-address=31.179.197.0/24 gateway=XXX gateway-status=XXX recursive via XXX vlan252 distance=200 scope=40 target-scope=30 bgp-as-path=“3356,50607,198537” bgp-local-pref=100 bgp-med=100 bgp-origin=igp bgp-communities=3356:2,3356:22,3356:100,3356:123,3356:512,3356:2083,XXX:30000,XXX:30120,50607:8000,50607:8079 received-from=XXXX
Я отправлял баг-репорт несколько месяцев назад, но Mikrotik так и не починили это до сих пор:
«Хорошо, извините. Сейчас приоритет — работа над новой реализацией маршрутизации. К сожалению, не могу сказать, когда именно начнём исправлять эту проблему в старых версиях.»
Тестировал на версиях: 6.34.6, 6.36.3, 6.37rc36
С уважением, Tobias
Например: ваш провайдер вверх по цепочке шлёт весь интернет-таблицу, а вам нужны только префиксы из Чехии. Обычно это делают, фильтруя маршруты по сообществу «Czech Republic». У Level3 есть сообщество для всех префиксов из Чехии — 3356:512.
Тогда ваш фильтр должен выглядеть так:
add action=accept bgp-communities=3356:512 chain=TEST comment=accept_cz_prefixes
add action=discard chain=TEST
Сейчас отмечено 354 маршрута с сообществом 3356:512, но мы видим, что через фильтр проходит 2393 маршрута:
/ip route> print count-only
2393
Вот пример маршрута, который неправильно прошёл фильтр:
6 ADb dst-address=2.179.0.0/16 gateway=XXX gateway-status=XX recursive via XXX vlan252 distance=200 scope=40 target-scope=30 bgp-as-path=“200612,12880” bgp-local-pref=100 bgp-med=100 bgp-origin=igp bgp-communities=0:0,XXX:30000, received-from=XXXX
В нём вовсе нет 3356:512... А вот один из «правильных» маршрутов с нужным сообществом:
0 ADb dst-address=31.179.197.0/24 gateway=XXX gateway-status=XXX recursive via XXX vlan252 distance=200 scope=40 target-scope=30 bgp-as-path=“3356,50607,198537” bgp-local-pref=100 bgp-med=100 bgp-origin=igp bgp-communities=3356:2,3356:22,3356:100,3356:123,3356:512,3356:2083,XXX:30000,XXX:30120,50607:8000,50607:8079 received-from=XXXX
Я отправлял баг-репорт несколько месяцев назад, но Mikrotik так и не починили это до сих пор:
«Хорошо, извините. Сейчас приоритет — работа над новой реализацией маршрутизации. К сожалению, не могу сказать, когда именно начнём исправлять эту проблему в старых версиях.»
Тестировал на версиях: 6.34.6, 6.36.3, 6.37rc36
С уважением, Tobias
