news 2026/9/19 22:32:04

双防火墙网络拓扑实战:从热备到内外双层架构设计

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
双防火墙网络拓扑实战:从热备到内外双层架构设计

简介:双防火墙高可用性网络设计是排除网络单点故障的关键,这份PDF面向网络工程师、运维人员及企业网络架构师,专门讲解防火墙双机热备(Failover/HA)的组网落地。资源打包为1个PDF文档,包体仅13KB,篇幅精干,适合快速通读。文档系统比较了主备(Active-Standby)与双活(Active-Active)两种工作模式,并按单链路/双链路、跨接/旁路等维度拆解四类典型方案,逐一分析拓扑结构、优缺点与适用场景。内容覆盖心跳线设计、VLAN划分、策略路由、静态分组等关键细节,也明确了不同方案在设备性能利用、链路带宽占用、系统集成难度和安全性方面的取舍。对正在规划高可用性网络、或需要排查防火墙冗余部署问题的技术人员,能直接提供选型与排错思路。目前已有104人学习下载,适合作为网络高可用性专题的速查笔记。

1. 双防火墙网络拓扑要解决什么问题

你在网上搜“双防火墙的网络拓扑”,大概率是遇到两个场景:要么是两台防火墙接到同一个网段,想做成热备却总在抢IP;要么是已经按“一台防火墙三个接口”做了DMZ,结果被安全审计问了一句:“DMZ被攻破之后,内网凭什么还活着?”双防火墙就是把你习惯的一套边界规则拆成两道独立的防线。它可以是一主一备的并联热备,也可以是外防火墙加内防火墙的串联结构。本文会按这两种主流形态展开,给出可复现的配置思路和排错路径。适合正在做出口改造、等保整改,以及准备换掉单点防火墙设备的运维和网络工程师。

2. 双防火墙网络拓扑的两种主流架构

2.1 并联双机热备:把可用性从重启拉回业务侧

2.1.1 热备的转发模型

双防火墙最常见的拓扑是两台防火墙并联在核心设备和出口之间。两台设备共享一个虚拟IP,通过VRRP或厂商私有的HA协议协商主备状态。业务流量只走主设备,备设备通过心跳线实时同步会话表、配置和运行状态。当主设备宕机、链路断开或心跳超时,备设备在秒级(通常是3~5秒)内接管虚拟IP和转发任务。

关键点在于:热备解决的是“防火墙挂了怎么办”,而不是“攻击突破了防火墙怎么办”。如果只做热备,策略集合仍然是同一套,等于把单点故障从硬件转移到了配置本身。所以后面会看到,有些网络同时做双机热备和内外双层,形成三防火墙甚至四防火墙的混合形态。

2.1.2 华为USG的HRP与VRRP的区别

在eNSP里用USG6000V做实验时,很多同学发现它不像路由器那样直接配VRRP,而是启用HRP协议。HRP(Huawei Redundancy Protocol)是华为防火墙特有的双机热备协议,承载在两条心跳链路之上。为什么要两条心跳?一条传状态协商报文,一条传会话表同步数据,避免大数据量同步阻塞协商。这一点在千兆流量下尤其明显,如果只用一条心跳线,会话表同步报文可能会把协商报文挤掉,导致双主或频繁切换。

华为USG的HRP和普通VRRP还有个差异:VRRP只管理虚拟IP的漂移,不关心防火墙会话;HRP会把配置和会话表一起同步到备机。这也意味着备机上的业务接口地址必须预先配置好,而且在为主设备执行配置命令时,HRP会自动把这些配置推送到备机,不需要在备机上重复敲一遍。

2.2 串联内外双层:信任域的第二次切割

2.2.1 外防火墙、DMZ、内防火墙的三层结构

第二种常见拓扑是内外两台防火墙串联,中间专门划出一个DMZ区域。外防火墙连接ISP线路,完成NAT映射和对外部流量的粗粒度过滤;内防火墙连接核心交换机,对从DMZ进入内网的流量做细粒度访问控制。服务器放在两台防火墙之间的DMZ交换机上,既能对外发布服务,又不直接暴露内网。

这种结构的安全价值很直接:外防火墙被攻破,攻击者拿到的只是DMZ,内防火墙还在。如果只用单台防火墙的三接口DMZ方案,一旦防火墙本身被绕过,三个区域之间的隔离就全部失效。很多等保方案要求“对外服务区与内网隔离”,双防火墙串联就是最直观的落地方式。

