路由器也有 ACL,也能过滤包,那防火墙存在的意义是什么?把这个问题想清楚,防火墙的设计就全通了。
一句话概括:ACL 是「逐包独立判断」,防火墙是「记住这条连接的状态」。这个区别衍生出了会话表、server-map、双机热备要同步状态等一整套东西。
三代防火墙:从看包到看连接
| 代次 | 原理 | 看什么 | 局限 |
|---|---|---|---|
| 包过滤 | 逐包检查五元组,命中 ACL 就放行 | 源/目的 IP、端口、协议 | 每个包都要写规则;多通道协议(FTP、SIP)没法处理;回程要另写策略 |
| 状态检测 | 只对 | 五元组 + 连接状态 | 看不懂应用层内容,多通道协议仍需 ASPF 辅助 |
| 应用层代理 / NGFW | 把报文重组到应用层,识别出「这是什么应用」 | 应用识别 + 内容 + 用户身份 | 性能开销大,对加密流量无能为力 |
现在企业里主流是状态检测 + 应用识别的下一代防火墙(NGFW)。华为 USG 系列就是这一类。
安全区域:防火墙的世界观
路由器按「接口」区分内外,防火墙按「区域」区分。接口必须先加入某个区域,才有资格参与策略匹配。
| 区域 | 放什么 | 默认信任级别 |
|---|---|---|
| Trust | 内网办公终端 | 85 |
| DMZ | 对外发布的服务器(Web、邮件、DNS) | 50 |
| Untrust | 互联网 | 5 |
| Local | 防火墙自己(管理流量、VPN 终结) | 100 |
两个要点:
- 同区域默认互通,跨区域默认不通。所以「内网能上外网、外网进不来」是默认行为,不用特意配。
- Local 区域是防火墙本身。ping 不通防火墙、SSH 登不上,多半是没放行到 Local 的策略,不是接口坏了。
安全策略:匹配的是五元组
一条安全策略 = 源区域 + 目的区域 + 源地址 + 目的地址 + 服务/应用 → 动作
匹配顺序:从上往下,命中第一条就停(first-match)
★ 所以「放行细粒度规则」要写在「拒绝大范围规则」上面
★ 华为 USG 默认最后有一条隐含 deny any
动作:
permit → 放行,并建立会话表
deny → 丢弃,可记日志
其他 → 还有「不匹配」continue 动作(继续往下找),慎用
最容易被忽略的一点:回程流量不需要再配一条策略。因为会话表里已经记了这条连接的完整五元组,回包直接命中会话,跳过策略匹配。这就是状态检测和包过滤最大的区别。
三种部署模式
防火墙插在网络里,有三种工作方式。这是实际项目里第一个要定的事。
| 模式 | 工作层次 | 接口有没有 IP | 适用场景 |
|---|---|---|---|
| 路由模式 | 三层 | 有 IP,参与路由 | 最常见的出口防火墙;需要在防火墙上做 NAT、跑 OSPF/BGP |
| 透明模式 | 二层 | 没有 IP,像交换机 | 不想改现有网络拓扑,直接串进去;不需要改路由、改 IP 规划 |
| 混杂模式 | 混合 | 部分接口有 IP | 一部分接口做三层(出口),一部分做二层(内网串接) |
透明模式的配置关键是 vlan-type 或者直接二层透传,然后管理口单独配一个地址。它的好处是「无感知部署」——但代价是不能做 NAT,也不能跑动态路由。
三种部署方案
模式解决的是「怎么接」,方案解决的是「用几台、怎么冗余」。
| 方案 | 形态 | 特点 |
|---|---|---|
| 单机 | 一台防火墙 | 简单,但设备故障 = 全网中断。只适合非关键链路 |
| 双机热备 | 两台 + VRRP + HRP | 企业主流。分主备和负载分担两种,详见下一篇 |
| 虚拟系统(VSYS) | 一台物理机切成多个逻辑防火墙 | 把一台设备分给多个部门/租户,各自有独立的接口、路由、策略、管理员 |
虚拟系统(VSYS)是什么
一台 USG 通过虚拟化切成 N 个「虚拟防火墙」,每个虚拟系统里:
- 有自己独立的安全区域、接口、路由表、安全策略、NAT 策略;
- 有自己独立的管理员和日志;
- 互相之间默认隔离,要互通得走「根系统」或专门的虚拟接口。
它的价值是成本 + 隔离:本来要买 3 台防火墙给 3 个部门,现在 1 台搞定,且部门之间互不可见。代价是共享硬件资源——一个虚拟系统被攻击或跑满,会影响其他虚拟系统。
华为 USG 配置速查
# ① 接口加区域并配 IP
interface GigabitEthernet1/0/1
ip address 10.1.1.1 24
service-manage ping permit # ★ 默认不允许 ping 本机,要单独开
firewall zone trust
add interface GigabitEthernet1/0/1
interface GigabitEthernet1/0/0
ip address 200.1.1.1 24
firewall zone untrust
add interface GigabitEthernet1/0/0
# ② 安全策略
security-policy
rule name allow-inside-out
source-zone trust
destination-zone untrust
source-address 10.1.1.0 24
action permit
rule name deny-others
source-zone trust
destination-zone untrust
action deny
# ③ 出口 NAT(源 NAT,让内网能上网)
nat-policy
rule name snat-out
source-zone trust
destination-zone untrust
source-address 10.1.1.0 24
action source-nat easy-ip # easy-ip = 用出接口地址做 PAT
# ④ 服务器发布(目的 NAT)
nat server web protocol tcp global 200.1.1.10 80 inside 172.16.1.10 80
# ⑤ 默认路由
ip route-static 0.0.0.0 0 200.1.1.254
验证与排错
display firewall session table # ★ 会话表,排错第一站
display firewall session table verbose # 带详细信息(源/目的/老化/命中数)
display firewall session table source 10.1.1.10 # 按源地址过滤
display security-policy rule all # 所有策略
display firewall zone # 区域与接口的绑定关系
display firewall statistic system # 丢包统计
# 抓包(不占控制台,输出到文件)
capture-packet interface GigabitEthernet1/0/0 destination file cap.cap
display capture-packet file cap.cap
排错顺序(基本能覆盖 90% 的问题):
- 完全不通,会话表里没有记录 → 策略没放行。先
display firewall session table,没有会话就说明包在策略阶段就被丢了,去查策略的源/目的区域和地址; - 有会话但还是不通 → 包出去了,问题在回程或下游。看会话的出接口和下一跳对不对,查路由;
- 只有某些应用不通(FTP、SIP、视频会议) → 典型的多通道协议问题,需要 ASPF,见下一篇;
- ping 不通防火墙但业务正常 → 正常。默认不开
service-manage ping permit; - NAT 生效但服务器发布不出去 → 查
nat server是不是绑在正确的接口上,以及有没有一条放行 untrust → dmz 的策略(NAT 不替代策略)。
一句话总结:防火墙 = 安全区域 + 状态检测 + 安全策略。区域决定「谁和谁是一伙的」,策略决定「谁能访问谁」,会话表让「回程不用再配策略」。部署上先定模式(路由/透明/混杂),再定方案(单机/双机/虚拟系统)。
📌 本篇整理自 2024–2025 的「数通」学习笔记(HCIE-Datacom 方向)
合并了原始笔记中「防火墙 / 防火墙部署方案 / 虚拟系统」几页。
原笔记以胶片截图为主,本文按「三代技术 → 区域 → 策略 → 部署模式 → 部署方案」重排,并补齐了 Local 区域、service-manage ping 等实际配网才会踩到的细节。
配置命令保留华为 VRP 原样。