MSR路由器策略路由不生效问题怎么排查?
策略路由不生效问题定位故障的思路是:先查看ACL规则是否匹配了流量,查看策略路由下一跳是否可达,最后查看是否配置packet-filter/QOS策略等功能,与策略路由冲突。
查看ACL规则是否匹配流量
查看ACL规则的配置,确认ACL规则匹配了流量。
命令: display acl
例如:通过命令确认ACL规则是否匹配了需要做策略路由的流量。
若通过display acl命令,查看规则中所写的rule规格错误,则需要重新下发rule命令,修改rule规则,确保rule规则匹配到流量。如果ACL中rule规则没有匹配所需做策略路由的流量,则需新增rule规则匹配该流量。
命令:rule
例如:ACL规则中将需要做策略路由的源IP为20.0.0.0/24、目的IP为200.0.0.0/24的流量错误写为源IP为20.0.0.0/24、目的IP为100.0.0.0/24,同时漏写源IP为30.0.0.0/24的流量,则需下发命令更正和增加ACL规则。
检查策略路由下一跳是否可达
检查策略路由配置中下一跳是否可达,如查看接口状态、ARP表项、路由表或PING测试。
命令:display interface
display arp X.X.X.X
display ip routing-table X.X.X.X
ping X.X.X.X
例如:策略路由下一跳配置为100.0.0.2,通过查看接口状态、ARP表项、路由表或ping测试确定策略路由下一跳是否可达。
排查路由
策略路由下一跳不通,需要排查路由问题。
检查设备是否配置了packet-filter/QOS策略等功能
当设备在相关视图下配置了packet-filter或QOS策略功能,由于packet-filter和QOS策略的优先级比策略路由高,因而策略路由下发不生效。需要结合所需做策略路由的流量ACL规则,对配置进行排查。
命令: display qos policy
display packet-filter
例如:acl number 3000匹配了所需做策略路由的流量,同时在设备上下发了packet-filter/QOS策略功能。packet-filter可以在二/三层物理接口及三层虚接口上下发,设备上可以配置基于接口/vlan/全局/控制平面应用的QOS策略,均需要排查。需注意,如下示例中,acl number 3000同时作为策略路由、packet-filter、QOS策略的感兴趣流量匹配条件,并且实际现网中可能存在不同ACL,但是规则匹配相同的流量做packet-filter/QOS策略,也会造成策略路由不生效,因此需要排查不同的ACL中是否有相同的rule规则。
备注:设备的软件版本为S12500-CMW520-R1335/S9500E-CMW520-R1335之前的版本,策略路由的优先级低于QOS策略,涉及QOS策略功能部分的排查。而设备的软件版本为S12500-CMW520-R1335/S9500E-CMW520-R1335及之后的版本,策略路由的优先级高于QOS策略,不涉及QOS策略功能部分的排查。
修改配置
通过上一步的排查发现策略路由与packet-filter/QOS策略同时下发,导致策略路由不生效,需修改配置。
策略路由与packet-filter同时下发的情况:
包过滤下发在inbound方向时,将导致策略路由感兴趣的流量在执行策略路由动作之前被过滤掉。包过滤下发在outbound方向时,将导致策略路由动作执行完后,报文被过滤掉,流量仍无法按策略路由需求转发出去。在上述两种情况下,均需要在packet-filter的ACL规则中,将需要正常转发的流量rule规则去掉。
策略路由与QOS策略同时下发的情况
策略路由感兴趣的流量先由QOS策略匹配后处理了。该种情况下,需重新了解和细化需求,是否可以通过细化QOS策略ACL规则和策略路由ACL规则,使两个ACL规则不冲突,流量能区分出来按不同的功能执行动作。
备注:设备的软件版本为S12500-CMW520-R1335/S9500E-CMW520-R1335之前的版本,策略路由的优先级低于QOS策略,涉及QOS策略功能部分的排查。而设备的软件版本为S12500-CMW520-R1335/S9500E-CMW520-R1335及之后的版本,策略路由的优先级高于QOS策略,不涉及QOS策略功能部分的排查。