Just another Cisco blog
RIP Lab #1
This is the first in a series of lab posts I’ll be doing to prepare for the CCIE.
Today’s lab is from Narbik’s Volume One workbook. It’s a RIPv2 lab with some tricks thrown in. Here’s the topology:

(Click image for fullsize)
Click here for the initial configs
Here is task one:
1. Configure RIPv2 on all routers and advertise their directly connected interfaces. Ensure that these routers have full NLRI to all the loopback interfaces advertised into RIP. Ensure that all routers can ping all loopbacks.
Let’s go through the config:
R1: R1(config)#router rip R1(config-router)#ver 2 R1(config-router)#no auto R1(config-router)#network 10.0.0.0 R1(config-router)#network 1.0.0.0 R2: R2(config)#router rip R2(config-router)#ver 2 R2(config-router)#no auto R2(config-router)#network 10.0.0.0 R2(config-router)#network 2.0.0.0 R3: R3(config)#router rip R3(config-router)#ver 2 R3(config-router)#no auto R3(config-router)#network 10.0.0.0 R3(config-router)#network 3.0.0.0 |
Looks pretty simple, but I’m sure you guys see that this won’t work correctly. Let’s look at R2 and R3′s routing tables:
R2#sh ip route
...
R 1.0.0.0/8 [120/1] via 10.1.1.1, 00:00:15, Serial0/0
C 2.0.0.0/8 is directly connected, Loopback0
10.0.0.0/24 is subnetted, 1 subnets
C 10.1.1.0 is directly connected, Serial0/0
R3#sh ip route
...
R 1.0.0.0/8 [120/1] via 10.1.1.1, 00:00:06, Serial0/0
C 3.0.0.0/8 is directly connected, Loopback0
10.0.0.0/24 is subnetted, 1 subnets
C 10.1.1.0 is directly connected, Serial0/0 |
We see that R2 and R3 are missing routes to each other’s loopbacks. This is due to split horizon. To refresh everyone’s memory, split horizon is a rule that a router will not advertise a route out the same interface from which it has learned the route. This prevents loops. Split horizon applies here because we aren’t using sub-interfaces for each spoke.
Let’s disable split horizon:
R1(config-subif)#no ip split-horizon R1(config)#int s0/0.123 |
We’ll verify on R2:
R2#sh ip route
...
R 1.0.0.0/8 [120/1] via 10.1.1.1, 00:00:26, Serial0/0
C 2.0.0.0/8 is directly connected, Loopback0
R 3.0.0.0/8 [120/2] via 10.1.1.3, 00:00:26, Serial0/0
10.0.0.0/24 is subnetted, 1 subnets
C 10.1.1.0 is directly connected, Serial0/0
R2#ping 3.3.3.3
.....
Success rate is 0 percent (0/5) |
So we now have the route in the table, but no reachability. This is another curveball. Look at the next hope for R3′s loopback, it is 10.1.1.3, which is R3′s serial interface. The issue here is that we don’t know how to get to that IP. We need a Frame-Relay map statement:
R2(config)#int s0/0 R2(config-if)#frame-relay map ip 10.1.1.3 201 R3(config)#int s0/0 R3(config-if)#frame-relay map ip 10.1.1.2 301 R3#ping 2.2.2.2 !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/7/12 ms |
It works! We now have reachability to all loopbacks. Notice we did not use the broadcast option at the end of our map statement as it is not needed here.
Now onto the next task:
2. Remove the no ip split-horizon command and the Frame map statements from R2 and R3 configured in the first step from R2 and R3. Then configure R2 and R3 such that they can ping each others’ loopbacks. DO NOT configure static routes or extra Frame maps to accomplish this. Ensure that the next hop IP is NOT changed and is still the address of the originating router.
First we’ll remove our previous commands:
R1(config-subif)#ip split-horizon R2(config-if)#no frame-relay map ip 10.1.1.3 201 R3(config-if)#no frame-relay map ip 10.1.1.2 301 |
This one is a little trickier. How can we accomplish this without map statements or static routes? Good ole PPP. Let’s configure it:
R1(config-subif)#no ip add R1(config-subif)#frame-relay interface-dlci 102 ppp virtual-Template 123 R1(config-fr-dlci)#exit R1(config-subif)#frame-relay interface-dlci 103 ppp virtual-Template 123 R1(config-fr-dlci)#exit R1(config)#interface virtual-template 123 R1(config-if)#ip add 10.1.1.1 255.255.255.0 R2(config)#int s0/0 R2(config-if)#no ip add R2(config-if)#frame-relay interface-dlci 201 ppp virtual-Template 123 R2(config-fr-dlci)#exit R2(config)#interface virtual-template 123 R2(config-if)#ip add 10.1.1.2 255.255.255.0 R3(config)#int s0/0 R3(config-if)#no ip add R3(config-if)#frame-relay interface-dlci 301 ppp virtual-Template 123 R3(config-fr-dlci)#exit R3(config)#interface virtual-template 123 R3(config-if)#ip add 10.1.1.3 255.255.255.0 |
We removed all IP address from the interface, then we configured PPP over FR using a virtual-template. We then configure our IP on the template. Now we’ll verify our routing table and connectivity:
R3#sh ip route
...
R 1.0.0.0/8 [120/1] via 10.1.1.1, 00:00:25, Virtual-Access1
R 2.0.0.0/8 [120/2] via 10.1.1.2, 00:00:25, Virtual-Access1
C 3.0.0.0/8 is directly connected, Loopback0
10.0.0.0/8 is variably subnetted, 3 subnets, 2 masks
R 10.1.1.2/32 [120/1] via 10.1.1.1, 00:00:25, Virtual-Access1
C 10.1.1.0/24 is directly connected, Virtual-Access1
C 10.1.1.1/32 is directly connected, Virtual-Access1
R3#ping 2.2.2.2
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/4/12 ms |
Our routing table is populated correctly and we do have reachability. The important things to note here are that we now have host routes in the table added by PPP. We have accomplished reachability without using map statements or turning off split horizon.
That’s it for this one. It’s a short lab, but it has a lot of valuable information.
The Dynagen/GNS3 .net file
(you will need to change the paths to make it work)
Related Posts:
| Print article | This entry was posted by Colby on April 27, 2010 at 7:12 am, and is filed under Labs. Follow any responses to this post through RSS 2.0. You can leave a response or trackback from your own site. |







about 1 year ago
now this is the ppp peer neighbor-route doing its work correct? If so, interesting implementation of it! I have always considered it a nuisance
about 1 year ago
Yep, you got it.
about 1 year ago
Thanks
Always looking for strange configs and such
about 1 year ago
Great post
Just wondering what application you used for the diagram?
about 1 year ago
Visio, always.