Search This Blog

Friday, February 24, 2012

Redistribution Lab

here is the following scenario:
 
R1 is configured with RIPv2 and EIGRP AS100 while both Lo1 and Lo2 are advertised on both protocols, R5 advertise both loopbacks through OSPF to R4.

Note that RIP will advertise all connected interface by default, which i will explain in the next post.

R4 routing table is as follows:
R4#sh ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

     4.0.0.0/32 is subnetted, 1 subnets
C       4.4.4.4 is directly connected, Loopback0
C    200.0.0.0/24 is directly connected, FastEthernet1/0
     192.168.10.0/32 is subnetted, 1 subnets
O       192.168.10.1 [110/2] via 200.0.0.5, 00:02:32, FastEthernet1/0
     172.10.0.0/24 is subnetted, 1 subnets
D       172.10.0.0 [90/435200] via 10.1.34.3, 00:03:16, FastEthernet0/1
     172.20.0.0/24 is subnetted, 1 subnets
D       172.20.0.0 [90/435200] via 10.1.34.3, 00:03:16, FastEthernet0/1
     192.168.20.0/32 is subnetted, 1 subnets
O       192.168.20.1 [110/2] via 200.0.0.5, 00:02:33, FastEthernet1/0
     10.0.0.0/24 is subnetted, 4 subnets
D       10.1.13.0 [90/307200] via 10.1.34.3, 00:27:54, FastEthernet0/1
R       10.1.12.0 [120/1] via 10.1.24.2, 00:00:18, FastEthernet0/0
C       10.1.24.0 is directly connected, FastEthernet0/0
C       10.1.34.0 is directly connected, FastEthernet0/1

Note that R4 is learning networks 172.10.0.0/24 and 172.20.0.0/24 from R3 through EIGRP, due to lower AD of this protocol. So while redistributing RIP into OSPF, R5 is not learning these networks.

R5 routing table:
R5#        sh ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

C    200.0.0.0/24 is directly connected, FastEthernet0/0
     5.0.0.0/32 is subnetted, 1 subnets
C       5.5.5.5 is directly connected, Loopback0
C    192.168.10.0/24 is directly connected, Loopback1
C    192.168.20.0/24 is directly connected, Loopback2
     10.0.0.0/24 is subnetted, 3 subnets
O E2    10.1.12.0 [110/20] via 200.0.0.4, 00:00:16, FastEthernet0/0
O E2    10.1.24.0 [110/20] via 200.0.0.4, 00:00:16, FastEthernet0/0
O E2    10.1.34.0 [110/20] via 200.0.0.4, 00:00:16, FastEthernet0/0

In order to allow network 172.10.0.0/24 to be advertised to R5 I have configured a distribute-list on R1:
R1(config)#ip access-list standard NET172
R1(config-std-nacl)#deny 172.10.0.0 0.0.0.255
R1(config-std-nacl)#permit any
R1(config-router)#distribute-list NET172 out fastEthernet 0/1

And the result:
R5#        sh ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

C    200.0.0.0/24 is directly connected, FastEthernet0/0
     5.0.0.0/32 is subnetted, 1 subnets
C       5.5.5.5 is directly connected, Loopback0
C    192.168.10.0/24 is directly connected, Loopback1
     172.10.0.0/24 is subnetted, 1 subnets
O E2    172.10.0.0 [110/20] via 200.0.0.4, 00:00:13, FastEthernet0/0
C    192.168.20.0/24 is directly connected, Loopback2
     10.0.0.0/24 is subnetted, 3 subnets
O E2    10.1.12.0 [110/20] via 200.0.0.4, 00:09:04, FastEthernet0/0
O E2    10.1.24.0 [110/20] via 200.0.0.4, 00:09:05, FastEthernet0/0
O E2    10.1.34.0 [110/20] via 200.0.0.4, 00:09:05, FastEthernet0/0

But this will prevent from R3 to be a redundant path in case of failure in R2 path or to have load balance between these 2 networks, from R5 to R1 network 172.10.0.0/24 through R3, and from R5 to R1 network 172.20.0.0/24 through R2.

One way I found out to overcome this problem is to redistribute network 172.20.0.0/24 on R1 EIGRP, using a route-map, and by that to give this network an AD of 170 (EIGRP external)

R1(config)#route-map NET172 permit 10
R1(config-route-map)#match interface lo2
R1(config-route-map)#router eigrp 100
R1(config-router)#redistribute connected route-map NET172
R1(config-router)#no network 172.20.0.1 0.0.0.0

And the result on R5:
R5#        sh ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

C    200.0.0.0/24 is directly connected, FastEthernet0/0
     5.0.0.0/32 is subnetted, 1 subnets
