10.176.83.3 发出,进入设备 7的 Vlan83 接口,触发了策略路由,被强制发给设备 2(2.2.2.2)。1.1.1.1)。Vlan1706 接口下配置了 ip policy-based-route smt,但这个接口是出站接口!策略路由只对入站包生效,对从设备 1 路由出去的包(出站)不生效。10.1.6.2的最优路径是直连 PC3,绕过了设备 6。10.1.6.2 发出,进入设备 1 的 Vlan1706 接口(入站)。10.176.83.0/24 的下一跳是设备 2。if-match acl 3000 匹配 destination 10.176.83.0,被强制发给了设备 6(3.3.3.1)。ip policy-based-route smt 绑定在了出站接口 Vlan1706,这对 PC5→PC3 的去程包完全无效。acl advanced 3000 写的是 permit ip destination 10.176.83.0,这是为了匹配回程包(PC3→PC5),而不是去程包(PC5→PC3)。10.1.6.2,根本不会被这个 ACL 匹配。# 1. 修正ACL:匹配去程(源83.0段,目的10.1.6.0段)
acl advanced 3000
undo rule 0
rule 0 permit ip source 10.176.83.0 0.0.0.255 destination 10.1.6.0 0.0.0.255
# 2. 修正策略路由,绑定在PC3的入接口(Vlan1706),下一跳指向设备6
policy-based-route smt permit node 10
if-match acl 3000
apply next-hop 3.3.3.1
# 3. 确保策略路由绑定在入接口(Vlan1706),保持不变
interface Vlan-interface1706
ip policy-based-route smt
10.1.6.0的包回传给设备 1,否则会断网。10.1.6.0网段配置静态路由,强制下一跳指向设备 6:ip route-static 10.1.6.0 255.255.255.0 3.3.3.1 preference 5
暂无评论
你的问题现象很典型:策略路由(PBR)在去程(PC3→PC5)失效,回程(PC5→PC3)却生效了,最终导致往返路径不一致。这通常是“应用位置错误”和“PBR本身特性限制”共同导致的。
问题的根源在于“接口策略路由” (ip policy-based-route) 的工作机制。
它只对“第一个”到达该接口的报文生效。
当你在一个接口上应用PBR时,它仅仅会检查和处理该接口从外部接收到的流量。对于设备本身主动发出的数据包(例如,响应Ping的回复包),它是不起作用的。
去程报文的真实路径是第一跳。
当PC3发出报文,第一个接收到这个报文的设备是它的网关设备7。因此,必须在设备7连接PC3的入接口上应用PBR,才能引导去程流量。
你的配置问题:把PBR用错了地方。
你提供的配置清晰地展示了问题所在:
设备7:在 Vlan-interface83(连接PC3的网关接口)上配置了PBR,这里是正确的。
设备1:在 Vlan-interface1706 上配置了PBR,这个接口看起来是连接PC5的,此处应用位置不对。
设备2:在 Vlan-interface2000 上配置了PBR,这个接口是连接路由器/交换机的传输接口,此处应用位置也不对。
所以,当PC3发出的去程报文到达设备7时,虽然接口配置了PBR,但如果配置有误(比如ACL匹配错误),报文就不会命中PBR,而是按照OSPF路由表直接转发给设备1或设备2,从而绕过了设备6。而PC5的回程报文到达设备1时,设备1上的PBR又对它进行了干预,将其发往设备6,这就形成了你看到的现象。
找到根因后,解决起来就清晰了。这里有两种方法,你可以根据需求选择:
如果你坚持使用PBR来精细控制,请按以下步骤操作:
纠正PBR应用位置:
核心原则:确保引导PC3→PC5去程流量的PBR,只能应用在设备7的入接口 Vlan-interface83 上。
请立即从设备1和设备2的接口上移除错误的PBR配置,以免干扰:
重写设备7的ACL和PBR:
设备7上的ACL 3000 规则必须同时精确匹配源和目的IP。
策略路由下一跳必须路由可达,必要时可配置一条静态路由。
完成以上两步后,可以在设备7上使用命令 display ip policy-based-route statistics 查看PBR的命中计数是否增加,以确认去程流量已正确匹配并转发给设备。
如果只是为了引导流量经过设备6,一个更简单、稳定且能天然保证路径对称的方案是:将设备6作为OSPF网络的一部分,通过调整开销(Cost)值来引导流量。
如果设备6是网络内的新设备,无需任何PBR,直接在OSPF进程里宣告“6.2”所在的网段,并为其设置一个比其他路径更小的Cost值。
启用OSPF后,全网所有路由器都会自动将去往“6.2”网段的流量优先发往设备6,实现双向路径完全一致,且没有PBR的兼容性问题。
暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论