华为防火墙基于用户的策略路由实战:实现研发与办公网络智能分流

📅 2026/8/4 9:27:47
华为防火墙基于用户的策略路由实战:实现研发与办公网络智能分流
1. 项目概述与核心价值最近在整理几个分支机构的网络架构遇到一个挺典型的场景研发部门需要访问外部的代码仓库和测试服务器走的是专线带宽高延迟低而行政和财务部门日常办公访问互联网走的是普通的宽带出口。如果简单地在防火墙上做基于目的地址的策略路由研发访问互联网的流量也会被“误伤”到专线造成资源浪费和策略混乱。这时候基于用户的策略路由就成了一个非常优雅的解决方案。它能让网络策略的粒度从“IP地址”细化到“具体的人或终端”真正做到“谁上网走哪条路”。简单来说基于用户的策略路由就是在华为防火墙上将用户的身份信息比如用户名、用户组作为路由决策的关键条件。传统的策略路由看的是数据包的源IP、目的IP、协议端口它不关心这个数据包是谁发的。而基于用户的策略路由则是在此基础上叠加了一层身份认证。防火墙会先确认访问者的身份然后根据其所属的用户组决定将他的流量引向哪一条出口链路。这对于实现精细化的带宽管理、满足合规审计要求、优化多出口网络体验至关重要。这个功能特别适合有多个互联网出口、且内部用户角色分工明确的企业环境比如前面提到的研发与行政分流或者让VIP用户走质量更好的链路。接下来我就结合华为USG6000系列防火墙的实战配置把从设计思路到命令行敲定的全过程以及里面容易踩的坑给大家捋一遍。2. 整体方案设计与核心组件解析在动手配置之前我们必须把整个方案的逻辑理清楚。基于用户的策略路由不是一个孤立的功能它是一套组合拳涉及好几个关键模块的联动。理解它们之间的关系是成功配置和后期排错的基础。2.1 核心逻辑链条拆解整个流程可以抽象为四个关键环节环环相扣用户身份识别当内网用户发起访问时防火墙如何知道“你是谁”这是所有基于用户策略的前提。策略匹配与动作执行防火墙识别用户身份后根据预先配置的规则判断该用户的流量应该执行什么动作比如下一跳指向某个出口网关。路由引导策略路由的动作最终要落实到具体的出接口和下一跳地址上这依赖于正确的路由基础和接口配置。会话状态维持一旦策略生效该用户后续的同类流量需要被快速、准确地识别并保持同一路径这依赖于防火墙的会话表机制。2.2 关键组件深度解析2.2.1 认证方案选型为什么首选Portal认证用户身份识别主要有几种方式802.1X、MAC认证、Portal认证。对于策略路由场景我强烈推荐使用Portal认证。原因如下无感知与灵活性802.1X需要在终端安装客户端或进行复杂配置对用户不透明。MAC认证虽然无感但绑定的是设备而非用户人员变动或更换设备就需要重新配置。Portal认证在用户首次尝试访问网络如打开浏览器时弹出认证页面认证成功后全程无感完美平衡了安全性与用户体验。广泛兼容性几乎任何支持浏览器的设备PC、手机、平板都能完成Portal认证无需额外客户端部署成本极低。策略触发精准可以配置在访问特定资源如互联网时触发认证避免内部互访的频繁打扰。在华为防火墙上这通常通过配置认证策略来实现指定在哪些安全区域之间、访问哪些服务时需要触发Portal认证。2.2.2 用户管理与组织结构规划用户信息需要被防火墙管理。你可以使用防火墙本地用户数据库对于中大型网络更推荐对接外部服务器如AD、LDAP或RADIUS服务器。这里以本地用户为例关键在于用户组的划分。用户组是策略路由的匹配单元。你需要根据业务需求创建逻辑清晰的组例如developers研发人员组finance财务人员组employees普通员工组guests访客组将用户归属到对应的组。策略路由规则将针对这些“组”进行配置而不是单个用户这极大简化了策略管理。2.2.3 策略路由PBR与安全策略的协同这是最容易混淆的点。必须明确策略路由负责“怎么走”安全策略负责“让不让走”。安全策略是包过滤防火墙的核心基于五元组源/目地址、端口、协议和用户/用户组决定是否允许数据包通过。它先于策略路由执行。如果安全策略拒绝了数据包直接被丢弃根本不会进入策略路由的评估流程。策略路由在安全策略允许通过之后对数据包进行“路径重定向”。它不决定通断只决定方向。因此配置顺序应该是先配通安全策略确保流量能被防火墙放行再配置策略路由对已放行的流量进行路径引导。如果策略路由不生效第一步永远是先检查安全策略是否已经匹配并允许。2.2.4 出口链路与路由基础策略路由需要将流量指向具体的出口。这要求出口接口配置正确包括IP地址、子网掩码、默认网关等。基础路由存在防火墙必须有到达目标网络的路由。策略路由是一种“覆盖路由”它优先于普通的路由表IP路由表生效。但如果策略路由的下一跳地址防火墙本身都无法到达即路由表中没有去往该下一跳的路由那么策略路由就会失效。NAT配置绝大多数互联网访问需要做源地址转换NAT。策略路由决定了流量从哪个口出去NAT配置则需要匹配这个出口将内部地址转换为该出口的公网IP。两者需配合一致。3. 实战配置从零搭建基于用户的策略路由假设我们的网络拓扑很简单防火墙内网口G1/0/1属于trust区域连接公司内网网段192.168.1.0/24两个外网口分别连接两个运营商出口1G1/0/2属于untrust1区域联通线路网关为1.1.1.1用于研发访问专线资源。出口2G1/0/3属于untrust2区域电信线路网关为2.2.2.1用于普通员工上网。目标研发部用户属于developers组访问任何目标都走联通出口1.1.1.1其他所有用户走电信出口2.2.2.1。3.1 第一步基础网络与接口配置首先确保防火墙的基础网络是通的。这包括接口IP、区域划分和默认路由。# 进入系统视图 system-view # 配置内网接口 interface GigabitEthernet 1/0/1 description To-LAN ip address 192.168.1.1 255.255.255.0 service-manage ping permit # 允许管理ping方便测试 service-manage https permit # 允许HTTPS管理如果通过此口 trust zone trust # 将接口加入trust区域 # 配置联通出口接口 interface GigabitEthernet 1/0/2 description To-UNICOM ip address 10.1.1.2 255.255.255.252 # 假设是/30的专线地址 service-manage ping permit untrust zone untrust1 # 自定义一个区域方便区分 # 配置电信出口接口 interface GigabitEthernet 1/0/3 description To-TELECOM ip address 20.1.1.2 255.255.255.252 service-manage ping permit untrust zone untrust2 # 配置默认路由指向电信出口作为保底路由 ip route-static 0.0.0.0 0.0.0.0 20.1.1.1 # 配置到联通特定资源网段的路由如果有例如专线对端网段 # ip route-static 172.16.0.0 255.255.0.0 10.1.1.1注意这里的关键是创建了两个不同的“untrust”区域untrust1和untrust2。这样做的好处是在后续配置安全策略和策略路由时可以非常清晰地区分两个出口避免策略交叉错配。这是一种最佳实践。3.2 第二步创建用户与用户组我们在防火墙上本地创建用户和组。# 创建用户组 aaa group policy developers # 创建名为developers的策略组 group policy employees # 创建名为employees的策略组 # 创建本地用户并加入组 local-user zhangsan password irreversible-cipher Huawei123 # 创建用户zhangsan local-user zhangsan service-type http # 允许用于HTTP/Portal认证 local-user zhangsan group developers # 将用户加入developers组 local-user lisi password irreversible-cipher Huawei123 local-user lisi service-type http local-user lisi group employees实操心得密码建议使用irreversible-cipher加密方式这是更安全的哈希算法。service-type http必须指定否则用户无法通过Web页面认证。3.3 第三步配置Portal认证无感知认证核心这是实现“基于用户”的关键一步。我们配置一个免打扰的Portal认证。# 1. 配置Portal认证服务器模板本地服务器 web-auth-server local server-type http server-ip 192.168.1.1 port 10080 # 防火墙内网口IP和端口 https ssl-policy default # 如果要用HTTPS需配置SSL策略这里用HTTP示例 # 2. 配置免认证规则允许访问认证页面本身、DNS等必要服务 free-rule-template name default free-rule 0 destination ip 192.168.1.1 mask 255.255.255.255 # 允许访问防火墙Portal页面 free-rule 1 destination ip any udp destination-port eq 53 # 允许DNS查询 free-rule 2 destination ip any tcp destination-port eq 67 # 允许DHCP如有 free-rule 3 destination ip any tcp destination-port eq 68 # 3. 配置认证策略指定在什么情况下触发认证 authentication-policy rule name auto_auth_rule source-zone trust destination-zone untrust1 untrust2 # 访问两个外网区域时触发 action web-auth local free-rule default # 动作为Portal认证使用本地服务器和上述免认证规则这段配置的意思是当内网trust用户试图访问外网untrust1或untrust2时触发Portal认证。认证前允许他们访问防火墙的认证页面和DNS服务器确保认证流程能正常进行。3.4 第四步配置安全策略放行流量在策略路由生效前必须先让流量通过防火墙。我们配置一条宽松的安全策略实际生产环境应根据需要收紧。security-policy rule name permit_trust_to_untrust source-zone trust destination-zone untrust1 untrust2 source-address 192.168.1.0 mask 255.255.255.0 action permit这条策略允许所有内网用户访问两个外网区域。这里并没有基于用户因为用户识别是在认证策略里完成的。安全策略此时只做区域和地址的粗粒度放行。3.5 第五步配置基于用户的策略路由终于来到核心步骤。策略路由的配置分为两部分traffic-policy流分类和policy-based-route策略路由。# 1. 创建高级ACL用于匹配“研发组用户”的流量。注意这里源地址是any因为我们要用用户信息来匹配而不是IP。 acl number 3000 rule 5 permit ip source any destination any user-group developers # 关键匹配用户组为developers # 2. 创建流分类绑定上述ACL traffic classifier c_developers operator or if-match acl 3000 # 3. 创建流行为定义动作将流量重定向到联通出口网关 traffic behavior b_redirect_to_unicom redirect ip-nexthop 10.1.1.1 # 下一跳指向联通网关 # 4. 创建流策略将流分类和流行为绑定 traffic policy p_user_based_pbr classifier c_developers behavior b_redirect_to_unicom # 5. 在接口上应用流策略入方向。注意必须应用在流量进入防火墙的接口即内网口。 interface GigabitEthernet 1/0/1 traffic-policy p_user_based_pbr inbound配置解读当数据包从G1/0/1进入防火墙时会接受p_user_based_pbr策略的检查。该策略检查数据包是否来自developers用户组的已认证用户通过ACL 3000中的user-group条件匹配。如果是则执行b_redirect_to_unicom行为即修改其下一跳为10.1.1.1从而走向联通出口。其他未匹配的用户流量则不受影响继续查找路由表默认会走我们之前配置的默认路由电信出口2.2.2.1。3.6 第六步配置NAT地址转换流量被引导到出口后还需要做源地址转换才能访问互联网。# 配置NAT地址池两个出口分别配置 nat address-group group_unicom mode pat section 0 10.1.1.2 10.1.1.2 # 使用联通出口接口地址做PAT如果只有一个IP nat address-group group_telecom mode pat section 0 20.1.1.2 20.1.1.2 # 使用电信出口接口地址做PAT # 配置NAT策略 nat-policy rule name nat_unicom source-zone trust destination-zone untrust1 source-address 192.168.1.0 mask 255.255.255.0 action source-nat address-group group_unicom rule name nat_telecom source-zone trust destination-zone untrust2 source-address 192.168.1.0 mask 255.255.255.0 action source-nat address-group group_telecom关键点NAT策略的destination-zone必须与策略路由引导的出口区域一致。研发流量被策略路由引向untrust1联通那么NAT策略nat_unicom的destination-zone也必须是untrust1这样才能用联通的地址池做转换。如果配错会导致流量出去但源地址没转换或者用错公网IP。4. 验证、排错与深度优化配置完成后不能只看命令行反馈“success”必须进行端到端的验证。4.1 核心验证命令与解读检查用户在线状态display firewall session table verbose | include 192.168.1.100查看指定内网IP的会话。在输出中找到User字段。如果配置成功这里应该显示已认证的用户名和所属组如zhangsan(developers)。如果显示--说明未认证或认证未生效。验证策略路由匹配display traffic-policy statistics interface GigabitEthernet 1/0/1 inbound查看应用在内网口入方向的流策略统计信息。找到你配置的c_developers分类器看Matched计数是否在增加。如果一直是0说明流分类没有匹配到流量需要检查ACL中的user-group配置和用户认证状态。验证路由路径display ip routing-table 8.8.8.8在用户终端上tracert一个外网地址如8.8.8.8。观察第一跳。如果是研发用户第一跳应该是联通网关10.1.1.1如果是普通员工第一跳应该是电信网关20.1.1.1。在防火墙上执行上述命令可以查看防火墙自身去往8.8.8.8的路由但策略路由对转发的流量生效防火墙本机流量不一定走策略路由。检查NAT会话display nat session查看NAT转换会话。确认从内网IP转换后的公网IP是否正确研发用户应为10.1.1.2普通员工应为20.1.1.2。4.2 常见问题排查实录问题1用户已经弹出页面登录了但策略路由不生效流量还是走默认出口。排查思路首要检查安全策略执行display security-policy count查看permit_trust_to_untrust规则的命中计数。如果为0说明流量根本没被安全策略放行后续所有动作都无从谈起。可能是区域绑定错误或者地址对象不匹配。检查认证状态用display firewall session table verbose确认会话中的User字段是否已正确显示用户名和组。未显示则认证未成功。检查流策略统计用display traffic-policy statistics命令确认c_developers分类器是否有匹配计数。如果没有检查ACL 3000中的user-group名称是否与用户实际所属组完全一致大小写敏感。检查策略路由下一跳可达性在防火墙系统视图下ping 10.1.1.1确认防火墙能通联通网关。如果不通策略路由即使匹配了也无法转发。问题2策略路由生效了但网络访问很慢或时断时续。排查思路检查出口链路质量分别从两个出口ping外网地址检查延迟和丢包。检查NAT配置确认NAT策略的destination-zone是否与流量实际出去的zone匹配。不匹配会导致NAT失败或使用错误地址池。检查MTU问题不同运营商的链路MTU可能不同。如果出口接口MTU设置不当尤其是PPPoE接入可能导致大数据包分片影响性能。可以在出口接口下尝试mtu 1492针对PPPoE或mtu 1500。会话保持确保没有其他负载均衡设备或策略干扰了同一会话的出口选择。问题3部分应用如企业微信文件传输、某些视频会议效果不佳。可能原因这些应用可能使用多个端口或连接而策略路由是基于“流”的。如果应用的初始控制连接走了一条路而数据传输连接走了另一条路就可能出现问题。解决方案考虑使用基于应用的策略路由如果防火墙支持或者将这些应用的服务器IP地址段单独拎出来配置基于目的地址的策略路由确保其所有连接固定走优质链路优先级高于基于用户的策略。4.3 高级优化与扩展场景双链路负载均衡与冗余上述配置是主备模式研发走联通其他走电信。你可以配置更复杂的策略例如对employees组的流量配置基于目的地址或应用的策略路由将访问电信资源的流量引向电信出口访问联通资源的流量引向联通出口实现智能选路。结合服务器映射如果内网有服务器需要对外提供服务策略路由同样适用。可以为访问该服务器的特定外部用户组如合作伙伴配置策略路由使其流量从指定的、安全的出口进入。动态用户组对接外部认证服务器如AD时可以利用AD中的安全组作为用户组实现策略的自动同步。当用户在AD中被移入不同组时网络访问权限和路径自动变更。日志与审计在策略路由的流行为中可以添加logging选项记录匹配策略路由的会话日志。这对于合规审计和流量分析非常有价值。配置基于用户的策略路由就像给网络交通装上了智能的“车牌识别系统”。它不再只看车数据包从哪里来、到哪里去还要看开车的人用户是谁。这套组合拳打下来初期配置确实比简单的静态路由复杂需要理清认证、安全、路由、NAT之间的关系。但一旦跑通其带来的管理精细度和业务适配能力是巨大的。最大的体会就是规划重于配置。动手前一定要在白板上把用户组划分、流量走向、区域规划画清楚后续的每一步配置都是在实现这张逻辑图。排错时也按照“认证-安全策略-策略路由匹配-下一跳可达性-NAT”这个链条逐段排查思路会清晰很多。