前不久探讨了默认路由的问题,只是总体对默认路由设置方法的三种方式进行了分类。
今天学到EIGRP默认路由这个部分;来看看在EIGRP上默认路由的划分有什么区别。

一直以来,我实验室的网络都是以
ip route 0.0.0.0 0.0.0.0 192.168.0.10(网关)
ip default-network 192.168.0.0
的方式在边界路由器上向网内发布路由通告的,这点有个好处,不会向外界广播EIGRP分组。一会后面还会提到。

RB-----RA--192.168.0.0-internet

先梳理一下EIGRP对默认路由的设置过程:
ip default-network会在网内通告默认路由,以其后面跟着的网段作为参数发布;前提是这个路由器接着这个网段。
这里,如果在RA上设置,将会向RB广播默认路由,RB会知道默认网段192.168.0.0询问RA左边的接口。
但是RA本身并没有设置0.0.0.0的网关,因此,RA还是上不了网,同理,RB也只是知道任何其他路由没有的都问192.168.0.0(就是问RA左边接口),但是他只能到达192.168.0.0,也不知道怎么上网;
因此,这样的情况下,加上ip route 0.0.0.0 0.0.0.0 192.168.0.10,RA就能出去了;同理,RB也能出去,其实他不知道怎么出去,但是他知道问192.168.0.0,也就问到了RA,RA知道从192.168.0.10走,所以RB也出去了。

现在问题来了,如果删除ip default-network 192.168.0.0,还能不能上网呢?
显然不行的,因为默认网段广播不出去,因为默认网段没有了!有人会问,不是还有ip route 0.0.0.0 0.0.0.0 192.168.0.10这句嘛,这也是默认网段啊。
原因是:RA有什么理由要通告这句?在EIGRP的network中,并没有0.0.0.0这个网段啊!!!(在这个问题上RIP就会通告)
所以,解决方案就是加上
network 0.0.0.0
这个网段。
这样,各个路由器(如RB)收到的默认网段就从
D* 192.168.0.0/0……
变成很好看的
D* 0.0.0.0/0……


因此,很多人会郁闷为什么网络架构最后加上
ip route 0.0.0.0 0.0.0.0 address
为什么不通。原因就在这里
要加上network 0.0.0.0;
和改变前的方法都用了两条指令,但是原理确差别很大。
不过这样做的缺点在于,RA会向外网发送EIGRP的分组了。