Introduction
Enhanced Interior Gateway Routing Protocol is (as the name suggests) a routing protocol. It is the successor of IGRP. Historically EIGRP was Cisco Proprietary, meaning it only worked on Cisco IOS devices. It also used to be referred to as a "Hybrid" routing protocol as it was seen as a blend between Link State and Distance Vector Routing protocols. This terminology appears to have been removed from recent Cisco documentation and EIGRP now finds itself firmly associated with Distance Vector Protocols, despite its advantages when compared to others in the same category.
At CCNA level there are a couple other things to note about EIGRP.
It has an Administrative Distance of 90
The EIGRP Metric is based on a calculation the attributes Bandwidth, Load, Delay, Maximum Transmission unit (MTU) and Reliability.
EIGRP uses binary on/off switches (K values 1-5) to manipulate which attribute is used in the calculation.
By default, K1 and K3 are ON (binary value of 1)
K2, K4, K5 are set to OFF (binary value of 0)
**Note - To actually see the mathematical equation that has all of these values in place can be enough to break one's brain. A really nice thing to remember however is that by having a K value set to OFF (binary 0) you are effectively multiplying its part of the equation by 0... which equals 0, therefore negating that part of the calculation. **
EIGRP uses Multicast address 224.0.0.10
If you are studying for your CCNA then this lab is ideal to help you understand several components of this configuration on a Cisco IOS device.
Instructions
In this lab (Download lab pack here) we will configure routers R1, R2, and R3 to work using Enhanced Interior Gateway Routing Protocol. Each router will advertise their locally connected networks to the other routers. To do all of this we will conduct the following steps...
1. On each of the routers, the interfaces will need to be configured with the IP addressing information provide in the IP table
2. Complete EIGRP configuration with an Autonomous system number of 999 on all routers.
3. Configure all LAN interfaces as Passive
4. Redistribute a default route from R2 to the router R1 and R2.
In the initial network, only hostnames and logging synchronous enabled on the console line. (Logging synchronous is an extremely useful tool to improve your experience on the CLI especially when configuring a protocol that sends lots of messages to the console).
Topology
IP Table
Device | Interface | Address |
R1 | G0/0/0 | 10.1.2.1/24 |
R1 | G0/0/1 | 10.1.3.1/24 |
R1 | Loopback 1 | 192.168.1.1/24 |
R1 | Loopback 2 | 192.168.2.1/24 |
R2 | G0/0/0 | 10.1.2.2/24 |
R2 | G0/0/1 | 10.2.3.2/24 |
R2 | Loopback 1 | 208.113.96.2/28 |
R2 | Loopback 10 | 10.10.10.2/24 |
R3 | G0/0/0 | 10.2.3.3/24 |
R3 | G0/0/1 | 10.1.3.3/24 |
R3 | Loopback 3 | 192.168.3.3/24 |
R3 | Loopback 4 | 192.168.4.3/24 |
**Note - Packet Tracer will use G0/0/0 and G0/0/1 interfaces Cisco Modelling Labs (CML) will use G0/0 and G0/1 interfaces**
Activity
Part 1 - Configure R1, R2 and R3 interfaces
1. The config below demonstrates how to initially configure interfaces on R1. You should be able to configure R2 and R3 similarly with the information in the IP Table
You may notice that I "No Shut" my loopback interfaces. This is not required as the process of creating them brings them up. This is simply a force of habit on my part.
R1> enable
R1# conf t
R1(config)# interface GigabitEthernet 0/0/0
R1(config-if)# description LINK TO R2
R1(config-if)# ip address 10.1.2.1 255.255.255.0
R1(config-if)# no shut
R1(config-if)# exit
R1(config)#
R1(config)# int g0/0/1
R1(config-if)# desc LINK TO R3
R1(config-if)# ip add 10.1.3.1 255.255.255.0
R1(config-if)# no shut
R1(config-if)# exit
R1(config)#
R1(config)# int lo1
R1(config-if)# desc LINK TO LAN1
R1(config-if)# ip add 192.168.1.1 255.255.255.0
R1(config-if)# no shut
R1(config-if)# exit
R1(config)#
R1(config)# int lo2
R1(config-if)# desc LINK TO LAN2
R1(config-if)# ip add 192.168.2.1 255.255.255.0
R1(config-if)# no shut
R1(config-if)# exit
R1(config)#
2. Repeat this process on R2 and R3 changing address information and interface details as required.
Part 2 – Configure EIGRP on R1, R2, and R3
1. Firstly go in to the EIGRP router configuration. At this stage you need to set an Autonomous System Number (AS or ASN), this number MUST be consistent across all routers in the EIGRP domain. This closer resembles the OSPF Area number as opposed to the OSPF process number. At this point you can also configure the EIGRP router ID
R1
R1(config)# router eigrp 999
R1(config-router)# eigrp router-id 100.100.100.1
R2
R2(config)# router eigrp 999
R2(config-router)# eigrp router-id 100.100.100.2
R3
R3(config)# router eigrp 999
R3(config-router)# eigrp router-id 100.100.100.3
2. At this stage you can start configuring the networks to be advertised. It is most likely that you will want to see what networks each specific router can advertise, the "show ip route connected" command is a great help here.
To save you the hassle of ending or exiting all the way back to privilege Exec mode. Use the "do" command.
R1(config-router)# do show ip route connected
C 10.1.2.0/24 is directly connected, GigabitEthernet0/0/0
C 10.1.3.0/24 is directly connected, GigabitEthernet0/0/1
C 192.168.1.0/24 is directly connected, Loopback1
C 192.168.2.0/24 is directly connected, Loopback2
When it comes to adding the network statements you can do a few things. Either
Add the specific network
R1(config-router)# network 10.1.2.0 0.0.0.255
R1(config-router)# network 10.1.3.0 0.0.0.255
R1(config-router)# network 192.168.1.0 0.0.0.255
R1(config-router)# network 192.168.2.0 0.0.0.255
R1(config-router)#
Add a summary of addresses (In this instance all networks beginning with 10.x.x.x will be added) As we do not want to advertise the ISP network on R2, this works well on this router.
R2(config-router)# do show ip route conn
C 10.1.2.0/24 is directly connected, GigabitEthernet0/0/0
C 10.2.3.0/24 is directly connected, GigabitEthernet0/0/1
C 10.10.10.0/24 is directly connected, Loopback10
C 208.113.96.0/28 is directly connected, Loopback1
R2(config-router)# network 10.0.0.0 0.255.255.255
R2(config-router)#
%DUAL-5-NBRCHANGE: IP-EIGRP 999: Neighbor 10.1.2.1 (GigabitEthernet0/0/0) is up: new adjacency
R2(config-router)#
Use a full summary statement. This can be useful but should be used with caution. Any new network or interface you add to this router will automatically be added in to EIGRP. However, in live environments this may not be desired, it could create routing issues especially if there have been configuration issues or instances where you don't want a network to be part of EIGRP. On R3 it will work fine.
R3(config-router)# network 0.0.0.0 255.255.255.255
%DUAL-5-NBRCHANGE: IP-EIGRP 999: Neighbor 10.2.3.2 (GigabitEthernet0/0/0) is up: new adjacency
%DUAL-5-NBRCHANGE: IP-EIGRP 999: Neighbor 10.1.3.1 (GigabitEthernet0/0/1) is up: new adjacency
R3(config-router)#
At this point we should have a fully converged network with neighbors, and everything so let's check it out.
R1# show ip eigrp neighbors
IP-EIGRP neighbors for process 999
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
0 10.1.2.2 Gig0/0/0 10 02:32:28 40 1000 0 19
1 10.1.3.3 Gig0/0/1 12 02:29:35 40 1000 0 11
R1#
R2# show ip eigrp neighbors
IP-EIGRP neighbors for process 999
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
0 10.1.2.1 Gig0/0/0 13 02:33:02 40 1000 0 23
1 10.2.3.3 Gig0/0/1 10 02:30:09 40 1000 0 12
R2#
R3# show ip eigrp neighbors
IP-EIGRP neighbors for process 999
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
0 10.2.3.2 Gig0/0/0 11 02:30:51 40 1000 0 20
1 10.1.3.1 Gig0/0/1 11 02:30:51 40 1000 0 24
R3#
Excellent!
Part 3 – Configure Passive interfaces
1. EIGRP like all dynamic routing protocols are awesome. It does however overhead. It constantly sends out messages out all active EIGRP interfaces and if one of those interfaces receives an EIGRP message it will process it.
There are a couple of downsides to this. The first is that by default we are sending EIGRP messages on to networks where there are no other routers to receive and understand them. The LAN interfaces for example. So, we are sending messages to PCs inside the network, the PCs receive them and are forced to process them to a point where they realise, they should drop the packet. This is a waste of the PCs time and effort. The second builds on the first but is related to security. If PCs are receiving these messages. Hackers could read this information, gathering intelligence on the structure of our network. Or worse they could reply and form a neighborship with our router and maybe poison our routing table!
We want neither of these things to happen. So, let's set any interface that connects to a LAN as passive. It is also good to do the same with our ISP link, I'm willing to bet that ISPs don't want to process our meaningless Internal routing protocol. Let's make sure we don't bother them with it.
R1(config-router)# passive-interface loopback 1
R1(config-router)# passive-interface loopback 2
R2(config-router)# passive-i lo1
R2(config-router)# passive-i lo10
R3(config-router)# pass lo3
R3(config-router)# pass lo4
* The above demonstrates shorter versions of the same command
Part 4 – Configure default route redistribution
1. Finally, we want to have a default route that is configured on R2 to point to the ISP be redistributed out to all other routers in the EIGRP domain.
Let's configure the default route first on R2
R2(config-router)# exit
R2(config)# ip route 0.0.0.0 0.0.0.0 lo1
%Default route without gateway, if not a point-to-point interface, may impact performance
Now let's redistribute.
R2(config)#
R2(config)# router eigrp 999
R2(config-router)# redistribute static
R2(config-router)# end
R2#
Other Verifications
If you haven't already there are a few useful show commands that are helpful when configuring EIGRP.
Overall EIGRP configuration
Viewing your running configuration is always an easy way to reconfirm the commands you have entered. Let's use a pipe and view the EIGRP section of the config with show running-config | section eigrp
R1# show running-config | section eigrp
router eigrp 999
eigrp router-id 100.100.100.1
passive-interface Loopback1
passive-interface Loopback2
network 10.1.2.0 0.0.0.255
network 10.1.3.0 0.0.0.255
network 192.168.1.0
network 192.168.2.0
auto-summary
R1#
Although viewing the running config is one of the best tools in troubleshooting cisco IOS. Cisco like to make sure you know a few other outputs too.
View EIGRP Neighbors
This is a great verification command show ip eigrp neighbors. Mainly because if you have gone wrong somewhere in your EIGRP configuration, this will be one of the first things to tell you. It won't tell you exactly what is wrong, but it will at least point you in the right direction.
R1# show ip eigrp neighbors
IP-EIGRP neighbors for process 999
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
0 10.1.2.2 Gig0/0/0 11 00:07:56 40 1000 0 30
1 10.1.3.3 Gig0/0/1 14 00:07:54 40 1000 0 25
R1#
View EIGRP configuration details
The output from the show ip protocols command can be a little intimidating at first. But goes into good detail about the overall configuration of EIGRP such as the Autonomous system number, K values, Advertised networks, and passive interfaces.
R1# show ip protocols
Routing Protocol is "eigrp 999 "
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
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 999
Automatic network summarization is in effect
Automatic address summarization:
10.0.0.0/8 for Loopback1, Loopback2
Summarizing with metric 2816
Maximum path: 4
Routing for Networks:
10.1.2.0/24
10.1.3.0/24
192.168.1.0
192.168.2.0
Passive Interface(s):
Loopback1
Loopback2
Routing Information Sources:
Gateway Distance Last Update
10.1.2.2 90 18599539
10.1.3.3 90 18601392
Distance: internal 90 external 170
R1#
View the Routing Table
This is the reason we are here anyway. We are trying to manipulate routing tables across multiple routers. show ip route and some of its variations come in very handy.
View the full routing table
R1# show ip route
Codes: L - local, 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, E - EGP
i - IS-IS, 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 10.1.2.2 to network 0.0.0.0
10.0.0.0/8 is variably subnetted, 7 subnets, 3 masks
D 10.0.0.0/8 is a summary, 04:17:16, Null0
C 10.1.2.0/24 is directly connected, GigabitEthernet0/0/0
L 10.1.2.1/32 is directly connected, GigabitEthernet0/0/0
C 10.1.3.0/24 is directly connected, GigabitEthernet0/0/1
L 10.1.3.1/32 is directly connected, GigabitEthernet0/0/1
D 10.2.3.0/24 [90/3072] via 10.1.2.2, 00:33:03, GigabitEthernet0/0/0
[90/3072] via 10.1.3.3, 00:33:01, GigabitEthernet0/0/1
D 10.10.10.0/24 [90/130816] via 10.1.2.2, 00:33:03, GigabitEthernet0/0/0
192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.1.0/24 is directly connected, Loopback1
L 192.168.1.1/32 is directly connected, Loopback1
192.168.2.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.2.0/24 is directly connected, Loopback2
L 192.168.2.1/32 is directly connected, Loopback2
D 192.168.3.0/24 [90/130816] via 10.1.3.3, 00:33:01, GigabitEthernet0/0/1
D 192.168.4.0/24 [90/130816] via 10.1.3.3, 00:33:01, GigabitEthernet0/0/1
D*EX 0.0.0.0/0 [170/1282816] via 10.1.2.2, 00:33:03, GigabitEthernet0/0/0
R1#
View only EIGRP routes in the routing table
R1# show ip route eigrp
10.0.0.0/8 is variably subnetted, 7 subnets, 3 masks
D 10.0.0.0/8 is a summary, 04:20:20, Null0
D 10.2.3.0/24 [90/3072] via 10.1.2.2, 00:36:07, GigabitEthernet0/0/0
[90/3072] via 10.1.3.3, 00:36:05, GigabitEthernet0/0/1
D 10.10.10.0/24 [90/130816] via 10.1.2.2, 00:36:07, GigabitEthernet0/0/0
192.168.2.0/24 is variably subnetted, 2 subnets, 2 masks
D 192.168.3.0/24 [90/130816] via 10.1.3.3, 00:36:05, GigabitEthernet0/0/1
D 192.168.4.0/24 [90/130816] via 10.1.3.3, 00:36:05, GigabitEthernet0/0/1
D*EX 0.0.0.0/0 [170/1282816] via 10.1.2.2, 00:36:07, GigabitEthernet0/0/0
R1#
Comentarios