pbr下同一个源地址,但是不同出口,应该怎么写。目前还是走主路过去
policy-based-route wuxian permit node 1
if-match acl 3000
apply next-hop 172.16.102.1
#
policy-based-route wuxian permit node 2
if-match acl 3003
apply next-hop 172.31.201.105
acl number 3000
rule 0 permit ip source 192.168.0.0 0.0.3.255
rule 100 deny ip
#
acl number 3003
rule 0 permit ip source 192.168.0.0 0.0.3.255 destination 58.213.148.69 0
rule 100 deny ip
#
问题根因一眼定位
核心机制(H3C Comware V7)
策略路由按照 node 编号从小到大依次匹配,一旦命中立即停止后续节点!
你当前配置:
plaintext
policy-based-route wuxian permit node 1
if-match acl 3000 # 匹配源192.168.0.0/22 所有流量
apply next-hop 172.16.102.1
policy-based-route wuxian permit node 2
if-match acl 3003 # 匹配【源+特定目的IP】
apply next-hop 172.31.201.105
访问 58.213.148.69 的报文,先匹配 node 1 的 ACL3000,直接走主路,根本不会进入 node2 判断!
通俗说:精确匹配的规则放在了后面,被宽泛规则抢先拦截。
修正方案
1、调换节点顺序,【精确目的流量放在更小 node(更高优先级)】
plaintext
policy-based-route wuxian permit node 1
if-match acl 3003
apply next-hop 172.31.201.105
#
policy-based-route wuxian permit node 2
if-match acl 3000
apply next-hop 172.16.102.1
逻辑:
报文先检查:是否是访问 58.213.148.69 的流量 → 匹配 node1,走专线;
其余同网段流量匹配 node2,走原有互联网出口。
2、ACL 需要微调(关键避坑)
acl 3000 目前是:
plaintext
acl number 3000
rule 0 permit ip source 192.168.0.0 0.0.3.255
rule 100 deny ip
存在隐患:
acl3000 包含所有源网段流量,其中也包含去往 58.213.148.69 的流量。
虽然 PBR 依靠 node 顺序优先匹配 3003,但是规范优化方式:
可选优化:acl3000 增加一条 deny,排除这条特殊目的,防止后续改动 node 顺序再次出问题(推荐生产环境加上)
plaintext
acl number 3000
rule 0 deny ip source 192.168.0.0 0.0.3.255 destination 58.213.148.69 0
rule 10 permit ip source 192.168.0.0 0.0.3.255
rule 100 deny ip
三、完整正确参考配置
plaintext
# 精确流量(特定目的走专线)放node 1
policy-based-route wuxian permit node 1
if-match acl 3003
apply next-hop 172.31.201.105
#
# 其余流量走互联网出口
policy-based-route wuxian permit node 2
if-match acl 3000
apply next-hop 172.16.102.1
#
acl number 3003
rule 0 permit ip source 192.168.0.0 0.0.3.255 destination 58.213.148.69 0
rule 100 deny ip
#
acl number 3000
rule 0 deny ip source 192.168.0.0 0.0.3.255 destination 58.213.148.69 0
rule 10 permit ip source 192.168.0.0 0.0.3.255
rule 100 deny ip
四、重要核查项(配置完必须确认)
确认策略路由应用在入接口(内网 VLAN 接口 / 下联接口 inbound)
plaintext
interface Vlan-interface X
policy-based-route apply wuxian
❌ 常见错误:把 PBR 应用在外网接口,完全不生效!
确认下一跳可达;可以开启策略路由调试测试
plaintext
debugging ip policy-based-route
terminal debugging
测试访问 58.213.148.69,观察报文匹配 node1。
五、补充误区总结
❌ 误区:ACL 精确规则就会优先匹配
✅ 错误!PBR 先匹配 node 节点,和 ACL 精度无关;必须把精确流量放在更小 node 号。
❌ 不要只依靠静态路由优先级分流,你场景目的固定 IP,策略路由是最优方案。
防火墙场景额外注意:NAT 策略绑定对应出接口,确保来回路径一致。
极简一句话总结
把匹配特定目的 IP 的 acl3003 挪到 node 1(优先级更高),源网段通用流量放到 node 2;即可实现:同一段源地址,访问特定目标走专线,其余走互联网。
暂无评论
你遇到的问题是PBR(策略路由)的匹配顺序问题,这很常见。根据你提供的配置,问题出在 node 1的ACL 3000规则过于宽泛,它匹配了所有来自192.168.0.0/22网段的流量。由于PBR是按节点序号从小到大顺序匹配的,流量在第一个节点就匹配成功并被转发,所以永远不会执行到更精确的node 2。
要解决这个问题,你需要调整节点的匹配顺序,将更具体的规则(匹配特定目的地址)放在前面。
调整后,流量处理逻辑如下:
去往 58.213.148.69 的流量:首先匹配 node 1 的 ACL 3003,命中后,下一跳指向 172.31.201.105。
其他来自 192.168.0.0/22 的流量:不匹配 ACL 3003,继续匹配 node 2 的 ACL 3000,命中后,下一跳指向 172.16.102.1。
设备差异:不同H3C设备(尤其是防火墙与交换机)对PBR的实现细节可能不同。例如,某些防火墙的策略路由行为与交换机不完全一致。如果上述调整无效,建议查阅你所使用设备型号的PBR配置手册。
PBR的生效前提:请确认PBR策略wuxian已正确应用在接收流量的入接口上。PBR仅对通过该接口进入设备的流量生效。
本地产生的流量:PBR通常不处理设备自身产生的流量(如ping)。如需控制,可能需要其他方式。
ACL中的deny规则:ACL 3000中的rule 100 deny ip会导致命中该规则的流量不被PBR处理,而是走普通路由表。如果你的意图是让所有未匹配的流量都走主路由,可以删除该规则,让PBR自动跳过不匹配的流量。
暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论