Scenario:
Company Veggie inc. is growing rapidly and the network needs to support the growing company. More routers are added every week and network engineers are complaining it takes too much time to setup BGP. Especially typing in all the neighbor commands is becoming an annoyance for them. Time for you to show up and teach them what a route-reflector is!
Goal:
- All IP addresses have been preconfigured as specified in the topology picture.
- All routers have the following loopback interface:
Cherry: Loopback0: 1.1.1.1 /24
Berry: Loopback0: 2.2.2.2 /24
Dairy: Loopback0: 3.3.3.3 /24 - Configure OSPF on all routers, ensure you have full reachability.
- Disable the link between Cherry and Berry.
- Configure BGP between Cherry and Dairy.
- Configure BGP between Berry and Dairy.
- Do not configure BGP between Berry and Cherry.
- Create a new loopback interface on router Berry:
Loopback1: 22.22.22.22 /24 - Advertise this loopback into BGP by using a network command.
- Ensure you see 22.22.22.0 network in the routing table of router Dairy.
- Do you see this network in the routing table of router Cherry? Why not?
- Change the configuration on router Dairy so that router Cherry will have the 22.22.22.0 network in it’s routing table (hint: *Route Reflector*).
IOS:
c3640-jk9s-mz.124-16.bin
Topology:
Video Solution:
Configuration Files
You need to register to download the GNS3 topology file. (Registration is free!)Once you are logged in you will find the configuration files right here.
Do you want your CCNA or CCNP Certificate?
The How to Master series helps you to understand complex topics like spanning-tree, VLANs, trunks, OSPF, EIGRP, BGP and more.
Written by René Molenaar - CCIE #41726
If you have Dairy setup as the RR and Cherry and Berry setup as the clients, Cherry is going to know about the 22 address. You can prevent this from happening by setting up Dairy as a client on Berry, then let Cherry know about the 22 address by making Cherry a client on Dairy (not sure if this goes against best practices by having more than 1 RR, but I think this is more along the lines of what you were trying to accomplish). Or you could change the lab description to where Berry is the only RR initially and to fix it you make Dairy the RR for both Cherry and Berry.
Below is my final config for all devices.
(Note: I didn’t use the pre-built lab since I don’t have that IOS, so I built it from scratch with all serial ints. Also, I know the peer-group wasn’t completely necessary, but they’re fun to work with 🙂 )
—-
!dairy
en
conf t
host Dairy
int lo0
ip add 3.3.3.3 255.255.255.0
int s0/0
desc TO CHERRY
ip add 192.168.13.1 255.255.255.0
no shut
int s0/1
desc TO BERRY
ip add 192.168.23.1 255.255.255.0
no shut
exit
router ospf 1
net 192.168.13.0 0.0.0.255 area 0
net 192.168.23.0 0.0.0.255 area 0
net 3.3.3.0 0.0.0.255 area 0
no auto
exit
router bgp 100
no auto
nei reflector-clients peer-group
nei reflector clients remote-as 100
nei reflector-clients route-reflector-client
nei 192.168.13.2 peer-group reflector-clients
nei 192.168.23.3 peer-group reflector-clients
net 3.3.3.0 mask 255.255.255.0
end
!——–
!cherry
en
conf t
host Cherry
int lo0
ip add 1.1.1.1 255.255.255.0
int s0/1
desc TO DAIRY
ip add 192.168.13.2 255.255.255.0
no shut
int s0/0
desc TO BERRY
ip add 192.168.12.2 255.255.255.0
shut
!^ after establishing connectivity
exit
router ospf 1
net 192.168.13.0 0.0.0.255 area 0
net 192.168.12.0 0.0.0.255 area 0
net 1.1.1.0 0.0.0.255 area 0
no auto
exit
router bgp 100
no auto
nei 192.168.13.1 remote-as 100
net 1.1.1.1 mask 255.255.255.0
end
!——–
!berry
en
conf t
host Berry
int lo0
ip add 2.2.2.2 255.255.255.0
int lo1
ip add 22.22.22.22 255.255.255.0
int s0/1
desc TO DAIRY
ip add 192.168.23.3 255.255.255.0
no shut
int s0/0
desc TO CHERRY
ip add 192.168.12.3 255.255.255.0
shut
!^ after establishing connectivity
exit
router ospf 1
net 2.2.2.0 0.0.0.255 area 0
net 192.168.23.0 0.0.0.255 area 0
net 192.168.12.0 0.0.0.255 area 0
exit
router bgp 100
no auto
nei 192.168.23.1 remote-as 100
net 22.22.22.0 mask 255.255.255.0
net 2.2.2.0 mask 255.255.255.0
end
Hi Jon,
Seems you have some fun with this ;D
The idea of the lab is to learn IBGP Split Horizon. You need IBGP full mesh in order to learn all prefixes, so in this scenario when router Berry advertises something in BGP, router Dairy will learn it because they are IBGP neighbors.
Router Cherry will not learn this prefix since there’s no IBGP neighbor adjancency between router Cherry and Berry.
To fix this, router Diary will have to “reflect” the prefix to router Cherry, that’s all there is to it 🙂
Making berry or cherry a RR doesn’t help since they both have only a single BGP neighbor adjacency.
Rene
Right, thats what I was getting at 🙂
Making Dairy a RR before checking to see if the 22 route was in Cherry’s table kinda defeats the purpose of asking, because after you make it a RR at step 5, it’s going to be there. Other than that, cool lab 😀
Glad that it’s working, these small labs are nice to do…doesn’t take very long.
It Worked.
Thnx ;D
Great lab. Thanks!
Hi Reene,
Getting below error when I try to load any of your topologies.
I have downloaded the IOS you have used in the labs but still some settings in GNS I need to fix…….but don’t know exactly what they are.
Any idea where things might be wrong?
error
——-
Local IOS image/Data/IOS Images/c3640-jk9s-mz.124-16.bin cannot be found for hypervisor localhost:7200
Please choose an alternative image
good lab – thanks
Thanks!
fun lab!
thanks Rene
Hi,
Can i know where is the topology.net file…. i cannot see it.
Got the topology.net file …. many thanks
Cheers
HI, just wanted to add that this lab text is corrupted. The words “network command” when advertising 22.22.22.22/24 aren’t there.
@ Ryan: i think there may be some confusion here – the command you are looking for under the BGP router process is “network” as opposed to “network command”.
e.g.:
conf t
router bgp 100
network 22.22.22.0 mask 255.255.255.0
making sure to advertise the network as a /24 (i.e.: 22.22.22.0 mask 255.255.255.0) – last octets are “0”.
good lab
as i was running thru this lab, step-by-step linearly, i was lazy with my OSPF configs and configured the network statement to 0.0.0.0 255.255.255.255.
so, i configured an OSPF distribute list on Dairy and Cherry in order to allow the 22.22.22.0/24 BGP route into the route table instead of the OSPF route 🙂
lastly, had trouble with this lab on my GNS3 8.3 64-bit standalone with IOS c3640-ik9o3s-mz.124-16b.bin… had to run it on 7200 to get the RR to work.
Excellent stuff. thanks