Practical Configurations, Part 3
This section explains how to configure your distribution and core devices to route traffic to its proper destination and includes some simple commands to help validate your configuration.
In Part 2 of our series of practical configurations I showed you how to configure your distribution layer devices and manipulate protocols such as Hot Standby Router Protocol (HSRP) and Spanning Tree Protocol (STP). In this tip, I'll show you how to configure the links from distribution to core and include some simple commands to help validate your configuration. And again, the topology I will be using for the configuration examples is depicted below.
Distribution recap
Recall from Part 2 that I showed you how to change the STP priority levels to ensure the root bridge for a spanning tree is in the correct place in your network. Remember how important this is when using fault tolerant protocols like HSRP and VRRP. The diagram below illustrates the L2 traffic flow when we configure D1 as both the root bridge and the active HSRP gateway.
Keep in mind that when making configuration changes to modify traffic flow within your network, it's not something you should do just because you can. In cases like my example, where STP and HSRP are involved, then yes – but doing so in every situation can lead to possible sub-optimal flow, which of course can lead to even bigger problems.
Routing from Layer to Layer
Throughout this series I've shown you how to configure your network to get data from edge to distribution – now one step further is configuring your distribution and core devices to route that traffic to its proper destination. The age-old argument of "what protocol" to use is beyond the scope of this article, so I'm going to stick with OSPF. Using this routing topology diagram as a guideline, I will show you how to properly configure OSPF from distribution to core. In this example, I'm going to focus solely on the Layer 3 portion.
D1 D1(config)#interface loopback0 D1(config-if)#description Interface used for OSPF, BGP, Logging, etc. D1(config-if)#ip address 150.10.33.3 255.255.255.255 D1(config-if)#interface GigabitEthernet0/0 D1(config-if)#description Link to Core-1 D1(config-if)#ip address 150.1.1.2 255.255.255.252 D1(config-if)#interface GigabitEthernet0/1 D1(config-if)#description Link to Core-2 D1(config-if)#ip address 150.1.1.6 255.255.255.252 D1(config)#router ospf 1 D1(config-router)#router-id 150.10.33.3 D1(config-router)#network 150.10.33.3 0.0.0.0 area 0 D1(config-router)#network 150.1.1.0 0.0.0.3 area 0 D1(config-router)#network 150.1.1.4 0.0.0.3 area 0 D1(config-router)#network 10.1.1.0 0.0.0.255 area 1 D1(config-router)#area 1 nssa no-summary D2 D2(config)#interface loopback0 D2(config-if)#description Interface used for OSPF, BGP, Logging, etc. D2(config-if)#ip address 150.10.33.4 255.255.255.255 D2(config-if)#interface GigabitEthernet0/0 D2(config-if)#description Link to Core-1 D2(config-if)#ip address 150.1.1.10 255.255.255.252 D2(config-if)#interface GigabitEthernet0/1 D2(config-if)#description Link to Core-2 D2(config-if)#ip address 150.1.1.14 255.255.255.252 D2(config)#router ospf 1 D2(config-router)#router-id 150.10.33.4 D2(config-router)#network 150.10.33.4 0.0.0.0 area 0 D2(config-router)#network 150.1.1.8 0.0.0.3 area 0 D2(config-router)#network 150.1.1.12 0.0.0.3 area 0 D2(config-router)#network 10.1.1.0 0.0.0.255 area 1 D2(config-router)#area 1 nssa no-summary D3 D3(config)#interface loopback0 D3(config-if)#description Interface used for OSPF, BGP, Logging, etc. D3(config-if)#ip address 150.10.33.5 255.255.255.255 D2(config-if)#interface GigabitEthernet0/0 D3(config-if)#description Link to Core-1 D3(config-if)#ip address 150.1.1.18 255.255.255.252 D3(config-if)#interface GigabitEthernet0/1 D3(config-if)#description Link to Core-2 D3(config-if)#ip address 150.1.1.22 255.255.255.252 D3(config)#router ospf 1 D3(config-router)#router-id 150.10.33.5 D3(config-router)#network 150.10.33.5 0.0.0.0 area 0 D3(config-router)#network 150.1.1.16 0.0.0.3 area 0 D3(config-router)#network 150.1.1.20 0.0.0.3 area 0 D3(config-router)#network 10.2.1.0 0.0.0.255 area 2 D3(config-router)#area 2 nssa no-summary D4 D4(config)#interface loopback0 D4(config-if)#description Interface used for OSPF, BGP, Logging, etc. D4(config-if)#ip address 150.10.33.6 255.255.255.255 D4(config-if)#interface GigabitEthernet0/0 D4(config-if)#description Link to Core-1 D4(config-if)#ip address 150.1.1.26 255.255.255.252 D4(config-if)#interface GigabitEthernet0/1 D4(config-if)#description Link to Core-2 D4(config-if)#ip address 150.1.1.30 255.255.255.252 D4(config)#router ospf 1 D4(config-router)#router-id 150.10.33.6 D4(config-router)#network 150.10.33.6 0.0.0.0 area 0 D4(config-router)#network 150.1.1.24 0.0.0.3 area 0 D4(config-router)#network 150.1.1.28 0.0.0.3 area 0 D4(config-router)#network 10.2.1.0 0.0.0.255 area 2 D4(config-router)#area 2 nssa no-summary Core-1 Core-1(config)#interface loopback0 Core-1(config-if)#description Interface used for OSPF, BGP, Logging, etc. Core-1(config-if)#ip address 150.10.33.1 255.255.255.255 Core-1(config-if)#interface GigabitEthernet 0/0 Core-1(config-if)#description Link to Core-2 Core-1(config-if)#ip address 150.1.1.33 255.255.255.252 Core-1(config-if)#interface GigabitEthernet0/1 Core-1(config-if)#description Link to D1 Core-1(config-if)#ip address 150.1.1.1 255.255.255.252 Core-1(config-if)#interface GigabitEthernet0/2 Core-1(config-if)#description Link to D2 Core-1(config-if)#ip address 150.1.1.9 255.255.255.252 Core-1(config-if)#interface GigabitEthernet0/3 Core-1(config-if)#description Link to D3 Core-1(config-if)#ip address 150.1.1.17 255.255.255.252 Core-1(config-if)#interface GigabitEthernet0/4 Core-1(config-if)#description Link to D4 Core-1(config-if)#ip address 150.1.1.25 255.255.255.252 Core-1(config)#router ospf 1 Core-1(config-router)#router-id 150.10.33.1 Core-1(config-router)#network 150.10.33.1 0.0.0.0 area 0 Core-1(config-router)#network 150.1.1.0 0.0.0.3 area 0 Core-1(config-router)#network 150.1.1.8 0.0.0.3 area 0 Core-1(config-router)#network 150.1.1.16 0.0.0.3 area 0 Core-1(config-router)#network 150.1.1.24 0.0.0.3 area 0 Core-1(config-router)#network 150.1.1.32 0.0.0.3 area 0 Core-1(config-router)#network 10.2.1.0 0.0.0.255 area 2 Core-2 Core-2(config)#interface loopback0 Core-2(config-if)#description Interface used for OSPF, BGP, Logging, etc. Core-2(config-if)#ip address 150.10.33.2 255.255.255.255 Core-2(config-if)#interface GigabitEthernet 0/0 Core-2(config-if)#description Link to Core-1 Core-2(config-if)#ip address 150.1.1.34 255.255.255.252 Core-2(config-if)#interface GigabitEthernet0/1 Core-2(config-if)#description Link to D1 Core-2(config-if)#ip address 150.1.1.5 255.255.255.252 Core-2(config-if)#interface GigabitEthernet0/2 Core-2(config-if)#description Link to D2 Core-2(config-if)#ip address 150.1.1.13 255.255.255.252 Core-2(config-if)#interface GigabitEthernet0/3 Core-2(config-if)#description Link to D3 Core-2(config-if)#ip address 150.1.1.21 255.255.255.252 Core-2(config-if)#interface GigabitEthernet0/4 Core-2(config-if)#description Link to D4 Core-2(config-if)#ip address 150.1.1.29 255.255.255.252 Core-2(config)#router ospf 1 Core-2(config-router)#router-id 150.10.33.6 Core-2(config-router)#network 150.10.33.2 0.0.0.0 area 0 Core-2(config-router)#network 150.1.1.4 0.0.0.3 area 0 Core-2(config-router)#network 150.1.1.12 0.0.0.3 area 0 Core-2(config-router)#network 150.1.1.20 0.0.0.3 area 0 Core-2(config-router)#network 150.1.1.28 0.0.0.3 area 0 Core-2(config-router)#network 150.1.1.32 0.0.0.3 area 0 Core-2(config-router)#network 10.2.1.0 0.0.0.255 area 2
So, now I've configured OSPF on each of routers within the core and distribution layers. Notice the slightly different network statements on the distribution routers. Configuring the edge areas as Not-So-Stubby-Areas allows us the ability to "combine" with other networks in future at the edge. Using the no-summary option allows us to shrink the routing tables of any edge routers we may have out there on our network by allowing only a default summary route to be advertised into that area.
Verification
Now that OSPF is configured, we have a path from edge to core that your network data can take to reach its destination. Let's take a look at some commands that can be useful in validating your OSPF configuration accuracy. Each command is performed in the privileged exec mode.show ip ospf neighbor: This command allows you to view the status of your OSPF neighbors. In this example Core-1 and Core-2 should have neighbor adjacencies established with each router in the network
show ip ospf interface: This command shows you what interfaces are participating in your OSPF process. This is very helpful in troubleshooting neighbor adjacencies.
show ip route: Once neighbor adjacencies have been formed, take a look at the IP routing table for each route between the devices. In my next tip we'll analyze the results of this output.
The following link is very helpful when troubleshooting OSPF problems:
https://www.cisco.com/en/US/tech/tk365/technologies_tech_note09186a00800949f7.shtml
Hopefully you now have a good idea about the steps needed to configure the core of your routed network. In my next tip, we'll examine the details of the verification output and see how we can optimize our network traffic flow.
Part 1
Part 2
Doug Downer (CCIE #9848) is a Sr. Consultant with Callisma, INC, a wholly owned subsidiary of SBC Communications. Doug has over 7 years in the industry and currently provides high level business and technology consulting for various federal clients in the Washington D.C. area.