02-13-2018 04:53 PM - edited 03-05-2019 09:55 AM
i have a pretty simple setup, but am not sure how to pass a route through iBGP from and iBGP peer to another peer. i'll try to explain it as simple as possible.
Router_external (172.16.0.0/24) -> iBGP1 - iBGP2 -> iBGP3 ->(external world)
i am learning from a local connected to iBGP1 the route to 172.16.x.x which is a different asn. iBGP1 passes the route to iBGP2 (which i advertise to the external world). i then have iBGP2 configured to talk to iBGP3 where i want to also announce the172.16.x.x I'm just using this ip as an example. the problem i'm having is that iBGP2 isn't announcing to iBGP3 so that route never gets injected into the BGP table. Since iBGP3 doesn't know about that route i can't advertise to the external world. I thought in ios a route summarization would take care of this but i don't see anything the same on ios xr. What is the easiest way of advertising from iBGP2 to iBGP3 so iBGP3 learns the route? I hope that isn't to confusing.
Solved! Go to Solution.
02-13-2018 05:43 PM - edited 02-13-2018 06:20 PM
Hi,
iBGP by default has a method to avoid loops and it could be the trouble. In order to avoid loops an iBGP router will discard a prefix where the local AS is included, so iBGP3 is discarding the prefix because on the AS-Path the local AS is included, so to fix this issue you could configure iBGP2 as Route reflector router. Also iBGP1 and iBGP3 should be configured with next-hop-self because they (I asumme about external router) are creating eBGP peers with the external routers.
I don't know the model or ip addressing but you could consider something like:
iBGP2
router bgp 100 (iBGP AS)
no syn
no au
neighbor 1.1.1.1 remote 100
neighbor 1.1.1.1 route-reflector-client
neighbor 3.3.3.3 remote 100
neighbor 3.3.3.3 route-reflector-client
So the router reflector will enable the communication to pass the prefixes from the external routers.
Also if you have an eBGP peering between:
external router --- ebgp ---- iBGP R1 --- iBGP R2 --- iBGP R3 --- ebgp --- external router
You must configure on R1 and R3 the following:
R1
router bgp 100
neighbor 2.2.2.2 next-hop-self
and
R3
router bgp 100
neighbor 2.2.2.2 next-hop-self
So next-hop-self will provide a valid path to reach the external prefixes learned by eBGP.
Hope it is useful
:-)
02-13-2018 04:53 PM
02-13-2018 05:43 PM - edited 02-13-2018 06:20 PM
Hi,
iBGP by default has a method to avoid loops and it could be the trouble. In order to avoid loops an iBGP router will discard a prefix where the local AS is included, so iBGP3 is discarding the prefix because on the AS-Path the local AS is included, so to fix this issue you could configure iBGP2 as Route reflector router. Also iBGP1 and iBGP3 should be configured with next-hop-self because they (I asumme about external router) are creating eBGP peers with the external routers.
I don't know the model or ip addressing but you could consider something like:
iBGP2
router bgp 100 (iBGP AS)
no syn
no au
neighbor 1.1.1.1 remote 100
neighbor 1.1.1.1 route-reflector-client
neighbor 3.3.3.3 remote 100
neighbor 3.3.3.3 route-reflector-client
So the router reflector will enable the communication to pass the prefixes from the external routers.
Also if you have an eBGP peering between:
external router --- ebgp ---- iBGP R1 --- iBGP R2 --- iBGP R3 --- ebgp --- external router
You must configure on R1 and R3 the following:
R1
router bgp 100
neighbor 2.2.2.2 next-hop-self
and
R3
router bgp 100
neighbor 2.2.2.2 next-hop-self
So next-hop-self will provide a valid path to reach the external prefixes learned by eBGP.
Hope it is useful
:-)
02-14-2018 10:52 AM
thank you. i was going to create a tunnel, but thought it was useless since it would be the same path. I expected to clear neighbor bgp session but didn't have to.
Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: