BGP route reflector (RR) configuration of two RR servers
We have already learned what route reflector is and why we use route reflector. In this section we will see the configuration of two RR servers and will learn about deep RR behavior.
A route reflector is a BGP router that is allowed to ignore the IBGP loop avoidance rule, such as is allowed to advertise updates received from an IBGP peer to another IBGP peer under specific conditions.
- If a router receives an IBGP route with the originate-id attribute set to its own router-ID, the route is discarded.
- If a route reflector (RR) receives a route with a cluster-list attribute containing its cluster-ID, the route is discarded.
In our case we have two RR servers and it will establish neighbor with other servers and clients.
Topology:
GOAL:
- Configure the topology as er the diagram and assign the IP address.
- Configure EIGRP to provide the reachability between BGP speakers (peer)
- configure router 2 - 4 RR server and router 1 - 3 client.
R1#show ip interface brief
Interface IP-Address OK? Method Status Protocol
FastEthernet0/0 40.1.1.1 YES manual up up
Serial3/0 1.1.1.1 YES manual up up
Serial3/3 4.1.1.2 YES manual up up
Loopback0 11.0.0.1 YES manual up up
R2#show ip interface brief
Interface IP-Address OK? Method Status Protocol
FastEthernet0/0 20.1.1.1 YES manual up up
Serial3/0 1.1.1.2 YES manual up up
Serial3/1 2.1.1.1 YES manual up up
Loopback0 12.0.0.1 YES manual up up
R3#show ip interface brief
Interface IP-Address OK? Method Status Protocol
FastEthernet0/0 30.1.1.1 YES manual up up
Serial3/1 2.1.1.2 YES manual up up
Serial3/2 3.1.1.1 YES manual up up
Loopback0 13.0.0.1 YES manual up up
R4#show ip interface brief
Interface IP-Address OK? Method Status Protocol
FastEthernet0/0 40.1.1.1 YES manual up up
Serial3/2 3.1.1.2 YES manual up up
Serial3/3 4.1.1.1 YES manual up up
Loopback0 14.0.0.1 YES manual up up
R1(config)#router eigrp 10
R1(config-router)#network 1.0.0.0
R1(config-router)#network 10.0.0.0
R1(config-router)#network 4.0.0.0
R1(config-router)#network 11.0.0.0
R1(config-router)#auto-summary
R1(config-router)#exit
R2(config)#router eigrp 10
R2(config-router)#network 1.0.0.0
R2(config-router)#network 2.0.0.0
R2(config-router)#network 12.0.0.0
R2(config-router)#network 20.0.0.0
R2(config-router)#auto-summary
R2(config-router)#exit
R3(config)#router eigrp 10
R3(config-router)#network 2.0.0.0
R3(config-router)#network 3.0.0.0
R3(config-router)#network 30.0.0.0
R3(config-router)#network 13.0.0.0
R3(config-router)#no auto-summary
R3(config-router)#exit
R4(config)#router eigrp 10
R4(config-router)#network 3.0.0.0
R4(config-router)#network 4.0.0.0
R4(config-router)#network 40.0.0.0
R4(config-router)#network 14.0.0.0
R4(config-router)#no auto-summary
R4(config-router)#exit
R1#show ip eigrp neighbors
EIGRP-IPv4 Neighbors for AS(10)
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
1 4.1.1.1 Se3/3 14 00:27:43 54 324 0 12
0 1.1.1.2 Se3/0 14 00:30:36 48 288 0 24
R2#show ip eigrp neighbors
EIGRP-IPv4 Neighbors for AS(10)
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
1 2.1.1.2 Se3/1 14 00:29:24 60 360 0 18
0 1.1.1.1 Se3/0 12 00:31:07 56 336 0 19
R3#show ip eigrp neighbors
EIGRP-IPv4 Neighbors for AS(10)
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
1 3.1.1.2 Se3/2 13 00:28:44 64 384 0 11
0 2.1.1.1 Se3/1 10 00:29:46 58 348 0 25
R3#
R4#show ip eigrp neighbors
EIGRP-IPv4 Neighbors for AS(10)
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
1 4.1.1.2 Se3/3 11 00:28:53 53 318 0 20
0 3.1.1.1 Se3/2 10 00:29:01 45 270 0 19
R1(config)#router bgp 100
R1(config-router)#neighbor 12.0.0.1 remote-as 100
R1(config-router)#neighbor 12.0.0.1 update-source loopback 0
R1(config-router)# neighbor 14.0.0.1 remote-as 100
R1(config-router)# neighbor 14.0.0.1 update-source loopback 0
R1(config-router)#network 10.0.0.0
R1(config-router)#no auto-summary
R1(config-router)#no synchronization
R1(config-router)#exit
R2(config)#router bgp 100
R2(config-router)#neighbor 11.0.0.1 remote-as 100
R2(config-router)#neighbor 11.0.0.1 update-source loopback 0
R2(config-router)#neighbor 11.0.0.1 route-reflector-client
*Jan 23 13:47:51.839: %BGP-5-ADJCHANGE: neighbor 11.0.0.1 Down RR client config change
*Jan 23 13:47:51.843: %BGP_SESSION-5-ADJCHANGE: neighbor 11.0.0.1 IPv4 Unicast topology base removed from session RR client config change
*Jan 23 13:47:52.999: %BGP-5-ADJCHANGE: neighbor 11.0.0.1 Up
R2(config-router)#neighbor 13.0.0.1 remote-as 100
R2(config-router)#neighbor 13.0.0.1 update-source loopback 0
R2(config-router)#neighbor 11.0.0.1 route-reflector-client
R2(config-router)#neighbor 14.0.0.1 remote-as 100
R2(config-router)#neighbor 14.0.0.1 update-source loopback 0
R2(config-router)#neighbor 14.0.0.1 route-reflector-client
R2(config-router)#network 20.0.0.0
R2(config-router)#no auto-summary
R2(config-router)#no synchronization
R2(config-router)#end
R3(config)#router bgp 100
R3(config-router)#neighbor 12.0.0.1 remote-as 100
R3(config-router)#neighbor 12.0.0.1 update-source loopback 0
*Jan 23 13:50:42.831: %BGP-5-ADJCHANGE: neighbor 12.0.0.1 Up
R3(config-router)#neighbor 14.0.0.1 remote-as 100
R3(config-router)#neighbor 14.0.0.1 update-source loopback 0
R3(config-router)#network 30.0.0.0
R3(config-router)#no auto-summary
R3(config-router)#no synchronization
R3(config-router)#end
R4(config)#router bgp 100
R4(config-router)#neighbor 11.0.0.1 remote-as 100
R4(config-router)#neighbor 11.0.0.1 update-source loopback 0
R4(config-router)#neighbor 11.0.0.1 route-reflector-client
R4(config-router)#neighbor 12.0.0.1 remote-as 100
R4(config-router)#neighbor 12.0.0.1 update-source loopback 0
R4(config-router)#neighbor 12.0.0.1 route-reflector-client
R4(config-router)#neighbor 13.0.0.1 remote-as 100
R4(config-router)#neighbor 13.0.0.1 update-source loopback 0
R4(config-router)#neighbor 13.0.0.1 route-reflector-client
R4(config-router)#network 40.0.0.0
R4(config-router)#no synchronization
R4(config-router)#no auto-summary
R4(config-router)#end
R2#show ip bgp summary | begin net
3 network entries using 432 bytes of memory
4 path entries using 320 bytes of memory
2/2 BGP path/bestpath attribute entries using 272 bytes of memory
1 BGP rrinfo entries using 24 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 1048 total bytes of memory
BGP activity 3/0 prefixes, 5/1 paths, scan interval 60 secs
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
11.0.0.1 4 100 25 26 4 0 0 00:19:31 0
13.0.0.1 4 100 22 23 4 0 0 00:16:41 1
14.0.0.1 4 100 15 12 4 0 0 00:04:00 2
R4#show ip bgp summary | begin network
3 network entries using 432 bytes of memory
4 path entries using 320 bytes of memory
2/2 BGP path/bestpath attribute entries using 272 bytes of memory
1 BGP rrinfo entries using 24 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 1048 total bytes of memory
BGP activity 3/0 prefixes, 7/3 paths, scan interval 60 secs
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
11.0.0.1 4 100 13 19 11 0 0 00:07:48 0
12.0.0.1 4 100 15 18 11 0 0 00:06:46 2
13.0.0.1 4 100 13 16 11 0 0 00:06:16 1
R2#show ip bgp 30.1.1.1
BGP routing table entry for 30.0.0.0/8, version 3
Paths: (2 available, best #2, table default, RIB-failure(17))
Advertised to update-groups:
2
Refresh Epoch 2
Local, (Received from a RR-client)
13.0.0.1 (metric 2297856) from 14.0.0.1 (14.0.0.1)
Origin IGP, metric 0, localpref 100, valid, internal
Originator: 13.0.0.1, Cluster list: 14.0.0.1
rx pathid: 0, tx pathid: 0
Refresh Epoch 1
Local
13.0.0.1 (metric 2297856) from 13.0.0.1 (13.0.0.1)
Origin IGP, metric 0, localpref 100, valid, internal, best
rx pathid: 0, tx pathid: 0x0
R4#show ip bgp 20.1.1.1
BGP routing table entry for 20.0.0.0/8, version 7
Paths: (1 available, best #1, table default, RIB-failure(17))
Advertised to update-groups:
2
Refresh Epoch 2
Local, (Received from a RR-client)
12.0.0.1 (metric 2809856) from 12.0.0.1 (12.0.0.1)
Origin IGP, metric 0, localpref 100, valid, internal, best
rx pathid: 0, tx pathid: 0x0
(from the above output reveal the fact that prefixe 20.1.1.1/8 were recieved from a route reflector client)
R1#show ip bgp 30.1.1.1
BGP routing table entry for 30.0.0.0/8, version 3
Paths: (2 available, best #2, table default, RIB-failure(17))
Not advertised to any peer
Refresh Epoch 1
Local
13.0.0.1 (metric 2809856) from 14.0.0.1 (14.0.0.1)
Origin IGP, metric 0, localpref 100, valid, internal
Originator: 13.0.0.1, Cluster list: 14.0.0.1
rx pathid: 0, tx pathid: 0
Refresh Epoch 1
Local
13.0.0.1 (metric 2809856) from 12.0.0.1 (12.0.0.1)
Origin IGP, metric 0, localpref 100, valid, internal, best
Originator: 13.0.0.1, Cluster list: 12.0.0.1
rx pathid: 0, tx pathid: 0x0
(from the above output reveals the originator-ID and the cluster- list of prefix 30.1.1.1/8 )