2.2.2 代价:路由和策略复杂度的成倍上升

串联双防火墙不是把策略复制一份就行。你需要在内外两台设备上分别维护路由表,而且不能两边都是默认路由指出去,否则会产生环路。NAT放哪一层、策略做粗粒度还是细粒度,都要重新分工。常见的做法是外防火墙做NAT和公网入站策略,内防火墙做内网到DMZ、DMZ到内网的访问控制。外防火墙的策略条数可以压缩到几十条,内防火墙才追求规则的精细化,这是和单设备思路最大的差别。

如果内外双层再加上双机热备,拓扑就会从两台防火墙变成四台:外层一对热备,内层一对热备。思路上是每个故障域都保持单点冗余,但策略同步、会话同步的复杂度会继续上升。大部分中小网络不需要做到四台,先把双层串联跑通,再评估每一层是否需要热备更稳妥。

2.3 三种形态的选型表

形态设备关系解决的问题典型场景策略复杂度
双机热备并联,主备可用性核心出口,要求业务连续性
内外双层串联,中间DMZ安全隔离等保、金融、政务
混合形态热备+双层叠加既可用又安全大型数据中心出口很高

选型不要只看价格,先问业务:如果防火墙重启一分钟,业务能不能接受?如果能,单台加接口就够了;如果不能,先上双机热备。如果说“服务器区被攻破也不能碰内网”,那才轮到内外双层。注意“防火墙关闭有影响吗”这类问题,在双防火墙架构里答案更复杂:关掉一台热备设备可能不丢流量,但关掉内层防火墙一定断网。

3. 在eNSP里落地双防火墙的最小配置

3.1 搭拓扑:设备接口与区域规划

本节给出eNSP中USG6000V的配置示例。先创建拓扑:两台防火墙分别命名为FW-A(外层)和FW-B(内层),中间放一台DMZ交换机。接口规划如下表。

设备接口IP地址所属区域连接对象
FW-AGE0/0/0203.0.113.1/30untrust出口路由器
FW-AGE0/0/110.0.0.4/30dmzDMZ交换机
FW-BGE0/0/010.0.0.6/30dmzDMZ交换机
FW-BGE0/0/1192.168.1.254/24trust核心交换机
DMZ服务器eth010.0.0.10/24-DMZ交换机

这个规划把DMZ地址段放在两台防火墙之间的互联网段上。FW-A连接外网,FW-B连接内网,两边的路由都指向对方。

3.1.1 eNSP导入防火墙设备的格式坑

eNSP里导入USG6000V镜像时,经常会遇到“格式错误”提示。常见原因是镜像版本和eNSP版本不匹配。先确认eNSP版本再找对应V500R005版本的设备包;导入后启动一直刷“#”,不要急着点击,USG6000V完全启动需要3~5分钟,刷井号期间可以用display version确认是否已在引导。

3.2 外层防火墙FW-A的最小配置

text # 进入系统视图 sys sysname FW-A # 接口IP与区域 interface GigabitEthernet0/0/0 undo shutdown ip address 203.0.113.1 30 firewall zone untrust add interface GigabitEthernet0/0/0 interface GigabitEthernet0/0/1 undo shutdown ip address 10.0.0.4 30 firewall zone dmz add interface GigabitEthernet0/0/1 # 默认路由,下一跳指向出口路由器 ip route-static 0.0.0.0 0.0.0.0 203.0.113.2 # 服务端NAT:把公网IP映射给DMZ服务器 nat server web_server global 203.0.113.10 inside 10.0.0.10 http # 安全策略:放行公网到DMZ的HTTP security-policy rule name allow_http_dmz source-zone untrust destination-zone dmz service http action permit

逻辑说明:外层防火墙只放行公网对DMZ服务器的指定端口,内网回程流量靠状态检测自动放行。nat server参数中global是公网地址,inside是DMZ服务器内网地址,service http限定了只暴露80端口。如果是HTTPS,需要再加一条service https,不要用any

3.3 内层防火墙FW-B的最小配置

