wtyd Posted March 23, 2016 Posted March 23, 2016 Есть cisco 6500, в ней создан vrf, для обмена маршрутами между vrf и не-vrf используется ibgp. Почему-то между ними передаются не все маршруты. Пробовали рефлектор включать, даже с обеих сторон рефлектор включали - не помогло. Выглядит это так: если смотреть в врф, то маршруты адвертайзятся, а на не-врф их нет, даже если включить софтваре-реконфигурейшн. Проблема главным образом актуальна из-за того, что в одном из маршрутизаторов, который в vrf, появился ebgp, маршруты от которого в не-vrf не проходят. Пробовали с этого маршрутизатора (на котором ebgp) поднять мультихоп бгп с не-врф, тогда маршрут появляется, но это какой-то изврат и при этом другой префикс начинает примерно раз в 15 секунд флапать (приходит анонс этого префикса, потом приходит withdrawn). Для vrf что, bgp какой-то особенный ? Почему так может происходить ? Что можно попробовать сделать ? :-) P.S. Почему между vrf сделан ibgp и зачем там вообще vrf, не спрашивайте :-). Всё в пределах одной автономки. Так исторически сложилось. vrf там не нужен, но переделать нет возможности. Вставить ник Quote
g3fox Posted March 23, 2016 Posted March 23, 2016 А маршрут к "next-hop" для тех маршрутов, коотрые не заносятся в GRT, у вас есть? что показывает sh ip bgp rib-fail ? multihop нужен только для ebgp. Вставить ник Quote
wtyd Posted March 23, 2016 Author Posted March 23, 2016 А маршрут к "next-hop" для тех маршрутов, коотрые не заносятся в GRT, у вас есть? что показывает sh ip bgp rib-fail ? multihop нужен только для ebgp. Маршрут к некстхопу тех префиксов, которые не пролазят сквозь меж-vrf'ное bgp, есть, он известен через ospf. "sh ip bgp rib-fail" показывает несколько префиксов, но среди них нет проблемных префиксов. Про ibgp мультихоп я так выразился :-), просто нейборы не-connected, обычно у нас неборы connected либо между loopback'ами bgp настраивается. Вставить ник Quote
Smoke Posted March 23, 2016 Posted March 23, 2016 По дефолту канеш не появится, так как next-hop для префикса остается в VRF. Используйте import под vrf для leaking Вставить ник Quote
wtyd Posted March 23, 2016 Author Posted March 23, 2016 (edited) По дефолту канеш не появится, так как next-hop для префикса остается в VRF. Используйте import под vrf для leaking ... а пример команды можно ? Просто что такое leaking пока не понятно. У нас на bgp между глобал и врф с обеих сторон указано next-hop self, наверное для этого ... хотя с другой стороны ibgp должно передавать next-hop неизменным. Edited March 23, 2016 by wtyd Вставить ник Quote
VolanD666 Posted March 23, 2016 Posted March 23, 2016 По дефолту канеш не появится, так как next-hop для префикса остается в VRF. Используйте import под vrf для leaking Т.е. на одной железке vrf и global? Разве можно между ними лик делать? Вставить ник Quote
g3fox Posted March 23, 2016 Posted March 23, 2016 (edited) Я изначально и хотел написать про ликинг, но есть у меня подозрение, что между GRT и VRF нельзя ликинг. Вообще, гуглится, но не вникал какие есть ограничения при этом. Тыц Edited March 23, 2016 by g3fox Вставить ник Quote
Smoke Posted March 23, 2016 Posted March 23, 2016 Как-то так SIS-CISCO7606>ena SIS-CISCO7606#sh ip vrf Name Default RD Interfaces management 65000:2 Vl15 SIS-CISCO7606#sh ip bgp vpnv4 vrf management 172.31.5.0 BGP routing table entry for 65000:2:172.31.5.0/24, version 2 Paths: (1 available, best #1, table management) Advertised to update-groups: 5 3 Refresh Epoch 1 Local 0.0.0.0 (via vrf management) from 0.0.0.0 (172.31.255.1) Origin incomplete, metric 0, localpref 100, weight 32768, valid, sourced, best Extended Community: RT:65000:1 mpls labels in/out IPv4 VRF Aggr:19/nolabel(management) rx pathid: 0, tx pathid: 0x0 SIS-CISCO7606#show ip route 172.31.5.0 Routing entry for 172.31.0.0/21 Known via "static", distance 1, metric 0 Redistributing via ospf 1 Advertised by ospf 1 subnets route-map Static-2-OSPF Routing Descriptor Blocks: * 172.31.2.1 Route metric is 0, traffic share count is 1 SIS-CISCO7606#sh run | sec vrf management ip vrf management rd 65000:2 route-target export 65000:1 route-target import 65000:2 route-target import 65000:5 route-target import 65003:3 route-target import 65000:4 route-target import 65000:6 route-target import 65000:7 SIS-CISCO7606(config)#ip prefix-list TEST2NAG permit 172.31.5.0/24 SIS-CISCO7606(config)#route-map TEST2NAG pe 10 SIS-CISCO7606(config-route-map)#match ip address prefix-list TEST2NAG SIS-CISCO7606(config-route-map)#ip vrf management SIS-CISCO7606(config-vrf)#export ipv4 unicast map TEST2NAG SIS-CISCO7606(config-vrf)#end SIS-CISCO7606#show ip route 172.31.5.0 Routing entry for 172.31.5.0/24 Known via "bgp 198354", distance 20, metric 0 (connected, via interface), type external Routing Descriptor Blocks: * directly connected, via Vlan15 Route metric is 0, traffic share count is 1 AS Hops 0 MPLS label: none end Вставить ник Quote
wtyd Posted March 23, 2016 Author Posted March 23, 2016 А маршрут к "next-hop" для тех маршрутов, коотрые не заносятся в GRT, у вас есть? что показывает sh ip bgp rib-fail ? multihop нужен только для ebgp. А маршруты на некст-хопы должны быть в бгп или они могут быть известны через другие протоколы ? В бгп их нет если что. Вставить ник Quote
g3fox Posted March 23, 2016 Posted March 23, 2016 Могут быть известны и через другие протоколы. В т.ч. это может быть дефолт статикой. Вставить ник Quote
wtyd Posted March 23, 2016 Author Posted March 23, 2016 Могут быть известны и через другие протоколы. В т.ч. это может быть дефолт статикой. Ну тогда у нас вообще нет идей, почему эти префиксы по бгп не проходят. Врф говорит, что они адвертайзятся, а GRT говорит, что их не получает даже в received-routes. Никаких фильтраций на этих нейборах нет. Нсли некст-хоп достижим любым способом, то анонс в бгп должен пройти же ... а он не проходит и непонятно почему. Вставить ник Quote
zi_rus Posted March 23, 2016 Posted March 23, 2016 не читал, но осуждаю :) вообще у bgp полно loop prevention механизмов, я почти уверен что срабатывает один из них. например когда рефлектор отражает маршрут он в него прописывает originator-id и собственный cluster-id, если у него router-id сопадет в глобале и врф, он вообще ничего не должен принимать. но это так нужен конфиг и пример роута который не проходит иначе это гадание recieved-routes если я не ошибаюсь это роуты до искусственных фильтров (route-map, prefix-list), есл роут дропнулся по as path его там не будет - уверен на 80% :) Вставить ник Quote
wtyd Posted March 23, 2016 Author Posted March 23, 2016 (edited) не читал, но осуждаю :) вообще у bgp полно loop prevention механизмов, я почти уверен что срабатывает один из них. например когда рефлектор отражает маршрут он в него прописывает originator-id и собственный cluster-id, если у него router-id сопадет в глобале и врф, он вообще ничего не должен принимать. но это так нужен конфиг и пример роута который не проходит иначе это гадание recieved-routes если я не ошибаюсь это роуты до искусственных фильтров (route-map, prefix-list), есл роут дропнулся по as path его там не будет - уверен на 80% :) router id разные, конфиг показать пока не могу ... слишком много исправлять :-( в выводе sh ip bgp nei <ip> есть вот такое: NEXT_HOP is always this router Sent Rcvd Prefix activity: ---- ---- Prefixes Current: 297 11 (Consumes 572 bytes) Prefixes Total: 594 45 Implicit Withdraw: 297 33 Explicit Withdraw: 0 1 Used as bestpath: n/a 11 Used as multipath: n/a 0 Outbound Inbound Local Policy Denied Prefixes: -------- ------- CLUSTER_LIST loop: n/a 12 <--- вот это вот смущает Bestpath from this peer: 26 n/a Suppressed due to dampening: 8 n/a Bestpath from iBGP peer: 2 n/a Total: 36 12 Number of NLRIs in the update sent: max 288, min 0 еслия правильно понял, то 12 префиксов были заденаены, аналогичное в vrf тоже есть денаи, их 4. Как узнать какие и почему ? Edited March 23, 2016 by wtyd Вставить ник Quote
zi_rus Posted March 23, 2016 Posted March 23, 2016 ну это как раз про что я и говорю по route-reflector cluster-id там в циске разве можно разные роутер-ид задать в vrf? иначе как они разные Вставить ник Quote
wtyd Posted March 23, 2016 Author Posted March 23, 2016 (edited) ну это как раз про что я и говорю по route-reflector cluster-id там в циске разве можно разные роутер-ид задать в vrf? иначе как они разные в конфиге bgp router-id заданы явно и они разные для GRT и для vrf. Соседние ойпи адреса, отличаются на единицу. Так было давно сделано. ... т.е. я имею ввиду "bgp router-id", а где "route-reflector cluster-id" посмотреть ? Он наверное и не конфигурится. ... Edited March 23, 2016 by wtyd Вставить ник Quote
zi_rus Posted March 23, 2016 Posted March 23, 2016 конфигурится, по дефолту берется из router-id R1(config-router)#bgp cluster-id ? <1-4294967294> Route-Reflector Cluster-id as 32 bit quantity A.B.C.D Route-Reflector Cluster-id in IP address format UPD действительно посмотрел, в отдельном врф можно router-id настроить, а вот rr cluster-id я там не вижу Вставить ник Quote
wtyd Posted March 24, 2016 Author Posted March 24, 2016 конфигурится, по дефолту берется из router-id R1(config-router)#bgp cluster-id ? <1-4294967294> Route-Reflector Cluster-id as 32 bit quantity A.B.C.D Route-Reflector Cluster-id in IP address format UPD действительно посмотрел, в отдельном врф можно router-id настроить, а вот rr cluster-id я там не вижу А увидеть этот Route-Reflector Cluster-id хотя бы как-то можно ? Настроить нельзя, но хотя бы узнать, какой он в grt и какой в vrf как ? Я, кажется, знаю, в чём там дело :-). Сегодня попробуем переделать схему bgp. Там шеститонник на две части разделён с помощью vrf и в обеих его частях настроен рефлектор, надо сделать один рефлектор и тогда всё должно зафунциклировать. Вставить ник Quote
wtyd Posted March 24, 2016 Author Posted March 24, 2016 (edited) Флапающий маршрут я нашёл, это из-за ospf было. На одном бордере в бгп была прописана network и она то анонсилать, то отзывалась. Маршрут на неё через ospf появлялся/исчезал. В общем, network убрал, с ним позже буду разбираться, а вот с бгп пока загадки :-). Поднял две брп сесси с бордера до grt и до vrf, всё заработало, но почему одной сессии не хватает, я уашпе вообще не понимаю :-). Почему-то с одной сессией rib failure, но все некст-хопики есть в ospf, почему так ? :-). Ещё идеологический вопрос: как можно организовать iBGP ? В нашем случае сделано примерно так: на роутерах подняты лупбаки /32, маршруты о которых распространяются по ospf, т.е. все роутеры знают о всех лупбаках в сети. Есть "ядро/роут-рефлектор", с которым все роутеры сети имеют iBGP. Идеологически же так правильно (как вариант) ? Edited March 24, 2016 by wtyd Вставить ник Quote
CityFox Posted March 24, 2016 Posted March 24, 2016 (edited) А у вас при анонсе маршрутов из vrf в global у них vrf extended community (те в которых route target) проходят? Попробуйте все community сбрасывать. Сталкивался с проблемой из-за того что в глобальную таблицу попадали маршруты с установленным vrf route target. Edited March 24, 2016 by CityFox Вставить ник Quote
wtyd Posted March 24, 2016 Author Posted March 24, 2016 А у вас при анонсе маршрутов из vrf в global у них vrf extended community (те в которых route target) проходят? Попробуйте все community сбрасывать. Сталкивался с проблемой из-за того что в глобальную таблицу попадали маршруты с установленным vrf route target. Мдя ... там в настройках вообще нет send community и соответственно вообще нет никаких комьюнити. Может афектить ? Вставить ник Quote
zi_rus Posted March 24, 2016 Posted March 24, 2016 А увидеть этот Route-Reflector Cluster-id хотя бы как-то можно ? Настроить нельзя, но хотя бы узнать, какой он в grt и какой в vrf как ? #show ip bgp cluster-ids Global cluster-id: 10.68.81.1 (configured: 0.0.0.0) BGP client-to-client reflection: Configured Used all (inter-cluster and intra-cluster): ENABLED intra-cluster: ENABLED ENABLED List of cluster-ids: Cluster-id #-neighbors C2C-rfl-CFG C2C-rfl-USE Вставить ник Quote
zi_rus Posted March 24, 2016 Posted March 24, 2016 Из интереса собрал топологию в gns как я и предполагал router bgp 1 bgp router-id 1.1.1.1 bgp log-neighbor-changes redistribute connected neighbor 11.11.11.11 remote-as 1 neighbor 11.11.11.11 update-source Loopback1 neighbor 11.11.11.11 route-reflector-client neighbor 192.168.12.2 remote-as 1 neighbor 192.168.12.2 route-reflector-client ! address-family ipv4 vrf a bgp router-id 11.11.11.11 neighbor 1.1.1.1 remote-as 1 neighbor 1.1.1.1 update-source Loopback11 neighbor 1.1.1.1 activate exit-address-family R1#debug bgp vrf a ipv4 unicast updates R1#clear ip bgp 11.11.11.11 *Mar 24 11:39:35.539: BGP(0): (base) 11.11.11.11 send UPDATE (format) 1.1.1.1/32, next 1.1.1.1, metric 0, path Local*Mar 24 11:39:35.539: BGP(0): (base) 11.11.11.11 send UPDATE (format) 2.2.2.2/32, next 192.168.12.2, metric 0, path Local*Mar 24 11:39:35.551: BGP(0): 1.1.1.1 rcv UPDATE w/ attr: nexthop 192.168.12.2, origin ?, localpref 100, metric 0, originator 2.2.2.2, clusterlist 1.1.1.1, merged path , AS_PATH , community , extended community , SSA attribute [u][b]*Mar 24 11:39:35.555: BGP(0): 1.1.1.1 rcv UPDATE about 2.2.2.2/32 -- DENIED due to: reflected from the same cluster;[/b][/u] Вставить ник Quote
s.lobanov Posted March 24, 2016 Posted March 24, 2016 если вам нужен RR в vrf, то просто поставьте две виртуалки/контейнера с bird и сделайте на нём, который не будет знать, что он в vrf ) но очевидно, что это ошибка дизайна, впрочем, ТС это и так знает Вставить ник Quote
zi_rus Posted March 24, 2016 Posted March 24, 2016 я полагаю он не хочет rr в vrf. просто по-другому на интернал сессиях не проанонсить маршруты. хотя если врф и грт представляют из себя одну общую плоскую сеть то наверное можно выделить rr который будет заниматься распространением маршрутов, а не делать р2р сессию на перемычке, тогда и проблем не будет Вставить ник Quote
wtyd Posted March 25, 2016 Author Posted March 25, 2016 я полагаю он не хочет rr в vrf. просто по-другому на интернал сессиях не проанонсить маршруты. хотя если врф и грт представляют из себя одну общую плоскую сеть то наверное можно выделить rr который будет заниматься распространением маршрутов, а не делать р2р сессию на перемычке, тогда и проблем не будет Да, я хотел бы иметь один rr на grt, а все остальные роутеры сделать клиентами его, в т.ч. и vrf. Когда я так пробую сделать, то маршруты по бгп расползаются, но некоторые из них rib-failure, включая тот проблемный префикс, потому что в ospf ещё какая-то заковырка есть. В общем, разбираемся, пока дыру с не прохождением префикса ликвидировали, потом займёмся остальным бгп. Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.