详细分解三同不同默认路由配置形式的区别与故障排除


在思科CCNP的学习中,要求接合EIGRP使用ipdefaultnetwork指令将某条具体的主类网络公告为默认路由,在实施这个前建议大家明确区别ip defaultgatewayip defaultnetwork、ip route 0.0.0.0 0.0.0.0、三种不同配置默认路由形式的关键区别,那么本文档的目标在于解决如下疑问。


解决疑问一:如下配置默认路由指令的具体区别

ipdefaultgateway

ip defaultnetwork(重点理解)

ip route 0.0.0.00.0.0.0


解决疑问二:为什么在实施ip defaultnetwork接合动态路由EIGRPRIP时总是故障



注意:这现在我们让这两个疑问分开处理,采取逐个击破的方式来,然后再把分开理解的零碎知识点进行逻辑组合,加以实验推演,这样各种不同默认路由的区别就非常明显,顺理成章必能快速处理疑问二中的故障。



理解ip defaultgateway

ip defaultgateway通常是使用在路由器的IP路由功能被禁用或者因为某些原因丧失了路由转发功能时,为路由器配置默认网关的功能,此时的路由器只相当于IP通信世界里的一个单纯的通信节点,与计算机相类同,此时在路由器上使用ip defaultgateway指令就相当于为计算机配置默认网关功能。那么在什么情况下路由器的IP路由功能会丧失?

通常处理某种管理原因,管理员手工的执行了no ip routing指令,或者由于路由器IOS镜像遭到破坏,处于引导模式中,路由器无法进行路由数据包的转发。


如下为思科官方原英文文档关键部分的截取:


详细分解三同不同默认路由配置形式的区别与故障排除_第1张图片

ip defaultgateway定义默认网关的实例


图1所示的环境,假设路由器R2的IOS镜像受到破坏,或者要为路由器R2升级IOS镜像,再在路由器R2正处于引导模式,此时的R2已经就不再具备IP路由转发功能了。如果R2希望通过网络在TFTP服务器192.168.100.100上下载新的IOS镜像,就必须使用ip defaultgateway指令将路由器R2的默认网关配置为192.168.3.1,此时的R2就类似一台计算机而已。那么为什么不使用平时使用最多的一种方式ip route 0.0.0.0 0.0.0.0192.168.3.1,很遗憾的是:当路由器不再具备路由转发的能力时,就已经没有路由表存在了,那么iproute 0.0.0.0 0.0.0.0 192.168.3.1指令也不可能被执行。

详细分解三同不同默认路由配置形式的区别与故障排除_第2张图片

实验论证过程:

默认情况下,路由器是启动IP路由功能的,即便是不配置任何接口地址,或者路由协议,但是IP路由表是可用的,使用show ip route查看路由器如图2所示路由表可用。当在路由器R2上使用指令no ip routing就是让路由器丧失路由转发功能,此时的路由器就只是一个单纯的IP接点,类似于一台计算机,如果使用show ip route查看路由表时会出现如下图3所示的结果,路由表不可用,当然还没有使用ip defaultgateway进行默认网关的配置。

详细分解三同不同默认路由配置形式的区别与故障排除_第3张图片

在执行no ip routing(关闭路由转发功能)的情况下,配置默认网关,如下所示。当成功完成配置后,如图4所示,虽然路由转发功能被关闭,路由表不可用,但是该路由器具备了一个与计算机似类的默认网关192.168.3.1。


R2(config)#ipdefault-gateway 192.168.3.1


详细分解三同不同默认路由配置形式的区别与故障排除_第4张图片

理解ip defaultnetwork

  ip defaultnetwork也是一种配置默认路由的方式,但是它是将路由表中一个特定的主类网络作为默认路由(非0.0.0.0形式的默认路由),如5所示将198.10.1.0作为了一条默认路由,注意看该路由记录前有本个“*”的标记。并且指示要到达198.10.1.0最后的网关是161.44.192.2ip defaultnetwork指令必须在路由转发功能可用的情况下,才能生效。


详细分解三同不同默认路由配置形式的区别与故障排除_第5张图片

ip defaultnetwork后面跟的网络必须是主类网络,把一条具体的网络作为默认路由。

wKioL1LKHYThLGVFAAAPr5ohtXY647.jpg

ip defaultnetwork后面跟的主类网络,在该路由器上必须具备可达性。

图6所示,当路由器R1上需要将10.0.0.0/8为作为被标有“*”符号的默认路由,那么在R1上就必须具备到10.0.0.0/8的可达到,换句话而言,在R1的路由表中必须有到达10.0.0.0/8的路由记录,该路由记录的形式可以是静态路由,也可以是通过动态路由协议学习到的。

详细分解三同不同默认路由配置形式的区别与故障排除_第6张图片

