Сам отвечаю на свой вопрос. Рабочая конфигурация такова:
routing filter add bgp-communities=65009:0 chain=bgp-out action=accept
routing filter add bgp-communities=650010:0 chain=bgp-out action=accept
routing filter add bgp-communities="" chanin=bgp-out action=discard
routing bgp peer set peer out-filter=bgp-out
Только тогда не понятно, для чего оставлена возможность писать bgp communities списком в рамках одного правила...
Привет.
Есть проблема с routing filter.
Задача: Отдать соседу по BGP только те маршруты, которые принадлежат определенным BGP communities. Наткнулся на странность.
Если я фильтрую только одно community:
routing filter add bgp-communities=65009:0 chain=bgp-out action=accept
routibg filter add bgp-communities="" chanin=bgp-out action=discard
routing bgp peer set peer out-filter=bgp-out
То все как нужно. У соседа только маршруты из community 65009:0
А если я пытаюсь фильтровать список community:
routing filter add bgp-communities=65009:0, 65010:0 chain=bgp-out action=accept
routibg filter add bgp-communities="" chanin=bgp-out action=discard
routing bgp peer set peer out-filter=bgp-out
То на соседе у меня вовсе нет маршрутов. Ни из community 65009:0 ни из community 65010:0. Хотя по логике должны быть и те и те....
Что я не так делаю? Или это бага?
RouterOS 6.27
На циско это выглядело бы примерно так
neighbor 1.1.1.1 route-map bgp-out OUT
ip community-list expanded community1 permit 65009:0
ip community-list expanded community2 permit 65010:0
route-map bgp-out permit 10
match community community1
route-map bgp-out permit 20
match community community2
Помогите сконвертировать этот конфиг в Микротик =)
А еще лучше такой, но насколько я знаю это не возможно, потому что микротик не умеет регулярные выражения в community
neighbor 1.1.1.1 route-map bgp-out OUT
ip community-list expanded community1 permit 6[4-5][0-9][0-9][0-9]:0
route-map bgp-out permit 10
match community community1
Заранее спасибо.