C       5.5.5.5 is directly connected, Loopback0
C    192.168.10.0/24 is directly connected, Loopback1
     172.20.0.0/24 is subnetted, 1 subnets
O E2    172.20.0.0 [110/20] via 200.0.0.4, 00:00:01, FastEthernet0/0
C    192.168.20.0/24 is directly connected, Loopback2
     10.0.0.0/24 is subnetted, 3 subnets
O E2    10.1.12.0 [110/20] via 200.0.0.4, 00:19:57, FastEthernet0/0
O E2    10.1.24.0 [110/20] via 200.0.0.4, 00:19:58, FastEthernet0/0
O E2    10.1.34.0 [110/20] via 200.0.0.4, 00:19:58, FastEthernet0/0

Now let’s redistribute network 172.10.0.0/24 through EIGRP on R4:
R4(config-router)#router rip
R4(config-router)#redistribute ospf 1 metric 5
R4(config-router)#router eigrp 100
R4(config-router)#redistribute ospf 1 metric 100000 100 255 1 1500

Unlike OSPF which has a default metric seed of 20, in EIGRP and RIP we have to configure a metric else we will get an infinity metric.

RIP with no metric configured gets metric of 16 which in RIP equals to infinite:

 RIP with metric 5 configured:

Using traceroute we can verify that R5 is learning network 172.10.0.0/24 from R4 through R3 and network 172.20.0.0/24 from R4 through R2:
R5#traceroute 172.10.0.1

Type escape sequence to abort.
Tracing the route to 172.10.0.1

  1 200.0.0.4 52 msec 16 msec 20 msec
  2 10.1.34.3 24 msec 40 msec 20 msec
  3 10.1.13.1 56 msec *  92 msec
R5#traceroute 172.20.0.1

Type escape sequence to abort.
Tracing the route to 172.20.0.1

  1 200.0.0.4 36 msec 20 msec 20 msec
  2 10.1.24.2 52 msec 28 msec 20 msec
  3 10.1.12.1 76 msec *  64 msec

Now R1 is learning both networks 192.168.10.0/24 and 192.168.20.0/24 from R2 due to RIP preferred (lower) AD. If we would like split these 2 networks, one for each path, through a different router we will have to use different method, from the one that I use earlier with EIGRP, because RIP doesn’t differentiate between internal and external routes.

So I tried a few methods to manipulate these routes, which R4 learns from R5, and see how I can achieve the result where one route (192.168.10.0/24) is preferred through R3 and the other (192.168.20.0/24) preferred through R2, in perspective view from R1.

While trying to use the distance command on EIGRP I found the following post which helped me to understand why I didn’t succeeded:
If it is an internal route, you can change their AD , use the cmd "distance <AD> <source> <list>"
if it is an EIGRP external route you cannot do that per route, you can do this for all the external routes. Use the command "distance eigrp <internal_AD> <external_AD>"

Also note that the distance command is locally significant and it isn’t traversing along with the route updates between adjacent neighbors.

So the solution I came up with is to configure the distance command on R1 and increase the AD of learned route 192.168.10.0/24 through RIP:
R1(config)#access-list 10 permit 192.168.10.0 0.0.0.255
R1(config)#access-list 10 deny any                     
R1(config)#router rip                                 
R1(config-router)#distance 180 10.1.12.2 0.0.0.0 10    

Clearing the routing table (clear ip route *) and here is the result:
R1#sh ip rou
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

     1.0.0.0/32 is subnetted, 1 subnets
C       1.1.1.1 is directly connected, Loopback0
R    200.0.0.0/24 [120/6] via 10.1.12.2, 00:00:01, FastEthernet0/0
     192.168.10.0/32 is subnetted, 1 subnets
D EX    192.168.10.1 [170/332800] via 10.1.13.3, 00:00:01, FastEthernet0/1
     172.10.0.0/24 is subnetted, 1 subnets
C       172.10.0.0 is directly connected, Loopback1
     172.20.0.0/24 is subnetted, 1 subnets
C       172.20.0.0 is directly connected, Loopback2
     192.168.20.0/32 is subnetted, 1 subnets
R       192.168.20.1 [120/6] via 10.1.12.2, 00:00:03, FastEthernet0/0
     10.0.0.0/24 is subnetted, 4 subnets
C       10.1.13.0 is directly connected, FastEthernet0/1
C       10.1.12.0 is directly connected, FastEthernet0/0
R       10.1.24.0 [120/1] via 10.1.12.2, 00:00:03, FastEthernet0/0
D       10.1.34.0 [90/307200] via 10.1.13.3, 00:00:03, FastEthernet0/1

So finally we have R1 and R5, learns two different networks , each on different path.

No comments:

Post a Comment