Я заменяю предыдущую P2P-связь на базе OpenWRT двумя устройствами RB912. Пока что беспроводная часть работает отлично: хороший сигнал и производительность. Но у меня проблемы с конфигурацией BGP. Оба сайта образуют свои AS (сайт A — AS 64600, сайт B — AS 64601). Каждый сайт имеет магистраль с несколькими роутерами. В магистрали используется OSPF и iBGP. Два роутера в магистрали выступают в роли iBGP route reflectors. ether1 на MikroTik подключен к магистрали. OSPF работает корректно, все внутренние сети доступны. Также мне удалось успешно настроить iBGP-пиринги с двумя route reflectors. Между двумя MikroTik устройствами установлено eBGP пиринг через wlan1. Чтобы было проще понять, я визуализировал важную часть сети на приложенной схеме. Я сосредоточусь на AS 64601 (хотя для AS 64600 ситуация аналогична).
Пока пиринги работают. RB также узнаёт все маршруты от iBGP. Но эти маршруты не распространяются по моему eBGP пирингу к другому RB. На данный момент фильтры на RB не используются.
Вот моя конфигурация BGP:
[admin@BaseBox5-CPE] > /routing bgp export
mar/08/2014 22:04:24 by RouterOS 6.10
/routing bgp instance set default as=64601 router-id=172.24.8.2
/routing bgp peer add name=basebox5-ap nexthop-choice=force-self remote-address=172.24.3.33 remote-as=64600 tcp-md5-key=XXX ttl=1 update-source=wlan1
add name=fortigate nexthop-choice=force-self remote-address=172.24.8.4 remote-as=64601 ttl=1 update-source=ether1
add name=cisco nexthop-choice=force-self remote-address=172.24.8.3 remote-as=64601 ttl=1 update-source=ether1
Статус BGP показывает, что префиксы получены от iBGP пиров:
[admin@BaseBox5-CPE] > /routing bgp peer print status
Flags: X - отключён, E - установлено
0 E name=“basebox5-ap” instance=default remote-address=172.24.3.33 remote-as=64600 tcp-md5-key=“XXX” nexthop-choice=force-self hold-time=3m ttl=1 update-source=wlan1 state=established uptime=22m36s prefix-count=1 updates-received=1 updates-sent=0
1 E name=“fortigate” instance=default remote-address=172.24.8.4 remote-as=64601 nexthop-choice=force-self hold-time=3m ttl=1 update-source=ether1 state=established uptime=24m22s prefix-count=18 updates-received=18 updates-sent=0
2 E name=“cisco” instance=default remote-address=172.24.8.3 remote-as=64601 nexthop-choice=force-self hold-time=3m ttl=1 update-source=ether1 state=established uptime=18m35s prefix-count=17 updates-received=17 updates-sent=0
И вот самая интересная (и сбивающая с толку) часть — ни один маршрут не рекламируется этим RB. Я ожидал, что RB объявит маршруты, полученные от iBGP, своему eBGP пиру.
[admin@BaseBox5-CPE] > /routing bgp advertisements print
PEER PREFIX NEXTHOP AS-PATH ORIGIN LOCAL-PREF
Кроме того, подтверждая это, я не получаю никаких префиксов на другом RB.
[admin@BaseBox5-AP] > /routing bgp peer print status where name=“BaseBox5-CPE”
Flags: X - отключён, E - установлено
5 E name=“BaseBox5-CPE” instance=default remote-address=172.24.3.34 remote-as=64601 tcp-md5-key=“XXX” nexthop-choice=force-self hold-time=1m30s ttl=1 update-source=wlan1 state=established uptime=47m26s prefix-count=0 updates-sent=1 updates-received=0
Есть ли что-то особенное, что нужно настроить, чтобы маршруты BGP передавались/распространялись на другие eBGP пиры? Ранее, с устройством на OpenWRT (с Quagga в качестве роутингового демона) это работало как положено.
Заранее спасибо за любые советы!
Пока пиринги работают. RB также узнаёт все маршруты от iBGP. Но эти маршруты не распространяются по моему eBGP пирингу к другому RB. На данный момент фильтры на RB не используются.
Вот моя конфигурация BGP:
[admin@BaseBox5-CPE] > /routing bgp export
mar/08/2014 22:04:24 by RouterOS 6.10
/routing bgp instance set default as=64601 router-id=172.24.8.2
/routing bgp peer add name=basebox5-ap nexthop-choice=force-self remote-address=172.24.3.33 remote-as=64600 tcp-md5-key=XXX ttl=1 update-source=wlan1
add name=fortigate nexthop-choice=force-self remote-address=172.24.8.4 remote-as=64601 ttl=1 update-source=ether1
add name=cisco nexthop-choice=force-self remote-address=172.24.8.3 remote-as=64601 ttl=1 update-source=ether1
Статус BGP показывает, что префиксы получены от iBGP пиров:
[admin@BaseBox5-CPE] > /routing bgp peer print status
Flags: X - отключён, E - установлено
0 E name=“basebox5-ap” instance=default remote-address=172.24.3.33 remote-as=64600 tcp-md5-key=“XXX” nexthop-choice=force-self hold-time=3m ttl=1 update-source=wlan1 state=established uptime=22m36s prefix-count=1 updates-received=1 updates-sent=0
1 E name=“fortigate” instance=default remote-address=172.24.8.4 remote-as=64601 nexthop-choice=force-self hold-time=3m ttl=1 update-source=ether1 state=established uptime=24m22s prefix-count=18 updates-received=18 updates-sent=0
2 E name=“cisco” instance=default remote-address=172.24.8.3 remote-as=64601 nexthop-choice=force-self hold-time=3m ttl=1 update-source=ether1 state=established uptime=18m35s prefix-count=17 updates-received=17 updates-sent=0
И вот самая интересная (и сбивающая с толку) часть — ни один маршрут не рекламируется этим RB. Я ожидал, что RB объявит маршруты, полученные от iBGP, своему eBGP пиру.
[admin@BaseBox5-CPE] > /routing bgp advertisements print
PEER PREFIX NEXTHOP AS-PATH ORIGIN LOCAL-PREF
Кроме того, подтверждая это, я не получаю никаких префиксов на другом RB.
[admin@BaseBox5-AP] > /routing bgp peer print status where name=“BaseBox5-CPE”
Flags: X - отключён, E - установлено
5 E name=“BaseBox5-CPE” instance=default remote-address=172.24.3.34 remote-as=64601 tcp-md5-key=“XXX” nexthop-choice=force-self hold-time=1m30s ttl=1 update-source=wlan1 state=established uptime=47m26s prefix-count=0 updates-sent=1 updates-received=0
Есть ли что-то особенное, что нужно настроить, чтобы маршруты BGP передавались/распространялись на другие eBGP пиры? Ранее, с устройством на OpenWRT (с Quagga в качестве роутингового демона) это работало как положено.
Заранее спасибо за любые советы!