EIGRP internal and external routes

I was working on an EIGRP & BGP configuration. The customer had 3 sites connected with a high speed link between each site. Site #3 also had a high speed link to the MPLS cloud. Each site was also connected to a layer 3 MPLS cloud. The requirements were:

  1. Have each site advertise their routes to the MPLS cloud 
  2. Have the site with the site with the high speed link to the MPLS cloud advertise all 3 sites networks and have that link preferred over the locally advertised sites routes 
  3. In case of failure of the high speed link, traffic should flow directly to each site in the MPLS cloud
Between the three sites I configured EIGRP and verified everything was working. I configured BGP and advertised local networks to BGP. Next configure redistribution from BGP to EIGRP on the Site #3 router. Nothing hard yet. However here is where I ran into some problems. On site #3 (the one with the high speed link) I had to adjust the routing Administrative Distance. eBGP is 20 and internal EIGRP is 90. Obviously the BGP routes were preferred and Site #3 would not advertise the others sites networks. First I tried adjusting BGP to have the AD lower than 90. That got messy pretty quick. Then i started messing around with route maps to increase EIGRP’s AD. Again it got messy quick. Neither one really worked the wasy I expected. I ended up calling TAC and they showed me two ways of adjusting EIGRP’s AD and a very important thing I never understood about EIGRP. First they stated that you should always try and adjust the IGP’s metric. OK, makes sense (especially since my attempt at adjusting BGP was ugly). The first way to correct was the following:
router EIGRP 17
 distance 19 60

access-list 60 permit
access-list 60 permit
access-list 60 permit
access-list 60 permit
access-list 60 permit
So the distance command breaks down like this. The number 19 is the metric that the internal routes AD will be changed to. The address of is the EIGRP neighbor of this router. and 60 is the access list. Only the routes in the access list have their AD changed to 19. This only works for Internal EIGRP routes. That’s pretty cool. Now the next problem. On the neighbor router there was a static route pointing to the core switch. Come to find out that connected routes and static routes on an EIGRP peer are External EIGRP routes! Once they pass through another router they become internal routes. Whoa, never knew that and can’t believe I have not run into that in the past 10 years. Anyway I could not remove the static route pointing to the core switch but had to advertise those routes. Hmmm, I had hung with TAC already however in discussing with him how all this worked, he had provided me with a clue. Check the distance command. Here’s what I found:
distance eigrp 90 18

What this does is change the AD of EIGRP. The internal routes get set to 90 and the external routes to 18! Now both Interna and External EIGRP routes are set to 18. Bingo BGP on the Site #3 router had the routes in its routing table and started advertising all the internal routes. That being said I can remove the previous distance command. The only reason I see using both would be if you only need some Internal EIGRP routes lowered and others not (and hence not being in the routing table. Everything works and it only took a few hours and a call to TAC. Plus I learned something new about EIGRP.

Leave a Reply