今天在做这个实验时有点问题,看到这篇文章后感觉不错,解决了我的疑惑,在此转载希望可以帮助更多朋友,以此同时谢谢提供文章的阿杜
前几天有朋友在论坛里面问关于默认路由在EIGRP的通告问题,今天自己动手做了一下,贴出来供有需要的朋友参考参考,对于有问题的地方,希望大家提出来多多指教。
我的实验拓扑如下


EIGRP 添加默认路由_职场

我们先来看看默认路由能够在EIGRP正常通告的情况
先前的准备工作诸如接口的配置我就不写了,这里主要要说明的是R3上要配置一条默认路由ip route 0.0.0.0 0.0.0.0 192.168.2.1 用于测试数据包的返回。
现在我在R1上使用EIGRP通告直连网络,在R2 上通告192.168.1.0的网络,这样基本的实验环境就搭建好了。此时R1和R2 只有直连网络和在EIGRP自治系统内学习到的路由,如图

EIGRP 添加默认路由_职场_02

EIGRP 添加默认路由_路由交换_03

下面开始默认路由在EIGRP的通告,在这里因为EIGRP默认是开启自动汇总的,所以我们现在看到的则是开启自动汇总的情况,在R2上的操作如下

EIGRP 添加默认路由_EIGRP_04

此时默认路由在EIGRP通告就成功了,查看R1和R2的路由表


EIGRP 添加默认路由_EIGRP_05

EIGRP 添加默认路由_职场_06

对比一下R1和R2初始的路由表,我们可以看到R1的路由表里面多了一条带D*的路由,这就是通过EIGRP学习到的默认路由,在顶部的Gateway of last resort is 192.168.1.2 to network 192.168.2.0也可以看到。
R2的路由表里面除了手工添加的一条默认路由(Gateway of last resort is 192.168.2.2 to network 0.0.0.0 就是指的这条路由 )以外,还有一条直连带*号的路由,也就是我们通告出去的路由。
此时我在R1上执行ping 172.16.1.1的命令,结果是能够通的,说明默认路由在EIGRP内通告成功。

EIGRP 添加默认路由_EIGRP_07

在这里我有三点要说的是:
一是ip default-network通告的网络必须是主网络号,即有类网络,如果通告子网的话,使用上述方法,R1是学不到默认路由的。
二是没有在R2上关闭自动汇总,在这个实验拓扑中,关闭了自动汇总后,看到的效果是一样的,所以就有很多朋友认为自动汇总不会对默认路由在EIGRP的通告产生影响,事实上,关闭自动汇总对于在有些网络中还是会有不同的,有兴趣的朋友可以看我后面的实验。

先看看在这个网络中,在R2上关闭自动汇总后的情况,下图为在R2上关闭自动汇总


EIGRP 添加默认路由_职场_08


看看关闭自动汇总后R1和R2的路由表的变化

EIGRP 添加默认路由_路由交换_09

EIGRP 添加默认路由_路由交换_10

对比发现关闭自动汇总,对R1和R2的路由表没有产生影响。

三是在R2上使用了一条默认路由,这条路由是用来到172.16.1.0网络用的,所以此条默认路由不是实现这个实验的必须条件,如果你把这条路由改为用静态路由,一样是可以达到效果的。如果不设置这条默认路由,R1一样是可以学习到带D*的路由的,只不过在R1不能ping通172.16.1.1而已。在这里我最初有个误解就是,我认为默认路由在EIGRP的通告通告的是ip route 0.0.0.0 0.0.0.0 192.168.2.2这条默认路由,事实上通告的应该是ip default-network 192.168.2.0这条默认路由。