H3C 防火墙:流程图上 “路由表 / MAC 表画在策略路由前面” 的原理
你的疑问:常识中 PBR 策略路由优先级高于路由表,但是官方报文流程图,路由表/MAC表方框画在策略路由的前面,看起来是先查路由表,再执行策略路由,这是最容易混淆的点。
核心结论
真正转发逻辑:首包,先匹配策略路由 (PBR),PBR 匹配成功且下一跳可达,优先使用 PBR;PBR 不匹配 / 下一跳不可达,才回退查普通路由表。
流程图里的 “路由表 / MAC 表” 不是做转发选路,是用来判定【安全域】!!这是 NGFW 防火墙和普通路由器最大区别。
拆解流程图(你截图的官方处理流程图)
方框顺序:路由表/MAC表 → 策略路由
报文首包进来,还没做策略路由选路之前,防火墙必须先粗略查一次路由表,用来确定报文的【目的安全区域】。
防火墙安全策略是基于源安全域、目的安全域做匹配;不知道目的出接口、不知道目的域,就无法执行后面的安全策略匹配。
👉这一步只是预查询路由,获取目的安全域,不是用来决定最终转发出接口。
预查询拿到源 / 目的安全域之后,执行安全策略匹配;之后才真正执行策略路由 PBR 选路。
如果匹配策略路由,并且 PBR 的下一跳有效,PBR 覆盖刚才预查询得到的出接口 / 下一跳,以 PBR 结果为准;
如果报文没有匹配任何 PBR 节点,或者 PBR 配置的下一跳不可达,则沿用普通路由表的结果转发。
简单大白话:
预查路由表 = 拿安全域,给安全策略做判断条件;
策略路由 = 真正选路,优先级高于普通路由,会覆盖前面预查询的结果。
和普通路由器对比
普通路由器(MSR):没有安全域概念,流程:入接口→PBR 策略路由优先→不匹配再查路由表,没有 “预查路由拿安全域” 这一步。
NGFW 防火墙(F1000‑AK 系列):因为有域间安全策略,必须先预查表获取目的安全域,流程图上就把路由表 / MAC 表画在了策略路由前面,但预查表≠最终转发选路。
完整首包处理时序(对应截图流程图,会话未命中的分支)
剥离二层帧头,解析 IP 头。
预查询路由表 / MAC 表:只用来获取报文对应的目的安全域,用于后面安全策略匹配,不决定最终出接口。
QoS 处理、NAT64,然后安全策略匹配(源域‑目的域就是上一步预查表得到的)。
DPI、ASPF 状态检测。
真正执行策略路由 PBR(PBR 优先级高于普通路由)
✔匹配 PBR、下一跳可达:用 PBR 的下一跳 / 出接口,覆盖前面预查询的路由结果;
❌不匹配 PBR / PBR 下一跳失效:回退,使用普通路由表做转发。
创建会话表,会话表里面记录最终确定的出接口、下一跳。
后续同流报文直接匹配会话表,不再重复执行 PBR、不再查路由表。
补充关键点:所有后续报文直接匹配会话,不再跑 PBR,PBR 只对 TCP/UDP 首包生效。
现场容易踩坑现象
配置 PBR 之后流量不按策略路由走:
老会话还存在!会话表里面缓存旧的出接口,需要reset session table all清空会话,首包重新触发 PBR。
PBR 匹配上,但是 apply next‑hop 下一跳不可达,则报文自动回退普通路由表转发,不会丢弃报文。
暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论