EIGRP Default Network Route

I can tell by your output that you are using 12.x code :slight_smile: (that doesn’t matter–just an observation).

I don’t see anything obviously wrong here. Obviously, you have done the basics like ensuring your interfaces are “no shut” and that R1 and R2 have connectivity?

Maybe put paste in a show run so we can see everything.

Hi Andrew,

I am using c3725-adventerprisek9-mz.124-15.T10.bin as IOS image file.

I have attached running configs from R1, R2 & ISP for your review.

Thanks

Aravind

I don’t see any attachments.

Andrew, can you see the attachment now?

Nope. Do you? Maybe just paste the config into a code window.

19 posts were merged into an existing topic: EIGRP Default Network Route

The second configuration did not work for me as well. I can the interface of the ISP router and get replies but not the loopback of 3.3.3.3

So it seems to be partly working.
Capture

the routes seem fine I am using this version of IOS: c3640-jk9s-mz.124-16.bin

Capture

here is another pic

Capture

if want to see something else I will upload.

I also took wireshark on the interface between ISP and R2.

Capture

Now to me that seems to say its getting there correctly from the default route but from my understanding no response found means that it is unable to find its way back. So I tried to change the ip route on ISP to fastethernet 0/0 instead of and IP but that did not work.

I am betting if I changed and added a default route on ISP it would work but not sure that would be a good thing to default route back into the network lol…

Capture

Hi @wilder7bc,

The ip default-network command is one of the weirder commands out there. I think I originally tried it on 12.4 when I wrote the lesson. On IOS 15.x, I can’t make it work…

The funny thing is, when I load my config, R1 doesn’t see 192.168.23.0/24 as a default network:

R1#show ip route 

D     192.168.23.0/24 [90/3072] via 192.168.12.2, 00:03:30, GigabitEthernet0/1

Once I remove and re-add the network command on R2, it does get propagated to R1:

R2(config-router)#router eigrp 12
R2(config-router)#no network 192.168.23.0
R2(config-router)#network 192.168.23.0 

Here’s R1 again:

R1#show ip route 

Gateway of last resort is not set

D*    192.168.23.0/24 [90/3072] via 192.168.12.2, 00:00:02, GigabitEthernet0/1

It now shows the asterisk but still no gateway of last resort.

In your case, the output of R1 looks good to me. The host unreachable message in your Wireshark output from 192.168.23.3 to 192.168.12.1 means that R3 is telling R1 that it doesn’t know how to reach 3.3.3.3. This tells us that:

  1. The packet from R1 makes it to R3.
  2. 3.3.3.3 doesn’t exist on R3.

Looking at your output, you don’t have 3.3.3.3 on an interface on the ISP router? :slight_smile:

Rene

if R2s fa0/1 interface is configured as a NAT interface would the ISP router still need the static route pointing to the internal 192 network between R1/R2?

thanks

Dave

Hello David

Typically an ISP router should not need a default route (or any kind of knowledge of internal networks) to reach internal networks of an enterprise network. This was done in the lesson just as a quick and dirty way with which connectivity can be established between all devices in the topology and pings can be used to test connectivity. Typically you would have NAT running on the edge router and that would be sufficient to allow the pings to work in the absence of the static route on the ISP router. Alternatively, you would have BGP running on the edge router that would inform Internet routers of the internal routable IP addresses that need to be advertised, thus not needing a static route in the ISP router.

I hope this has been helpful!

Laz

1 Like

Hello Rene ,
I am a little bit confused on the static defualt route
R2(config)#ip route 0.0.0.0 0.0.0.0 FastEthernet 0/1 .To use an interface as a next hope isn’t just for point to point connection like serial interface ,how come it can be used on FastEthernet interface? I tried to replace the interface fa0/1 with ip address 192.168.23.3 (ISP address ) and advertise the network 0.0.0.0 to R1. But on the R1 routing table it only shows

D 192.168.23.0/24 [90/30720] via 192.168.12.2, 00:26:57, FastEthernet0/0
why the 0.0.0.0 default route is not on the R1 Routing table ?
After I switch the ISP address back to interface fa0/1 on R2 ,everything go back to normal .

Hello Minghui

When you use an Ethernet port as an exit interface, what will happen depends on several factors including the IOS version and the platform that you are using. In some platforms/IOS combinations, what Rene has implemented will work as configured. However, there are some other situations in which it doesn’t. The following link shows a couple of examples where you have an IP address as a next hop IP or an interface as an exit interface. In this example, the use of an exit interface fails.

If you configure a static route using an Ethernet exit interface, the forwarding router will assume the destination device is directly connected to that interface and it will try to find the MAC address of the destination by sending an ARP request out of the interface to the destination address. If it is successful, routing will occur successfully.

If you attempt to advertise the 0.0.0.0 network with a default routing using a next hop address, EIGRP will not directly advertise the 0.0.0.0 network. Rene mentions this in his notes:


As Rene mentions, if you don’t use this method, you can use redistribution to redistribute static routes into EIGRP. More on redistribution can be found here:

I hope this has been helpful!

Laz

Hi Rene,

In EIGRP, if there are 2 routers and there are 2 links in between them. I want to make one link as primary and another as secondary. How we can do it? Please help.

Hello Swapnil

