策略路由是一种比基于目标网络进行路由更加灵活的数据包路由转发机制。应用了策略路由,路由器将通过路由图决定如何对需要路由的数据包进行处理,路由图决定了一个数据包的下一跳转发路由器,在路由表已经产生的情况下,不按照现有的路由表进行转发,而是根据需要,某些通信流量选择其他路由的方式。
一、组网环境
我们在H3C A的GE1/1/1端口下使能ACL,要求将流量策略路由到H3C B,但是在实际使用中,H3C A配置的策略不生效,报文依然按照路由表的最长匹配原则转发。
二、故障分析
路由策略不生效,一般从策略路由指定的下一跳不可达和路由器启用了二层接口,并透传报文上其他三层设备来进行分析。
1、策略路由指定的下一跳可达,排除第一种可能性。
2、与策略路由相关的rule-map、flow-action、以及ACL本身配置都没有问题。
3、发现引用ACL的接口配置了portswitch命令,透传报文到上游路由器,由此发现问题所在。路由器启用了2层接口并透传报文至其他三层设备。根据报文的转发过程分析,当报文到达路由器后,经检查报文的目的MAC地址并不是路由器本身的MAC,这种报文直接作二层转发,而不会被三层模块处理,所以并不会去匹配三层的相关策略。
4、对网络进行了优化,取消H3C A上的二层接口,将下游设备的网关设置在H3C A上而非上游路由器,这样,在GE1/1/2下配置的策略路由就可以正常工作。
当在H3C A上报文能够按照ACL规则进行策略路由时,则故障被排除,路由策略配置在二层端口导致策略不生效的路由故障的解决办法就为大家介绍完了,策略路由不生效,需要考虑相关接口的接口属性和接口状态是否正确。