EIGRP Routing
EIGRP automatically exchanges routes between routers - uses bandwidth and delay to calculate the best path (faster convergence than OSPF for large networks).
Why Use EIGRP?
Section titled “Why Use EIGRP?”You need EIGRP when:
- You have a Cisco-only network
- You want faster convergence than OSPF
- You need unequal-cost load balancing (variance feature)
- Your network is very large and you want efficient routing updates
When to use EIGRP vs OSPF: EIGRP is faster and uses less CPU/bandwidth, but only works on Cisco routers. OSPF is an open standard that works with any vendor.
Enable EIGRP
Section titled “Enable EIGRP”Router(config)# router eigrp 100Router(config-router)# no auto-summaryRouter(config-router)# eigrp router-id 1.1.1.1Parameters:
- 100 - AS (Autonomous System) number. Can be 1-65535. All EIGRP routers in the same domain MUST use the same AS number.
- 1.1.1.1 - Router ID. Replace with a unique ID for each router.
Autonomous System (AS) number (100): Must match on all routers in the EIGRP domain.
auto-summary: Disabled by default in modern IOS. Always explicitly disable it with no auto-summary to prevent classful summarization issues.
Add Networks to EIGRP
Section titled “Add Networks to EIGRP”Router(config-router)# network 10.1.1.0 0.0.0.255Router(config-router)# network 192.168.10.0 0.0.0.255Format: network [network address] [wildcard mask]
Add all interfaces (wildcard 0.0.0.0 means exact match):
Router(config-router)# network 10.1.1.5 0.0.0.0Passive Interfaces
Section titled “Passive Interfaces”Stop EIGRP from sending hello packets on interfaces where no EIGRP neighbors exist.
Make specific interface passive:
Router(config-router)# passive-interface GigabitEthernet0/0/0Make all interfaces passive, then enable only needed ones:
Router(config-router)# passive-interface defaultRouter(config-router)# no passive-interface GigabitEthernet0/0/1Router(config-router)# no passive-interface Serial0/1/0Hello and Hold Timers
Section titled “Hello and Hold Timers”EIGRP uses hello packets to detect neighbors.
Default timers:
- Hello: 5 seconds (high-speed links), 60 seconds (low-speed links)
- Hold: 15 seconds (high-speed), 180 seconds (low-speed)
Change timers on interface:
Router(config-if)# ip hello-interval eigrp 100 3Router(config-if)# ip hold-time eigrp 100 10⚠️ Timers don’t need to match on both sides (unlike OSPF), but it’s best practice to keep them consistent.
Bandwidth Configuration
Section titled “Bandwidth Configuration”EIGRP metric calculation uses bandwidth. Set correct bandwidth on serial interfaces.
Router(config-if)# bandwidth 1544Value in Kbps. Example: T1 = 1544 Kbps, E1 = 2048 Kbps.
Manual Summarization
Section titled “Manual Summarization”Reduce routing table size by summarizing multiple networks.
On the interface sending the summary:
Router(config-if)# ip summary-address eigrp 100 192.168.0.0 255.255.252.0This summarizes 192.168.0.0/24 through 192.168.3.0/24 into one route.
Default Route Propagation
Section titled “Default Route Propagation”Advertise a default route into EIGRP.
First, create a default static route:
Router(config)# ip route 0.0.0.0 0.0.0.0 203.0.113.1Then redistribute it into EIGRP:
Router(config-router)# redistribute staticLoad Balancing
Section titled “Load Balancing”EIGRP supports equal-cost and unequal-cost load balancing.
Equal-cost load balancing (default, up to 4 paths):
Router(config-router)# maximum-paths 4Unequal-cost load balancing (variance):
Router(config-router)# variance 2Variance of 2 means EIGRP will load-balance across paths with metrics up to 2x the best path’s metric.
Authentication
Section titled “Authentication”Secure EIGRP with MD5 authentication.
Create key chain:
Router(config)# key chain EIGRP-KEYRouter(config-keychain)# key 1Router(config-keychain-key)# key-string SecurePass123Router(config-keychain-key)# exitRouter(config-keychain)# exitApply to interface:
Router(config)# interface GigabitEthernet0/0/1Router(config-if)# ip authentication mode eigrp 100 md5Router(config-if)# ip authentication key-chain eigrp 100 EIGRP-KEYVerify Configuration
Section titled “Verify Configuration”Router# show ip eigrp neighborsRouter# show ip eigrp topologyRouter# show ip eigrp interfacesRouter# show ip route eigrpRouter# show ip protocolsRouter# show ip eigrp trafficTroubleshooting
Section titled “Troubleshooting”Neighbors not forming? Check:
- AS numbers match
- Authentication (if configured) matches
- K-values match (default: K1 and K3 enabled)
Verify neighbor states:
Router# show ip eigrp neighborsClear EIGRP neighbors (force re-election):
Router# clear ip eigrp neighborsExample Full Configuration
Section titled “Example Full Configuration”Router(config)# router eigrp 100Router(config-router)# eigrp router-id 1.1.1.1Router(config-router)# no auto-summaryRouter(config-router)# network 10.1.1.0 0.0.0.255Router(config-router)# network 192.168.10.0 0.0.0.255Router(config-router)# passive-interface defaultRouter(config-router)# no passive-interface GigabitEthernet0/0/1Router(config-router)# maximum-paths 4Router(config-router)# variance 2Router(config-router)# exit
Router(config)# interface Serial0/1/0Router(config-if)# bandwidth 1544Router(config-if)# ip hello-interval eigrp 100 5Router(config-if)# ip hold-time eigrp 100 15