使用在ip route 10.0.0.0255.0.0.0 172.31.1.16环境中的R1上配置一条到10.0.0.0的静态路由,如7所示,然后再在R1使用ip default-network 10.0.0.0将该网络配置为默认路由,得到如8所示的结果,R110.0.0.0标记为代有“*”的默认路由,并指示要到达10.0.0.0的最后网关是172.31.1.1,同时R1会自动在路由表中插入一条0.0.0.0形式的默认路由。

详细分解三同不同默认路由配置形式的区别与故障排除_第7张图片

详细分解三同不同默认路由配置形式的区别与故障排除_第8张图片

紧接着,善思者必须会产生一些疑问:在使用ip defaultnetwork 10.0.0.0时,路由表中必须要有到达10.0.0.0的路由,既然都已经有到达10.0.0.0的可达性路由了,为了什么还要把10.0.0.0作为默认路由?

   这将出于加强了你路由转发的robustness(健状性)考虑它通过最后的一个网关如图8中的172.31.1.1来到达特点的子网10.0.0.0;如果R1后面还有很多的路由器,假设R1后面的路由器包括了传统的运行了IGRP的路由器,如果你相通过配置让每台传统的IGRP路由器接合IGRP协议自动的从R1上去学到一条默认路由,你一定不能使用0.0.0.0形式,因为IGRP不支持0.0.0.0形式的默认路由,IGRP必须使用ip default-network来公告默认路由。出于这种原因不难看出ip default-network具备向下兼容IGRP完成自动公告默认路由,当然EIGRP和RIP也支持。关于EIGRP和RIP对ip default-network支持,后继会作更多描述。

wKioL1LKHmCjhJp4AABKulWUTTo087.jpg


已经使用ip defaultnetwork10.0.0.0将该网络标记为一条默认路由,在如图8所示,的路由表中R1为什么还会自动插入一条0.0.0.0/0的默认路由?

曾经在哪些传统版本的IOS中使用ip defaultnetwork是不会自动插入0.0.0.0这条路由的,现今的IOS为了加强路由转发的稳定性,所以在配置了ipdefaultnetwork网络后,会加入一条0.0.0.0形式的默认路由如图8所示,其实要理解为什么这么做很简单,在图6的环境中,可以使用被标为“*”10.0.0.0的默认路由来到达10.0.0.0的网络,那么要到达11.0.0.0的网络怎么办?因为没有其它具体的静态路由,那就只能使用路由器R1自动插入到路由表中的0.0.0.0来到达,这就是R1为什么还会自动插入一条0.0.0.0/0的默认路由的原因。


ip defaultnetwork X.X.X.X是可以配合动态路由协议IGRP、RIP、EIGRP使用。

图9所示的环境,R1可以使用ip defaultnetwork 10.0.0.0定义10.0.0.0作为一条有具体主类条目的默认路由向IGRP、RIP、EIGRP路由域公告。让R2自动的从R1得到10.0.0.0这条标记有“*”的默认路由,只是在使用时需要注意如下事项:

详细分解三同不同默认路由配置形式的区别与故障排除_第9张图片

ip defaultnetwork X.X.X.X是配合动态路由协议IGRP、RIP、EIGRP注意事项:

在如图9环境R1的路由表中,必须具备到10.0.0.0网络的可达性,也就是说必须要有到10.0.0.0这个网络的路由记录, 可以通过在路由器R1上使用静态路由的方式进行手工输写,然后在满足这一条件(静态路由输前完成)后,针对IGRP、RIP、EIGRP不同的路由协议又会出现几种不同的处理情况, 可以直接通过路由进程里面的network语句,公告10.0.0.0;也可以通过路由再发布redistribute,将10.0.0.0的可达性发布到相应的路由进程里面,来确保R2成功的学到10.0.0.0这条标记有“*”的默认路由,那么什么时候使用network直接公告,哪个时使用redistribute,这将看您静态路由输写的下一跳是出站接口,还是具体的下一跳地址,如果说静态路由的下一跳输写的是出站接口,那么就使用network公告,如果静态路由下一跳输写的是具体地址,那么就必须使用redistribute进行路由再发布,为什么会是这样,我们将在解决疑问二:为什么在实施ipdefaultnetwork接合动态路由EIGRP和RIP时总是故障中做详细回答与测试。



注意:OSPF和ISIS是不支持ip defaultnetwork形式的。它们只认可0.0.0.0形式的默认路由,事实上,你可以更明确的理解,ip defaultnetwork就是一个遗留产物。


解决疑问二:为什么在实施ip defaultnetwork接合动态路由EIGRP和RIP时总是故障

故障环境:10所示的演示环境。


详细分解三同不同默认路由配置形式的区别与故障排除_第10张图片

故障描述:在路由器R1上已经通过ip default-network 10.0.0.0定义了默认网络也已经配置ip route 10.0.0.0255.0.0.0 172.31.1.1的可达性路由具备然后根据思科官方配置文档的指示R1EIGRP路由进程中使用network10.0.0.0进行了公告,但是路由器R2始终得不到被标记为“*”的10.0.0.0作为默认路由,故障路由表如图11所示。

