路由器也有 ACL,也能过滤包,那防火墙存在的意义是什么?把这个问题想清楚,防火墙的设计就全通了。

一句话概括:ACL 是「逐包独立判断」,防火墙是「记住这条连接的状态」。这个区别衍生出了会话表、server-map、双机热备要同步状态等一整套东西。

三代防火墙:从看包到看连接

代次原理看什么局限
包过滤逐包检查五元组,命中 ACL 就放行源/目的 IP、端口、协议每个包都要写规则;多通道协议(FTP、SIP)没法处理;回程要另写策略
状态检测只对首包做策略匹配,通过后建会话表;后续包查会话表直接放行五元组 + 连接状态看不懂应用层内容,多通道协议仍需 ASPF 辅助
应用层代理 / NGFW把报文重组到应用层,识别出「这是什么应用」应用识别 + 内容 + 用户身份性能开销大,对加密流量无能为力

现在企业里主流是状态检测 + 应用识别的下一代防火墙(NGFW)。华为 USG 系列就是这一类。

安全区域:防火墙的世界观

路由器按「接口」区分内外,防火墙按「区域」区分。接口必须先加入某个区域,才有资格参与策略匹配。

Trust、DMZ、Untrust 三个安全区域与安全策略匹配五元组
▲ 三个典型区域与安全策略的匹配要素
区域放什么默认信任级别
Trust内网办公终端85
DMZ对外发布的服务器(Web、邮件、DNS)50
Untrust互联网5
Local防火墙自己(管理流量、VPN 终结)100

两个要点:

安全策略:匹配的是五元组

policy match
一条安全策略 = 源区域 + 目的区域 + 源地址 + 目的地址 + 服务/应用  → 动作

匹配顺序:从上往下,命中第一条就停(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 个「虚拟防火墙」,每个虚拟系统里:

它的价值是成本 + 隔离:本来要买 3 台防火墙给 3 个部门,现在 1 台搞定,且部门之间互不可见。代价是共享硬件资源——一个虚拟系统被攻击或跑满,会影响其他虚拟系统。

华为 USG 配置速查

huawei 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

验证与排错

huawei usg
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% 的问题):

一句话总结:防火墙 = 安全区域 + 状态检测 + 安全策略。区域决定「谁和谁是一伙的」,策略决定「谁能访问谁」,会话表让「回程不用再配策略」。部署上先定模式(路由/透明/混杂),再定方案(单机/双机/虚拟系统)。

📌 本篇整理自 2024–2025 的「数通」学习笔记(HCIE-Datacom 方向)

合并了原始笔记中「防火墙 / 防火墙部署方案 / 虚拟系统」几页。
原笔记以胶片截图为主,本文按「三代技术 → 区域 → 策略 → 部署模式 → 部署方案」重排,并补齐了 Local 区域、service-manage ping 等实际配网才会踩到的细节。
配置命令保留华为 VRP 原样。