RouterOS v7, исключить bgp-atomic-aggregate

RIP, OSFP, BGP, MPLS/VPLS
Ответить
Аватара пользователя
SUrov_IBM
Сообщения: 9
Зарегистрирован: 10 фев 2023, 12:17

RouterOS v7, исключить bgp-atomic-aggregate

Сообщение SUrov_IBM »

RouterOS version: 7.7 (stable)

Пытаюсь понять, как исключить bgp-atomic-aggregate в сторону определённого peer?

if (chain xxx.xxx.xxx.xxx/xx) {set bgp-out-med 0; set bgp-path-prepend 5; accept}

Вроде получается, что хотел:

routing bgp advertisements print
peer= ASXXXXX dst= xxx.xxx.xxx.xxx/xx med=0 nexthop=xxx.xxx.xxx.xxx origin=0
as-path=sequence XXXXX XXXXX XXXXX XXXXX XXXXX atomic-aggregate=yes

А вот с atomic-aggregate "не выходит каменный цветок"!

Примечание: в схеме происходит redistributed маршрута пришедшего по IGP (iBGP) в eBGP, при этом RouterOS устанавливает в advertisement атрибут atomic-aggregate. Возможно данное поведение нормально, правда в этом я не уверен.

Если произвести advertisement (анонс) xxx.xxx.xxx.xxx/xx в eBGP от статического blackhole маршрута самой RouterOS, то atomic-aggregate отсутствует. Но требуется именно redistributed, чтобы при отсутствии маршрута xxx.xxx.xxx.xxx/xx в IGP, в eBGP анонс не проходил.

