我们学习路由时,一直学习的路由生效条件是下一跳可达,但是我认为这个说法不严谨,我们通过实验来看下。

静态路由生效条件(静态路由生效的条件是什么)(1)

1、在交换机LSW1上创建vlan2,并配置vlanif2的IP地址为10.196.12.1/24;

2、在交换机LSW1配置缺省路由,下一跳地址为10.196.12.2(不用管10.196.12.2这个地址有没有,是否可达);

3、查看路由表,看此时静态路由是否生效

配置IP地址和静态路由的命令我就不在写了,我们直接查看结果,相信各位小伙伴也都知道了,我们配置的这条静态路由肯定没生效,如下图:

静态路由生效条件(静态路由生效的条件是什么)(2)

为什么不生效?因为下一跳不可达吗?

4、更改LSW1交换机G0/0/1口的配置,将端口类型配置为trunk,并允许所有vlan通过,然后我们再来查看路由表

静态路由生效条件(静态路由生效的条件是什么)(3)

这时我们可以看到,静态路由生效了,出现在了路由表中,为什么?此时下一跳仍然不可达啊!

原因就是vlanif2这个三层接口up了!!!

在我们更改G0/0/1这个接口的配置后(也就是4中要求的配置),vlanif2从down的状态变为了up状态,为什么up了?因为我们允许vlan2从G0/0/1这个trunk口通过了!!!如果我们没有允许vlan2通过,那么vlanif2仍然会是down的状态,因为除了G0/0/1口,没有其它的接口属于vlan2并且物理状态是up的!

所以,这就会导致一种不好的情况发生,那就是有可能对端交换机的接口down了(本端接口也会down),可是这个静态路由仍然生效,仍然指导数据转发,这就会导致业务的中断!!!有兴趣的可以做一个简单的浮动静态路由的实验是验证一下。

,