top of page
  • Writer's pictureMcCube

Dive into basic EIGRP Configuration

Updated: Mar 24, 2022




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#



Recent Posts

See All
bottom of page