故障原始配置:图10中关键设备R1和R2的原始配置如下所示。


路由器R1的配置

interface Ethernet1/0

ipaddress 172.31.1.2 255.255.255.0


interface Ethernet1/1

ipaddress 192.168.1.1 255.255.255.0


router eigrp 2014

network 10.0.0.0                *已经使用network语句公告10.0.0.0

network192.168.1.0


ip default-network 10.0.0.0           *注意:已经定义10.0.0.0为默认路由

ip route 10.0.0.0 255.0.0.0 172.31.1.1  *已经通过静态路由来确定到10.0.0.0的可达性,下一跳为具体地址


路由器R2的配置:

interface Ethernet1/0

ipaddress 192.168.1.2 255.255.255.0


router eigrp 2014

network192.168.1.0

详细分解三同不同默认路由配置形式的区别与故障排除_第11张图片

故障分析:

    在这种情况下,故障的原因是如12所示,你的确配置了到10.0.0.0/8的静态路由,但是它使用了明确的下一跳地址,这对于路由器R1而言,10.0.0.0/8就不是直连路由,你岂可通过network 10.0.0.0来完成公告,不论是RIPIGRPEIGRP使用network公告的网络都必须是直连网络。那么要解决这个故障,两个解决方案:改静态路由的下一跳为出站接口,或者使用路由再发布,为什么要这么做,分析如下:

详细分解三同不同默认路由配置形式的区别与故障排除_第12张图片


故障处理使用方案一将针对10.0.0.0的可达性路由的下一跳改为出站接口13所示明显可看出此时的10.0.0.0以直连网络(directly connected)存在那么他就能配置合EIGRP路由进程中的network指令进行公告,因为非BGP路由协议,如RIP、IGRP、EIGRP的Network指令后面,必须是直接连接以“directly connected”的网络, 具体配置如下所示,当完成这个更改后,再到路由器R2上查看路由表,如图14所示,成功的以默认路由的形式,标记有“*”学到了10.0.0.0。



R1(config)#noip route 10.0.0.0 255.0.0.0 172.31.1.1  * no掉下一跳是具体地址

R1(config)#iproute 10.0.0.0 255.0.0.0 E1/0   * 将下一跳改为出站接口


详细分解三同不同默认路由配置形式的区别与故障排除_第13张图片

使用解决方案二,就是不更改10.0.0.0的下一跳为出站接口,仍然要求是具体的下一跳地址,但是将具有具体下一跳地址的10.0.0.0再发布到EIGRP进程中,可以对故障进行解决,因为非直接连接的网络只能使用路由再发布来解决,具体配置如下所示,完成关相配置后,在路由器R2上show ip route查看路由表,可看到,成功的学习到10.0.0.0并标记为“*”,同是被标记为“D*EX”表示是再发布进入EIGRP的路由。


router eigrp 2014

network192.168.1.0

redistribute static  * 此时必须将表示可达性的静态路由再发布到EIGRP的路由进程中

ip default-network 10.0.0.0     *定义10.0.0.0为默认路由

ip route 10.0.0.0255.0.0.0 172.31.1.1  * 到达10.0.0.0的静态路由使用明确的下一跳地址


详细分解三同不同默认路由配置形式的区别与故障排除_第14张图片

故障总结:

如果配置到达10.0.0.0可达性路由的下一跳是具体地址,那么就必须在EIGRP中使用路由再发布,如果达10.0.0.0可达性路由的下一跳是出站接口,那么就只需在EIGRP中使用Network公告,原因上述已经描述得很清晰了,IGRPEIGRP处理方式相同。



关于RIP使用ip default-network发布默认路由的说明

RIP使用ipdefault-network发布默认路由配置更简单,只虽要使用ip default-network 10.0.0.0定义默认网络,然后使用ip route 10.0.0.0 255.0.0.0 Ethernet1/0配置到默认网络的可达性,如图16所示,当完成如下配置后,可以在R2上查看路由表如图17所示,得到一条标记有*的0.0.0.0形式的默认路由。RIP与IGRP和EIGRP使用ipdefault-network发布默认路由的区别是:RIP不需要在路由进程中使用network公告10.0.0.0;然后使用ip default-network发布的默认路由不是以具体网络为显示的,而是0.0.0.0的形式。


路由器R1的配置

router rip

version 2

network 192.168.1.0  


ip default-network 10.0.0.0     * 定义默认网络

ip route 10.0.0.0255.0.0.0 Ethernet1/0  *配置默认网络的可达性,下一跳为出站接口


详细分解三同不同默认路由配置形式的区别与故障排除_第15张图片

详细分解三同不同默认路由配置形式的区别与故障排除_第16张图片

详细分解三同不同默认路由配置形式的区别与故障排除_第17张图片