Скорей всего что-то я не правильно настраиваю в redistributed... и до конца не понимая логику RouterOS. :(


Заранее большое спасибо за подсказку, если кто-то сталкивался.
Аватара пользователя
Chupaka
Сообщения: 3870
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск
Контактная информация:

Re: RouterOS v7, исключить bgp-atomic-aggregate

Сообщение Chupaka »

Пальцем в небо: "If a BGP speaker selects a less specific route, when a more specific route is available, it must attach the Atomic Aggregate attribute when propagating the route" - у вас нет ли, часом, маршрутов с большей маской для этой подсети?..
Аватара пользователя
SUrov_IBM
Сообщения: 9
Зарегистрирован: 10 фев 2023, 12:17

Re: RouterOS v7, исключить bgp-atomic-aggregate

Сообщение SUrov_IBM »

Chupaka, здравствуйте.

Спасибо, что откликнулись!

Нет, маршрутов с большей маской для сети xxx.xxx.xxx.0/24 в таблице маршрутизации нет.
[xxxx@MikroTik] > /ip route/print
Flags: D - DYNAMIC; X, I, A - ACTIVE; c, s, b, y - COPY
Columns: DST-ADDRESS, GATEWAY, DISTANCE
# DST-ADDRESS GATEWAY DISTANCE
0 Xs 0.0.0.0/0 xxx.xxx.13.221 1
1 Xs xxx.xxx.xxx.0/24 1
DAb 0.0.0.0/0 xxx.xxx.13.221 20
DAc xxx.xxx.xxx.220/30 eth0 0
2 As xxx.xxx.xxx.161/32 xxx.xxx.13.221 1
3 As 172.0.255.1/32 172.31.255.242 1
DAc 172.31.255.240/30 JSC_ xxxxtel-to-ASXXXXX_(MTS) 0
DAb xxx.xxx.xxx.0/24 xxx.xxx.xxx.xxx 200
DAc xxx.xxx.xxx.20/30 ASXXXXX@MISATO-GW 0
4 As xxx.xxx.32.0/24 xxx.xxx.13.221 1

Маршрут "1 Xs xxx.xxx.xxx.0/24" выключен, он нужен был для проверки анонса с blackhole.
Могу выложить полный конфигурационный файл маршрутизатора если потребуется.
Аватара пользователя
SUrov_IBM
Сообщения: 9
Зарегистрирован: 10 фев 2023, 12:17

Re: RouterOS v7, исключить bgp-atomic-aggregate

Сообщение SUrov_IBM »

Код: Выделить всё

/interface ethernet
set [ find default-name=ether1 ] disable-running-check=no name=eth0
/interface ipip
add !keepalive local-address=xxx.xxx.xxx.222 name="JSC_ xxxxtel-to-AS4xxxx_(MTS)" \
    remote-address=xxx.xxx.xxx.161
/interface gre
add !keepalive local-address=172.31.255.241 name=AS4xxxx@MISATO-GW \
    remote-address=172.0.255.1
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/ip neighbor discovery-settings
set discover-interface-list=none
/ip address
add address=xxx.xxx.xxx.222/30 interface=eth0 network=xxx.xxx.xxx.220
add address=172.31.255.241/30 interface="JSC_ xxxxtel-to-AS4xxxx_(MTS)" \
    network=172.31.255.240
add address=xxx.xxx.xxx.21/30 interface=AS4xxxx@MISATO-GW network=\
    xxx.xxx.xxx.20
/ip dhcp-client
add interface=eth0
/ip dns
set servers=xxx.xxx.xxx.2,xxx.xxx.xxx.2
/ip firewall address-list
add address=xxx.xxx.xxx.0/24 list=AS5xxxx-ADVERTISED
/ip firewall service-port
set ftp disabled=yes
set tftp disabled=yes
set h323 disabled=yes
set sip disabled=yes
set pptp disabled=yes
/ip route
add disabled=yes distance=1 dst-address=0.0.0.0/0 gateway=xxx.xxx.xxx.221 \
    pref-src="" routing-table=main scope=30 suppress-hw-offload=no \
    target-scope=10
add disabled=no dst-address=xxx.xxx.32.0/24 gateway=xxx.xxx.xxx.221 \
    routing-table=main suppress-hw-offload=no
add disabled=no dst-address=172.0.255.1/32 gateway=172.31.255.242 \
    routing-table=main suppress-hw-offload=no
add disabled=no dst-address=xxx.xxx.xxx.161/32 gateway=xxx.xxx.xxx.221 \
    routing-table=main suppress-hw-offload=no
add blackhole disabled=yes distance=1 dst-address=xxx.xxx.xxx.0/24 gateway="" \
    pref-src="" routing-table=main scope=30 suppress-hw-offload=no \
    target-scope=10
/ip service
set telnet disabled=yes
set ftp disabled=yes
set www disabled=yes
set ssh disabled=yes
set api disabled=yes
set winbox address=xxx.xxx.32.0/24,xxx.xxx.xxx.0/24
set api-ssl disabled=yes
/routing bgp connection
add as=4xxxx disabled=no input.filter=MISATO-GW-iBGP-in.AS4xxxx \
    local.address=xxx.xxx.xxx.21 .role=ibgp name=MISATO-GW-iBGP \
    output.default-originate=always .filter-chain=MISATO-GW-iBGP-out.AS4xxxx \
    .redistribute="" remote.address=xxx.xxx.xxx.22/32 .as=4xxxx router-id=\
    xxx.xxx.xxx.21 routing-table=main
add as=4xxxx disabled=no input.filter=AS5xxxx-ROUTES local.address=\
    xxx.xxx.xxx.222 .role=ebgp name=AS5xxxx output.filter-chain=\
    AS5xxxx-ADVERTISED .network=AS5xxxx-ADVERTISED .redistribute=bgp \
    remote.address=xxx.xxx.xxx.221/32 .as=5xxxx router-id=xxx.xxx.xxx.222 \
    routing-table=main
/routing filter rule
add chain=xxx.xxx.xxx.0/24 disabled=no rule=\
    "if (dst==xxx.xxx.xxx.0/24) {accept}"
add chain=0.0.0.0/0 rule="if (dst==0.0.0.0/0) {accept}"
add chain=xxx.xxx.xxx.220/30 rule="if (dst==xxx.xxx.xxx.220/30) {accept}"
add chain=MISATO-GW-iBGP-in.AS4xxxx disabled=no rule=\
    "if (chain xxx.xxx.xxx.0/24) {set distance 200; accept}"
add chain=MISATO-GW-iBGP-out.AS4xxxx disabled=yes rule=\
    "if (chain xxx.xxx.xxx.220/30) {accept}"
add chain=MISATO-GW-iBGP-out.AS4xxxx rule="if (chain 0.0.0.0/0) {accept}"
add chain=AS5xxxx-ADVERTISED disabled=no rule="if (chain xxx.xxx.xxx.0/24) {se\
    t bgp-out-med 0; set bgp-path-prepend 5; accept}"
add chain=AS5xxxx-ROUTES rule="if (chain 0.0.0.0/0) {accept}"
/system clock
set time-zone-autodetect=no time-zone-name=Europe/Moscow
/system ntp client
set enabled=yes
/system ntp client servers
add address=ru.pool.ntp.org
add address=ntp.ix.ru
Аватара пользователя
Chupaka
Сообщения: 3870
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск
Контактная информация:

Re: RouterOS v7, исключить bgp-atomic-aggregate

Сообщение Chupaka »

Приветствую. На всякий случай: xxx.xxx.xxx.161/32 точно не входит в подсеть xxx.xxx.xxx.0/24?.. А то мало ли...
Аватара пользователя
SUrov_IBM
Сообщения: 9
Зарегистрирован: 10 фев 2023, 12:17

Re: RouterOS v7, исключить bgp-atomic-aggregate

Сообщение SUrov_IBM »

Chupaka писал(а): 10 фев 2023, 22:28 Приветствую. На всякий случай: xxx.xxx.xxx.161/32 точно не входит в подсеть xxx.xxx.xxx.0/24?.. А то мало ли...
Нет, xxx.xxx.xxx.161/32 не входит в подсеть xxx.xxx.xxx.0/24, а вот " DAc xxx.xxx.xxx.20/30 ASXXXXX@MISATO-GW 0" это подсеть сети xxx.xxx.xxx.0/24 с "малой" маской /30. Через неё построено IGP (iBGP) с другим маршрутизатором, откуда собственно и передаётся iBGP анонс сети xxx.xxx.xxx.0/24.
Аватара пользователя
SUrov_IBM
Сообщения: 9
Зарегистрирован: 10 фев 2023, 12:17

Re: RouterOS v7, исключить bgp-atomic-aggregate

Сообщение SUrov_IBM »

Может я неправильно понимаю Ваш вопрос:
Chupaka писал(а): 10 фев 2023, 15:38 Пальцем в небо: "If a BGP speaker selects a less specific route, when a more specific route is available, it must attach the Atomic Aggregate attribute when propagating the route" - у вас нет ли, часом, маршрутов с большей маской для этой подсети?..
Маску /30, я считаю меньшей по отношению к /24.
Аватара пользователя
SUrov_IBM
Сообщения: 9
Зарегистрирован: 10 фев 2023, 12:17

Re: RouterOS v7, исключить bgp-atomic-aggregate

Сообщение SUrov_IBM »

Chupaka писал(а): 10 фев 2023, 15:38 when a more specific route is available, it must attach the Atomic Aggregate attribute when propagating the route
Или имеется в виду, что если в таблице маршрутизации есть подсеть более предпочтительная для маршрутизации (с более приоритетной маской, например /30) по отношению к анонсируемой сети и при этом являющаяся её составной частью (подсетью), будет установлен атрибут Atomic Aggregate?

Если так, то это как раз получатся мой случай. Тогда вопрос в том, можно ли обойти данное поведение штатными средствами RouterOS или придётся строить линковочную подсеть /30 для IGP (iBGP) не попадающую в диапазон xxx.xxx.xxx.0/24?
Аватара пользователя
SUrov_IBM
Сообщения: 9
Зарегистрирован: 10 фев 2023, 12:17

Re: RouterOS v7, исключить bgp-atomic-aggregate

Сообщение SUrov_IBM »

Для теста в линковочной iBGP подсети xxx.xxx.xxx.20/30 заменил адреса на частные 172.16.10.0/30, чтобы избежать пересечения адресации по маске. Теперь единственным активным маршрутом для сети xxx.xxx.xxx.0/24 остаётся полученный по iBGP xxx.xxx.xxx.0/24 (с дистанцией 200).

DAc 172.16.10.0/30 AS4XXXX@MISATO-GW 0
DAb xxx.xxx.xxx.0/24 172.16.10.2 200

Всё равно в advertisement eBGP остаётся флаг atomic-aggregate=yes. Пробовал менять дистанцию с 200 на 1, на atomic-aggregate так же не повлияло.

Возможно это BAG самой RouterOS версии 7.7? Попробую собрать тестовый стенд с версией 7.2, где имеется упоминание "route - fixed BGP atomic aggregate value" и идентичной конфигурацией. :)
Аватара пользователя
Chupaka
Сообщения: 3870
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск
Контактная информация:

