Pradeep,
You are correct. Router A has no idea whether Router B is a route-reflector or not, so Router A wouldn’t treat Router B any differently than a normal iBGP peer.
FYI: In practice, you always ensure that your Route-Reflectors have a full iBGP mesh to ensure that they, as well as their clients, will receive all iBGP advertisements.
Udaya,
In the case of a router’s being a route reflector client of multiple route reflectors, the client will accept routes from all reflectors. In other words, all learned routes will be present in the BGP topology table. As far as which routes are selected as best routes, and installed in the routing table, the client will use the standard (and complex!) BGP best path selection algorithm.
But R1 still cannot ping the 192.168.0.1 address assigned on loopback 0 on R3. I’ve got some outputs below, let me know if you need more Hope someone can help me figure what i’ve done wrong
What I can see is R1 is showing inaccessible for the next hop of 2.2.2.2 However even if R2 has “Next-Hop-Self” enabled the Next Hop Address doesn’t change?
Hey Ryan,
The issue you are having is that while R1 knows about the BGP route to R3, it is not installing it into the routing table. You can verify this by going on to R1 and issuing a “show ip bgp” and look for the 192.168.0.0 route (it will be missing the “>” symbol).
The reason R1 is not installing the route is due to BGP behaving differently than other routing protocols. BGP really isn’t a true routing protocol in the way that OSPF or EIGRP are. BGP is more of an application that tells you WHERE to go to get to a network, but it does not tell HOW to get there. So, for example, BGP is telling R1 to get to 192.168.0.0/24, go to 2.2.2.2. It is up to R1 to figure out HOW to get to 2.2.2.2. In this case, R1 doesn’t know how to get to 2.2.2.2.
I suspect you know all of this, which is why you are trying to configure R2 to be a next-hop-self for R1. The problem with this solution is that, by default, BGP only modifies this attribute on routes it learns from external neighbors–not internal neighbors.
So to solve this problem, you have four options:
Configure R3 in a different BGP ASN than R2
Configure R2 to advertise the 1.1.1.0/24 and 2.2.2.0/24 networks in BGP
Configure either static routes or an IGP so that R1, R2, and R3 know about all the links connecting them
If you have a late enough version of the IOS, R2 will have a new option of “neighbor 1.1.1.1 next-hop-self all” where this option allows the modification of either internally or externally learned BGP routes.
2 Likes
shantel
(Shantel - Networklessons.com)
Split this topic
49
The RR is defined using the neighbor command where the IP addresses of the neighbour routers as clients are indicated with the route-reflector-client keyword. No specific configuration need be added to the actual clients.
As far as can be seen, the only way to determine a route reflector is to see the config within the BGP section of the router itself.
It’s unlikely that someone uses a route reflector as well for eBGP neighbor adjacencies but it’s possible. There’s even a draft that never seems to have made it in the RR RFC though:
I recently subscribe Networklessons.com , its great for me to learn easily. but kindly put some details in the topic so that we get much more expertise.Thanks
Remember that neighbor relationships between routers running iBGP can be created between routers that are not necessarily directly connected. This can be done as long as there is a route available between the routers, either via an IGP or by static routing. In the same way, you can create an iBGP client neighbor peering between an RR and a client that are not directly connected.
This article is great. I am going through this lab , and follow exactly the commands and configuration in all three routers, but I couldn’t see the the 1.1.1.1/32 route when I run the command:
show ip bgp neighbors 192.168.23.3 advertised-routes
Without knowing more about your config, the only thing I can suggest is make sure that you’re running the command on R2 as shown in the lesson. Also, review your configuration an make sure it is correctly configured. If the problem persists, let us know and we can check the configs in the lesson for correctness.