text sys sysname FW-B # 接口IP与区域 interface GigabitEthernet0/0/0 undo shutdown ip address 10.0.0.6 30 firewall zone dmz add interface GigabitEthernet0/0/0 interface GigabitEthernet0/0/1 undo shutdown ip address 192.168.1.254 24 firewall zone trust add interface GigabitEthernet0/0/1 # 默认路由指向外层防火墙 ip route-static 0.0.0.0 0.0.0.0 10.0.0.4 # 安全策略:只允许内网访问DMZ的指定端口 security-policy rule name allow_dmz_from_trust source-zone trust destination-zone dmz service http https action permit rule name deny_dmz_to_trust source-zone dmz destination-zone trust action deny

注意FW-B没有NAT配置。内网访问DMZ时,FW-B只做路由转发,源地址保持192.168.1.0/24不变。很多人在这一层顺手做了源NAT,结果DMZ服务器看到的内网源地址全是防火墙接口地址,日志里没法定位具体客户端。双防火墙内层原则上不做源NAT,除非有特殊路由要求。

3.4 双机热备的HRP配置

如果你要做的是并联热备,而不是内外双层,把上面的FW-A/FW-B改成主备两台同位置设备,然后配置HRP:

text # 主设备 hrp interface GigabitEthernet1/0/0 remote 10.0.255.2 hrp enable # 备设备 hrp interface GigabitEthernet1/0/0 remote 10.0.255.1 hrp standby-device hrp enable

逻辑说明:remote指定对端心跳地址;hrp enable开始同步;备设备必须在业务配置同步前设为standby-device,否则两台都会抢占主角色。业务接口IP在主备两台设备上要配成相同地址,VRRP虚拟IP在华为防火墙里由HRP自动管理,不用手工配置。验证用display hrp state,看到State: ActiveStandby才说明协商成功。

4. 双防火墙场景下的路由、NAT与策略设计

4.1 路由设计:避免环路和黑洞

双防火墙拓扑中最容易翻车的是回程路由。比如内网用户访问DMZ服务器,请求从内网到FW-B再到FW-A,响应回来时FW-A会把包转发给FW-B,因为FW-A上的DMZ路由指向FW-B互联地址。但如果FW-B上写了默认路由指向FW-A,两个设备之间就可能出现路由拉扯。解决方法是:内层防火墙的默认路由指向外层,但DMZ和trust之间的双向明细路由要精确到互联地址或网段,不要滥用默认路由。

接口地址规划也建议把互联地址单独拎一段,比如10.0.0.0/30,不要和DMZ业务网段混在一起。否则地址扫描和路由泄露的风险都会增加。我一般会在两张防火墙上同时配一条黑洞路由,把DMZ网段和trust网段以外的流量直接丢弃,防止意外流量在两个防火墙之间反复横跳。

4.2 NAT放在哪一层

工作区里最常见的争论是“NAT放外层还是内层”。我的经验是:对外NAT放在外防火墙,内防火墙不做NAT,只做纯转发和策略控制。原因有三个:一是内网用户访问DMZ时,想保留真实源IP便于溯源;二是外防火墙要统一管理公网IP和端口映射,出问题时只需排查一台设备;三是内层和DMZ之间如果有专线或安全审计系统,保留原始地址才能让日志链路完整。

有一种情况例外:内外网使用重叠地址段,比如两家公司合并后都是192.168.1.0/24,必须在内层防火墙上做双向NAT才能打通。这时要单独建NAT策略并配好黑洞路由,防止NAT后的地址被路由回环。

流量方向NAT位置源地址目的地址
公网 -> DMZ外层防火墙公网IP服务器映射公网IP
内网 -> DMZ不做NAT内网真实IPDMZ服务器IP
内网 -> 公网外层防火墙NAT到出接口IP公网地址
DMZ -> 内网默认拒绝--

4.3 安全策略的粒度分配

双防火墙的策略不要做得一样宽。外层防火墙的入方向策略尽量少,放行的端口越少越好,DMZ区域的典型配置是面向公网只开80和443,其他端口在security-policy里默认拒绝。内层防火墙才需要把内网访问DMZ的规则写细,比如开发部能访问数据库端口,运维部能访问SSH,这些规则如果放在外层,策略条数会爆炸,而且每次变更都要走公网边界审批。

这里可以用到“黑白名单”的思路。有些单位会在外层防火墙上加黑名单封禁特定IP,把已知威胁IP列表下发到外防火墙;内防火墙则用白名单思路,只允许业务需要的IP和端口通过。两层策略组合起来,比单台防火墙既做黑名单又做白名单更清晰,也更容易导出审计报表。

4.4 单臂路由与旁挂模式的取舍