Re: RouterOS v7, исключить bgp-atomic-aggregate

Сообщение Chupaka »

Ну и можете сразу в поддержку MikroTik написать
Аватара пользователя
SUrov_IBM
Сообщения: 9
Зарегистрирован: 10 фев 2023, 12:17

Re: RouterOS v7, исключить bgp-atomic-aggregate

Сообщение SUrov_IBM »

К сожалению, проблема в задаче с фантомным атрибутом atomic-aggregate разрешилась использованием более ранней версии RouterOS 6.49.7. Так же альтернативно была использована Quagga, чтобы убедиться в корректности схемы, результат как и с RouterOS 6.49.7 - атрибут atomic-aggregate не устанавливается.
Вложения
atomic-aggregate-NO.JPG
atomic-aggregate-NO.JPG (17.9 КБ) 3961 просмотр
Аватара пользователя
SUrov_IBM
Сообщения: 9
Зарегистрирован: 10 фев 2023, 12:17

Re: RouterOS v7, исключить bgp-atomic-aggregate

Сообщение SUrov_IBM »

В версиях RouterOS 7.6 и 7.7 (ниже 7.6 пробовать не стал из-за отсутствия штатного advertisement viewer) пробовал по разному провести настройки. Например задал маршруту xxx.xxx.xxx.0/24 пришедшему по iBGP тип blackhole, чтобы анонсировать без redistributed, через /routing/bgp/connection output.network, по аналогии со static blackhole..., но результат то же - atomic-aggregate=yes.
Вложения
atomic-aggregate.JPG
atomic-aggregate.JPG (23.86 КБ) 3961 просмотр
Ответить