Redistributing Static Routes into RIP

Problem

You want RIP to redistribute static routes that you have configured on your router.

Solution

The redistribute static command tells RIP to advertise static routes, as well as directly connected routes and the routes that have been learned from other RIP routers:

Router1#configure terminal 
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#ip route 192.168.10.0 255.255.255.0 172.22.1.4
Router1(config)#router rip
Router1(config-router)#redistribute static
Router1(config-router)#end
Router1#

You can define how these routes look to other routers when they are redistributed:

Router1#configure terminal 
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#ip route 192.168.10.0 255.255.255.0 172.22.1.4
Router1(config)#router rip 
Router1(config-router)#redistribute static metric 5
Router1(config-router)#distribute-list 7 out static
Router1(config-router)#exit
Router1(config)#access-list 7 permit 192.168.10.0
Router1(config)#end
Router1#

 

Discussion

The biggest potential problem that you will encounter with redistributing routes into RIPv1 comes from breaking network class boundaries. This version of RIP is classful, so you have to be rather careful about how you distribute routing information from other sources that may be classless. In the example in this recipe, Router1 redistributes a static route for the Class C network 192.168.10.0. But if we tried instead to redistribute a larger range, such as 192.168.12.0/22, RIPv1 would not generate any errors; the router would just quietly refuse to forward this route. RIPv2, on the other hand, will redistribute this supernet route.

Looking at the RIP database on a router with IOS level 12.0(6)T or higher shows the redistributed static route:

Router1#show ip rip database 192.168.10.0 255.255.255.0
192.168.10.0/24 redistributed
 [5] via 0.0.0.0, 
Router1#

After configuring the second example, the output of show ip protocols includes information about the filtering. This command also tells you what other protocols RIP is redistributing routes from:

Router1#show ip protocols 
Routing Protocol is "rip"
 Sending updates every 30 seconds, next due in 5 seconds
 Invalid after 180 seconds, hold down 180, flushed after 240
 Outgoing update filter list for all interfaces is not set
 Redistributed static filtered by 7
 Incoming update filter list for all interfaces is not set
 Redistributing: static, rip
 Default version control: send version 1, receive any version 
 Interface Send Recv Triggered RIP Key-chain
 FastEthernet0/0.1 1 1 2
 Serial0/0.2 1 1 2 
 FastEthernet0/1 1 1 2 
 Automatic network summarization is in effect
 Maximum path: 4
 Routing for Networks:
 172.22.0.0
 172.25.0.0
 Routing Information Sources:
 Gateway Distance Last Update
 172.25.1.7 120 00:00:03
 172.25.2.2 120 00:00:06
 172.22.1.4 120 00:00:08
 Distance: (default is 120)
Router1#

In addition to static routes, you can distribute information from other dynamic routing protocols into RIP simply by specifying which protocol's routes you want RIP to use. For example, if you have an EIGRP network that uses process number 65530 on the same router, you would redistribute it into RIP like this:

Router1#configure terminal 
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)#router eigrp 65530
Router1(config-router)#network 192.168.1.0
Router1(config-router)#exit
Router1(config)#router rip
Router1(config-router)#redistribute eigrp 65530
Router1(config-router)#end
Router1#

If you look at the show ip protocols command now, you can see that RIP redistributes routes it learns from EIGRP, but EIGRP does not redistribute routes learned from RIP. If you also want EIGRP to redistribute RIP routes, you must explicitly configure it to do so. We discuss EIGRP configuration, including redistribution examples, in Chapter 7:

Router1#show ip protocols 
Routing Protocol is "rip"
 Sending updates every 30 seconds, next due in 0 seconds
 Invalid after 180 seconds, hold down 180, flushed after 240
 Outgoing update filter list for all interfaces is 
 Incoming update filter list for all interfaces is 
 Redistributing: static, rip, eigrp 65530 
 Default version control: send version 1, receive any version
 Interface Send Recv Key-chain
 FastEthernet0/0.1 2 2 
 Serial0/0.2 2 2 
 FastEthernet0/1 2 2 
 Automatic network summarization is in effect
 Maximum path: 4
 Routing for Networks:
 172.22.0.0
 172.25.0.0
 Routing Information Sources:
 Gateway Distance Last Update
 172.25.1.7 120 00:00:03
 172.25.2.2 120 00:00:06
 172.22.1.4 120 00:00:08
 Distance: (default is 120)

Routing Protocol is "eigrp 65530"
 Outgoing update filter list for all interfaces is 
 Incoming update filter list for all interfaces is 
 Default networks flagged in outgoing updates
 Default networks accepted from incoming updates
 EIGRP metric weight K1=1, K2=0, K3=1, K4=0, K5=0
 EIGRP maximum hopcount 100
 EIGRP maximum metric variance 1
 Redistributing: eigrp 65530
 Automatic network summarization is in effect
 Routing for Networks:
 192.168.1.0
 Routing Information Sources:
 Gateway Distance Last Update
 Distance: internal 90 external 170

Router1#

Table 6-1 shows a list of foreign protocols that RIP can redistribute.

Table 6-1. Protocols that RIP can redistribute

Type Description
bgp Border Gateway Protocol
connected Directly connected interfaces
egp Exterior Gateway Protocol
eigrp Enhanced IGRP
igrp Interior Gateway Routing Protocol
isis ISO IS-IS Routing Protocol
mobile IP Mobility routes
ospf Open Shortest Path First
rip Routing Information Protocol
static Static routes

The second example shows how to set a particular metric when redistributing a route into RIP:

Router1(config)#router rip 
Router1(config-router)#redistribute static metric 5

In this case, all static routes will appear with a RIP metric of 5. Because of the maximum metric value of 16, you need to be extremely careful with how you distribute routes into RIP. This example shows how to set a metric when redistributing static routes, but you can use the same technique when redistributing routes from any source:

Router1(config)#router rip 
Router1(config-router)#redistribute eigrp 65530 metric 5

Finally, we will point out a slightly confusing irregularity with the redistribute command. Although this command seems to allow you to redistribute RIP into RIP, in fact it won't allow it:

Router1(config)#router rip 
Router1(config-router)#redistribute rip
redistribution of "rip" via "rip" not allowed
dialhost(config-router)#

This is actually a good thing because RIP doesn't support process numbers, unlike other routing protocols available on Cisco routers. It makes sense to redistribute, for example, one EIGRP process into another EIGRP process; it doesn't make sense to redistribute within a process. If this were possible, it would be ambiguous which routes were internal and which were external.

See Also

Recipe 6.4; Chapter 7

Router Configuration and File Management

Router Management

User Access and Privilege Levels

TACACS+

IP Routing

RIP

EIGRP

OSPF

BGP

Frame Relay

Handling Queuing and Congestion

Tunnels and VPNs

Dial Backup

NTP and Time

DLSw

Router Interfaces and Media

Simple Network Management Protocol

Logging

Access-Lists

DHCP

NAT

First Hop Redundancy Protocols

IP Multicast

IP Mobility

IPv6

MPLS

Security

Appendix 1. External Software Packages

Appendix 2. IP Precedence, TOS, and DSCP Classifications

Index



Cisco IOS Cookbook
Cisco IOS Cookbook (Cookbooks (OReilly))
ISBN: 0596527225
EAN: 2147483647
Year: 2004
Pages: 505

Flylib.com © 2008-2020.
If you may any questions please contact us: flylib@qtcs.net