如果双防火墙需要接入多个VLAN,又不方便拉太多物理线,可以在防火墙上启用子接口做单臂路由。比如FW-B的GE0/0/1拆成GE0/0/1.10、GE0/0/1.20,分别终结内网VLAN 10和VLAN 20。配置上要记得子接口必须启用802.1Q终结,并且安全区域要按子接口划分,否则流量会被区域策略拦住。

旁挂模式则适合已经很成熟的二层核心环境,把防火墙以透明模式串进关键路径,避免改动核心交换机的路由。不过透明模式下的双防火墙热备,会话同步机制和三层模式不一样,需要单独验证。

4.5 会话表与状态同步

双机热备形态下,会话表同步是关键。华为HRP默认只同步配置和状态,不自动同步所有会话。如果业务要求断开一台防火墙不中断TCP连接,需要开启会话快速备份。在配置里加上hrp session fast-sync,注意这个命令会让CPU开销上升,适合大连接数但低流量弹性的场景。串联双层架构下,内外两台防火墙各自维护独立的会话表,没有同步问题,但要注意超时时间不一致导致的现象:客户端看到连接被外层切断,而内层还认为连接存在。所以内外两台防火墙最好使用相同的会话老化时间,比如TCP默认3600秒,UDP默认120秒,不要随意改其中一台。

5. 双防火墙的验证与排错技巧

5.1 用三层手段验证双向流量

搭建完拓扑后,先在内网PC上长ping DMZ服务器,然后逐台登录防火墙检查display firewall session table。如果能看到protocol: ICMP的会话且两个方向的包数都在增长,说明转发链路OK。接着curl公网地址访问DMZ服务器,验证外层防火墙的NAT是否生效。这一步别急着看页面,先看外层防火墙的display nat session,确认公网IP对应的映射关系。

5.2 会话表抓包定位“通一半”问题

最典型的故障现象是内网能访问DMZ,DMZ服务器回应却到不了内网。这种问题多半出在路由回程,而不是策略。登录FW-A抓包,过滤源IP为DMZ服务器、目的IP为内网PC的包,看下一跳是不是FW-B。如果是,再登录FW-B看有没有对应路由。命令参考:业务侧用tracert,防火墙侧用display ip routing-table 192.168.1.0确认明细路由。如果FW-B上只有默认路由而没有trust回程明细,回包就会被丢给默认路由,产生环路。

5.3 双机热备切换验证清单

验证热备不要直接拔电源,那样太粗暴。标准做法是把主设备的心跳线断开,观察备设备是否在5秒内成为Active。恢复心跳后,主设备是否会抢占回来取决于配置,如果是非抢占模式,业务不会反复抖动。注意display hrp state里要同时看Active/Standby状态和会话同步计数。如果切换后业务丢包但新连接正常,优先检查会话快速备份是否开启,以及备设备是否有旧配置残留。

5.4 把串联双层和热备的边界分开验证

如果你做的是内外双层,验证方法就完全不同。先关掉或断开FW-A的出口链路,观察内网访问DMZ是否中断;再断开FW-B的核心侧链路,观察公网访问DMZ是否中断。两次测试能确认每台防火墙在拓扑里的真实依赖关系。很多故障其实发生在“以为有冗余,实际是串联”的认知错位里,先把边界测清楚,再谈优化。

本文还有配套的精品资源,点击获取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/19 22:31:09

阵列信号处理仿真指南:导向矢量、MUSIC与参数排查

简介:面向阵列信号处理学习者与研究者的MATLAB仿真方法参考文献,以PDF格式收录了重庆大学曾浩等发表于《计算机工程与应用》的期刊论文,重点讲解如何用MATLAB构建阵列信号处理系统模型并完成仿真。包内仅1个PDF文件,压缩包大小232…

作者头像 李华
网站建设 2026/9/19 22:29:28

BrewUI:给Homebrew装上可视化面板,包管理一目了然

1. 认识 BrewUI——为什么终端党需要这个图形界面先交代一下背景:我平时维护的开发机上有 300 多个通过 Homebrew 安装的软件包,光是 formula 和 cask 混在一起就有几十屏。过去我习惯纯终端操作,brew list、brew update、brew upgrade三件套…

作者头像 李华
网站建设 2026/9/19 22:27:20

QuillBot 英文改写反而更像 AI?TaoToken 这样给 Codex 配通道再审

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华