If you have two links between two routers, and you are running EIRGP between them, and if they are equal cost routes (the same speed links for example), then by default EIGRP will load balance between the two links. This is known as equal cost load balancing (ECLB).

Now by adjusting several parameters, you are able to make one link be preferred over the other. This can be done by changing the bandwidth value assigned to one of the two interfaces, so that the metric of EIGRP for that particular path is increased. This will cause routing to take place via the path with a lower cost unless that path fails. This results in routing everything via the one path (underutilizing the other link) until a failure occurs. You can find out more about how to achieve this in the following lesson:


Now if you want to adjust the parameters such that more traffic is sent via the first link and less traffic is sent via the second link, then you can configure what is called Unequal cost load balancing. EIGRP, unlike OSPF supports this feature, and you can find out more about it at this lesson:

I hope this has been helpful!

Laz

Hi guys,

with reference to ip network-command not working on IOS 15.x

image

It works for me fine. I’m using IOSv15.5(3)M on GNS3.

Thanks for sharing this @joseph, I’ll change my comment.

Rene

Hi Rene,

I am trying to do this with a loopback interface. But under eigrp topology this route is never getting the exterior flag set and its neighbors are ont getting the default route. Is it not possible to do with loopback interfaces?

Hello Daniel

I tried labbing this one up, and I have found that the ip default-network command doesn’t quite work very well. I was able to configure it, but I, too, could not get the exterior flag set. I have since done some research and found that it is somewhat tricky to get it to work and to “cooperate” with routing protocols. For one thing, it only works for classful networks. In particular, this Cisco documentation states that:

The ip default-network command is classful, this means that if the router has a route to the subnet indicated by this command, it installs the route to the major network. At this point neither network has been flagged as the default route. The ip default-network command must be run again, this time with the use of the major network in order to flag the candidate as a default route.

It seems that this command is quite old and has been deprecated. Additional information can be found here:

So it seems that it’s not an issue of the use of a loopback interface, but the operation of the command itself.

I hope this has been helpful!

Laz

Hi,
I’m just wondering if it matters where default routes and “regular” routes are “advertised” into EIGRP ?
I work with EIGRP a lot but I guess I take a lot of things for granted but lets take Rene’s first example where he has a default route on Router2 ip route 0.0.0.0 0.0.0.0 FastEthernet 0/1 and its advertised into

EIGRP R2(config)#router eigrp 12
R2(config-router)#network 0.0.0.0

Lets say for example that router 2 in the picture has an EIGRP peering with the ISP router (or it could be any other non isp router also) and router 1 is fully aware of the ISP routers routes so that router 1, router 2 and the ISP routers networks are all fully converged and aware of each other and can reach each other.

Then would there be any issue if I just put ip route 0.0.0.0 0.0.0.0 192.168.23.3 on router 1 as a static route and redistribute it into EIGRP with Redistribute connected instead of ip route 0.0.0.0 0.0.0.0 FastEthernet 0/1 or ip route 0.0.0.0 0.0.0.0 192.168.23.3 on router 2. ?
What I’m getting at is does it matter where I “inject” a static route (be it a regular static route or static default route) into an EIGRP autonomous system as surely once I redistribute the static route into the EIGRP AS all other EIGRP routers in the same AS will calculate the correct path to the destination regardless or is it best practice to advertise a static route on the EIGRP router closest to the network being advertised.

Also if for example I create a static route on a router and do redistribute connected so its advertised to all the other EIGRP routers and that particular router dies what happens to that static route ? Will the other routers keep it in their routing table if the advertising router has died but the rest of the routers can still reach that network that was being advertised by that static route on the router that died ?
Thanks.

Hello Sean

In general, it’s considered best practice to inject a static route on the router closest to the destination network. This is mainly because it reduces the chance of routing loops and ensures the most efficient path to the destination network. In the topology in the lesson, this would be R2, because that’s the closest router to the destination (the Internet) that you as an enterprise have control over.

First of all, you would issue the redistribute static command not the redistribute connected command as you suggest. The latter only redistributes directly connected networks, while the former redistributes static routes. Since the default route in this case is a static route, you must use the former command.

Having said that, if you issue the default route on R1, that would work. However, the problem here is that you are introducing recursive routing. This requires more CPU cycles to determine the exit interface, and this would be the case on all other routers in the topology as well, if there were more than just two. So although this would work, it is not ideal. Search for “recursive routing” in the lesson on IP routing to find out more about this phenomenon.

It doesn’t matter as far as EIGRP sharing the information is concerned. No matter where you inject the route, a stable EIGRP topology will correctly route the traffic. It does matter however as far as recursive routing goes, as mentioned, as well as in the case of a failure, which was your next question:

If the router that died was the only one advertising the default route, then the route will be removed from the routing table of the other routers and they will not be able to reach the network unless there is another route to it in their routing tables. This is another reason why we want to inject default routes as close to the destination as possible. Take a look at the diagram again:

image

If you inject the default route at R1 as you suggest, R2 will learn of the default route from R1. If R1 fails, R2 loses its default route. This means that it can no longer send traffic to the Internet, even though its connection is still up! So here you have two points of failure. If R1 fails, the whole network’s default route fails. If R2 fails, you have no physical route to the destination.

By placing the static default route on R2, and injecting it into EIGRP on R2, you have only ONE single point of failure rather than TWO. Does that make sense?

I hope this has been helpful!

Laz

1 Like