# EIGRP IPv4 ## EIGRP Basics Begriffe und Konzepte in EIGRP 1. Feasible Distance (FD) - Die Feasible Distance ist der metrische Gesamtwert (also die "Kosten"), die ein Router berechnet, um ein Zielnetzwerk zu erreichen. Sie setzt sich zusammen aus: - Metrik zum direkten Nachbarn (next-hop) - Metrik, die dieser Nachbar selbst bis zum Zielnetzwerk hat - Es ist also die Gesamtkosten-Schätzung von deinem Router bis zum Zielnetzwerk – über einen bestimmten Nachbarn. 1. Reported Distance (RD) - Die Reported Distance (auch bekannt als "Advertised Distance") ist die Metrik, die ein Nachbarrouter selbst zu einem Zielnetzwerk hat – also was er dir "meldet". - Diese ist ein wichtiger Vergleichswert zur Berechnung des Feasible Successors. 1. Successor - Der Successor ist der beste Pfad zum Zielnetzwerk – also der mit der niedrigsten Feasible Distance. - Dieser Pfad wird immer in die Routing-Tabelle aufgenommen. 1. Feasible Successor (FS) - Ein Feasible Successor ist ein Backup-Pfad zum Zielnetzwerk. - Voraussetzung: Seine Reported Distance (RD) muss kleiner sein als die Feasible Distance (FD) des aktuellen Successors.> Das stellt sicher, dass der FS loop-free ist – also keine Routing-Schleifen entstehen können. ## Classic Configuration with Autonomous System 100 ``` router eigrp 100 eigrp router-id 2.2.2.2 network 10.10.10.0 255.255.255.0 ``` ## Named Configuration with Autonomous System 100 (better option) ``` router eigrp LAB-EIGRP address-family ipv4 unicast autonomous-system 100 eigrp router-id 1.1.1.1 network 10.10.20.0 255.255.255.0 ``` ## Additional Configuration ### Stop unnecessary EIGRP neighbor discovery (Named) ``` router eigrp LAB-EIGRP address-family ipv4 unicast autonomous-system 100 af-interface default passive-interface exit af-interface g0/1 no passive-interface exit ``` ### Stop unnecessary EIGRP neighbor discovery (classic) ``` router eigrp 100 passive-interface default no passive-interface g0/0 no passive-interface g0/1 ``` ### Authentication (on interface) For MD5 classic and all connected to classic (you cannot mix sha256 and md5) ``` key chain EIGRP-AUTHEN-KEY key 1 key-string mysecret exit int g0/0 ip authentication key-chain eigrp 100 EIGRP-AUTHEN-KEY ip authentication mode eigrp 100 md5 exit ``` Named configuration also supports SHA256!!! ``` router eigrp LAB-EIGRP address-family ipv4 unicast autonomous-system 100 af-interface g0/1 authentication mode hmac-sha-256 mysupersecuresecret exit ``` ### Load balancing and variance Maybe adjust the brandwith on the interfaces Allow routes with up to double RD: ``` router eigrp LAB-EIGRP address-family ipv4 unicast autonomous-system 100 topology base variance 2 exit ``` Otherwise only the equal to best distances will be taken into account. ### Timers (Named) ``` router eigrp LAB-EIGRP address-family ipv4 unicast autonomous-system 100 af-interface g0/0 hello-interval 10 hold-time 30 ``` ### Timers (classic) ``` int g0/1 ip hello-interval eigrp 100 10 ip hold-time eigrp 100 30 ``` ### Summary Addresses Summaries need to be placed on the interfaces that distribute routes, e.g. Int g0/0 has multiple Sub-interfaces and Int g0/1 is also a "Client"network, Int g0/2 is distributing all local networks into EIGRP summarized. If S1/0/1 is also connected to the EIGRP process, proceed accordingly. Named: ``` router eigrp LAB-EIGRP address-family ipv4 unicast autonomous-system 100 af-interface g0/2 summary-address 10.10.0.0 255.255.0.0 exit ``` Classic: ``` int g0/2 ip summary-address eigrp 100 10.10.0.0 255.255.0.0 ``` ### Stub setup to reduce forwarding of queries with guranteed no-answer Named: ``` router eigrp LAB-EIGRP address-family ipv4 unicast autonomous-system 100 eigrp stub exit ``` Classic: ``` router eigrp 100 eigrp stub exit ``` ### Filtered Distribute List Filter out a network from being updated to a peer. Named: ``` ip acess-list standard EIGRP-FILTER deny 10.10.0.0 0.0.255.255 permit any exit router eigrp LAB-EIGRP address-family ipv4 unicast autonomous-system 100 topology base distribute-list EIGRP-FILTER out g0/2 exit ``` Classic: ``` ip access-list standard EIGRP-FILTER deny 10.10.0.0 0.0.255.255 permit any exit router eigrp 100 distribute-list EIGRP-FILTER out g0/2 exit ``` # EIGRP IPv6 IPv6 unicast-routing MUST BE ENABLED On IPv6 ONLY devices, the router-id must be set ## Classic Configuration with Autonomous System 100 ``` ipv6 router eigrp 100 eigrp router-id 2.2.2.2 exit int g0/0 ipv6 eigrp 100 exit int g0/1 ipv6 eigrp 100 exit int lo1 ipv6 eigrp 100 exit ``` ## Named Configuration with Autonomous System 100 (better option) ``` router eigrp LAB-EIGRP address-family ipv6 unicast autonomous-system 100 eigrp router-id 2.2.2.2 ``` Now it is enabled on all interfaces by default (that have IPv6 configured). Adjust: ``` router eigrp LAB-EIGRP address-family ipv6 unicast autonomous-system 100 af-interface default passive-interface exit af-interface lo1 shutdown exit af-interface g0/0 no passive-interface exit ``` ## Additional Configuration ### Passive Interfaces for Named above Classic: ``` ipv6 router eigrp 100 passive-interface default no passive-interface g0/0 no passive-interface g0/1 exit ``` ### Redistribution of routes Classical: ``` ipv6 route ::/0 2001:db8:acad::1:2 ipv6 router eigrp 100 redistribute static exit ``` Named: ``` router eigrp LAB-EIGRP address-family ipv6 unicast autonomous-system 100 topology base redistribute static exit ``` ### Summary Adresses Alternative default gateway advertisement: Classic: ``` int g0/0 ipv6 summary-address eigrp 100 ::/0 exit ``` Named: ``` router eigrp LAB-EIGRP address-family ipv6 unicast autonomous-system 100 af-interface g0/0 summary-address 2001:db8:abcd::/56 exit ``` ### Authentication (on interface) Classic only allows MD5, Named adds support for SHA256 Classic: ``` key chain EIGRPv6-AUTHEN-KEY key 1 key-string mysecret exit int g0/0 ipv6 authentication key-chain eigrp 100 EIGRPv6-AUTHEN-KEY ipv6 authentication mode eigrp 100 md5 ``` Named: ``` key chain EIGRPv6-AUTHEN-KEY key 1 key-string mysecret exit router eigrp LAB-EIGRP address-family ipv6 unicast autonomous-system 100 af-interface g0/0 authenication key-chain EIGRPv6-AUTHEN-KEY authentication mode md5 exit af-interface g0/1 authentication mode hmac-sha-256 mysupersecuresecret exit ``` ### Load balancing and variance Utilizing maximum-paths to setup up to 32 instead of 4 destinations Adjust brandwith again (for example to 800000) ``` router eigrp LAB-EIGRP address-family ipv6 unicast autonomous-system 100 topology base variance 2 exit ``` ### Filter with prefix list Classic: ``` ipv6 prefix-list DROP-BRANCH-1 seq 10 deny 2001:db8:cafe:1::/64 ipv6 prefix-list DROP-BRANCH-1 seq 20 permit ::/0 ipv6 router eigrp 100 distribute-list prefix-list DROP-BRANCH-1 out g0/1 exit ``` Named: ``` ipv6 prefix-list DROP-BRANCH-1 seq 10 deny 2001:db8:cafe:1::/64 ipv6 prefix-list DROP-BRANCH-1 seq 20 permit ::/0 router eigrp LAB-EIGRP address-family ipv6 unicast autonomous-system 100 topology base destribute-list prefix-list DROP-BRANCH-1 out g0/1 exit ``` # Redistribution ## OSPF into EIGRP Redistribute OSPF routes into EIGRP ``` router eigrp 100 redistribute ospf 100 metric 10000 100 255 1 1500 exit ``` ``` router eigrp LAB-EIGRP address-family ipv4 unicast autonomous-system 100 topology base redistribute ospfv3 100 metric 1000000 10 255 1 1500 exit exit address-family ipv6 autonomous-system 100 topology base default-metric 1000000 10 255 1 1500 redistribute ospf 100 ! assumes opsfv3 since in an IPv6 AF ! optionally with include-connected ``` Routes redistributed into EIGRP require emtrics to be set. ### ACLs Filter a network from being redistributed into EIGRP from OSPF ``` ip access-list standard OSPF-FILTER remark Used with DList to filter OSPF deny permit any exit router eigrp 100 distribute-list OSPF-FILTER out ospf 100 ``` ### Filtering using route maps ``` ip access-list standard LOOP-ACL permit 10.10.10.10 0.0.0.0 permit 10.10.10.11 0.0.0.0 exit route-map LOOP-FILTER deny 10 match ip address LOOP-ACL exit route-map LOOP-FILTER permit 20 exit router eigrp 100 redistribute ospf 100 route-map LOOP-FILTER metric 1000000 100 255 1 1500 exit ``` ## EIGRP into EIGRP One-way redistribution: ``` router eigrp 100 redistribute eigrp 50 ``` Now EIGRP AS 100 obtains the routes from EIGRP 50 while 50 does NOT btain the routes from 100. ``` router eigrp LAB-EIGRP address-family ipv4 unicast autonomous-system 50 topology base redistribute eigrp 100 exit ``` Now a two-way redistribution is established Only allow some networks to be sent towards a peer on a specific interface: Default route and a network ``` ip prefix-list FILTER-INT seq 5 permit 0.0.0.0/0 ip prefix-list FILTER-INT seq 10 permit 10.1.1.0/24 ip prefix-list FILTER-INT seq 15 deny 0.0.0.0/0 le 32 router eigrp 100 distribute-list prefix FILTER_INT out exit ``` ## EIGRP Authentication Sonstiges: Classic EIGRP supports key-chain based MD5-hashed keys, while Named EIGRP adds support for SHA256-hashed keys. The two are not compatible. Keychain erstellen ``` key chain EIGRP-AUTH-KEY key 1 key-string cisco123 ``` Named EIGRP ``` router eigrp WSC2024 address-family ipv4 autonomous-system 24 af-interface gig0/1 authentication key-chain EIGRP-AUTH-KEY authentication mode md5 ``` Standard EIGRP ``` Interface gig0/1 ip authentication key-chain eigrp 24 EIGRP-AUTH-KEY ip authentication mode eigrp 24 md5 ``` ## Unequal Cost Load Balancing mit variance EIGRP balanciert standardmäßig nur über Pfade mit gleichen Kosten (gleicher FD). OSPF ebenfalls. Was macht variance? - Variance ist ein Multiplikator, der entscheidet, welche zusätzlichen Pfade mit in die Routing-Tabelle aufgenommen werden dürfen – auch wenn sie nicht gleich teuer sind wie der beste Pfad. - Standardwert ist 1, was bedeutet: Nur gleich teure Pfade (FD gleich der besten FD) dürfen genutzt werden. Beispiel: Bester Pfad (FD) = 1000 Zweitbester Pfad (FD) = 1400 variance = 2 → erlaubt Pfade mit FD ≤ 1000 × 2 = 2000 → also auch 1400 Konfiguration: Beispiel: ``` R3# show ip eigrp topology | section 192.168.1.0 P 192.168.1.0/24, 1 successors, FD is **2621440** via 172.16.13.2 (**2621440**/1966080), GigabitEthernet0/0/1 via 10.0.23.2 (2785280/2129920), GigabitEthernet0/0/0 ``` - Die Route über 10.0.23.2 taucht nicht im Routing Table auf, weil die FD zu groß ist. (wegen 100mbit Verbindung) - Durch "variance 2" (2621400 x 2 = 5242880) ist 2785280 ebenfalls kleiner oder gleich 5242880 ``` router eigrp BASIC-EIGRP-LAB address-family ipv4 unicast autonomous-system 27 topology base variance 2 end ```