Route redistribution configuration can often be very complex, especially when redistributing at multiple points in the network. While there are a plethora of things that can go wrong is redistribution is not implemented correctly, e.g. routing loops, this section will only delve into reasons why OSPF may not advertise external or redistributed routes. These reasons include:
- Omitting the subnets Keyword during Redistribution
- Incorrectly Filtering Outbound Advertisements
When redistributing routes into OSPF, by default only Classful subnets are redistributed unless the subnets keyword is included in the configuration. When the subnets keyword is omitted, Cisco IOS software prints the following configuration warning message on the console:
| R1(config)#router ospf 1 R1(config-router)#redistribute eigrp 1 % Only classful networks will be redistributed R1(config-router)# |
In addition to looking at the router configuration, you can also use the show ip protocolscommand to determine if subnets will be included the redistribution. If the subnets keyword has been omitted, the show ip protocols command shows the following:
| R1#show ip protocols Routing Protocol is “ospf 1” Outgoing update filter list for all interfaces is not set Incoming update filter list for all interfaces is not set Router ID 1.1.1.1 It is an autonomous system boundary router Redistributing External Routes from, eigrp 1 Number of areas in this router is 1. 1 normal 0 stub 0 nssa Maximum path: 4 Routing for Networks: 10.0.0.1 0.0.0.0 area 0 10.0.1.1 0.0.0.0 area 0 10.0.2.1 0.0.0.0 area 0 Routing on Interfaces Configured Explicitly (Area 0): Loopback100 Reference bandwidth unit is 100 mbps Routing Information Sources: Gateway Distance Last Update 2.2.2.2 110 00:00:03 Distance: (default is 110) |
However, if the subnets keyword has been included in the redistribution configuration, for example, the statement redistribute eigrp 1 subnets was added to R1, the show ip protocols command would instead show the following:
| R1#show ip protocols Routing Protocol is “ospf 1” Outgoing update filter list for all interfaces is not set Incoming update filter list for all interfaces is not set Router ID 1.1.1.1 It is an autonomous system boundary router Redistributing External Routes from, eigrp 1, includes subnets in redistribution Number of areas in this router is 1. 1 normal 0 stub 0 nssa Maximum path: 4 Routing for Networks: 10.0.0.1 0.0.0.0 area 0 10.0.1.1 0.0.0.0 area 0 10.0.2.1 0.0.0.0 area 0 Routing on Interfaces Configured Explicitly (Area 0): Loopback100 Reference bandwidth unit is 100 mbps Routing Information Sources: Gateway Distance Last Update 2.2.2.2 110 00:00:26 Distance: (default is 110) |
When using distribute lists to filter OSPF routes, if an outbound distribute list is applied to an ASBR, the ASBR will only generate Type 5 LSAs for prefixes that are explicitly permitted by the distribute list. Only these prefixes will be advertised. To further clarify this point, a router running OSPF has been configured with the following static routes:
| R1#show ip route static S 192.168.4.0/24 is directly connected, Null0 S 192.168.5.0/24 is directly connected, Null0 S 192.168.1.0/24 is directly connected, Null0 S 192.168.2.0/24 is directly connected, Null0 S 192.168.3.0/24 is directly connected, Null0 |
The same router currently has the following distribute list configured:
| R1#show running-config | section ospf|access-list router ospf 1 router-id 1.1.1.1 log-adjacency-changes network 10.0.0.1 0.0.0.0 area 0 network 10.0.1.1 0.0.0.0 area 0 network 10.0.2.1 0.0.0.0 area 0 distribute-list 1 out access-list 1 permit 10.0.0.0 0.255.255.255 |
Next, the static routes are redistributed into OSPF as follows:
| R1(config)#router ospf 1 R1(config-router)#redistribute static subnets |
By default, because the distribute list references ACL 1 which permits all routes in the 10.0.0.0/8 major network, the ASBR will not generate a Type 5 LSA for 192.168.x.0/24 static routes as is evident and seen in the output of the show ip ospf database command on the local router:
| R1#show ip ospf database
OSPF Router with ID (1.1.1.1) (Process ID 1) Router Link States (Area 0) Link ID ADV Router Age Seq# Checksum Link count Net Link States (Area 0) Link ID ADV Router Age Seq# Checksum |
In order to allow the ASBR to generate and advertise Type 5 LSAs for the static subnets, the ACL configuration must be modified in a manner similar to the following:
| R1#conf t Enter configuration commands, one per line. End with CNTL/Z. R1(config)#access-list 1 permit 192.168.0.0 0.0.255.255 R1(config)#exit R1#clear ip ospf redistribution |
Following this configuration change, the Link State Database on router R1 shows the following:
| R1#show ip ospf database
OSPF Router with ID (1.1.1.1) (Process ID 1) Router Link States (Area 0) Link ID ADV Router Age Seq# Checksum Link count Net Link States (Area 0) Link ID ADV Router Age Seq# Checksum Type-5 AS External Link States Link ID ADV Router Age Seq# Checksum Tag |