这是 network/防火墙策略不通怎么排查.md 的改动记录。后台每次保存都会留一份快照,
这里显示的是快照之间的差异,不会混入其他文章的改动。
还没有后台修改记录。
Git 提交记录
下面是 Git 里的提交,可能包含其他文章的改动(因为一次提交会带上工作区所有变化)。
#1
2026-11-08
+140
−0
docs: 新增 6 篇配置案例(交换机/路由器/防火墙)
3f7e8b6
@@ -0,0 +1,140 @@
+---
+tags: [防火墙, 排障, 安全策略, NAT, 会话]
+order: 190
+---
+
+# 防火墙策略不通怎么排查
+
+## 场景
+
+「策略明明放行了,就是不通」。防火墙排障和路由器不一样:包可能被策略拒、被 NAT 改错、被路由丢了,现象都一样(不通、超时),原因差很远。
+
+这篇是一套固定顺序,从最外层往最里层走,每步都有明确的判定标准,不用靠猜。
+
+## 前置条件
+
+- 能登录防火墙(串口/SSH)
+- 知道源 IP、目的 IP、目的端口、协议
+- 知道流量方向(哪个区域到哪个区域)
+- 最好有维护窗口,抓包会占 CPU
+
+## 配置
+
+**第一步:确认有没有会话**
+
+```bash
+display firewall session table
+display firewall session table verbose source 192.168.10.50
+display firewall session table verbose destination 1.2.3.5
+```
+
+- **有会话** → 说明策略和 NAT 都过了,问题在路由或对端
+- **没有会话** → 包根本没被放行,或者压根没到防火墙
+
+**第二步:看策略命中**
+
+```bash
+display security-policy rule all
+display security-policy statistics
+```
+
+顺序是从上往下匹配,**第一条命中的决定结果**。看有没有一条 deny 在你的 permit 上面。
+
+**第三步:确认区域划对**
+
+```bash
+display zone
+display interface brief
+```
+
+接口不在区域里,策略里就选不到它,现象是「配了策略但不生效」。
+
+**第四步:确认 NAT 对不对**
+
+```bash
+display nat-policy rule all
+display firewall server-map # 服务器映射有没有生效
+display nat session table # 实际转换结果
+```
+
+看转换后的源/目的地址是不是你期望的。源 NAT 配错网段,包出去了但回不来。
+
+**第五步:确认路由和回程**
+
+```bash
+display ip routing-table
+display ip routing-table 8.8.8.8
+display ip routing-table 192.168.10.50
+```
+
+去和回两条路由都要有。**只配去程没配回程**是最常见的「单向通」。
+
+**第六步:抓包定位**
+
+```bash
+capture-packet interface GigabitEthernet1/0/2 destination file 1.pcap
+capture-packet interface GigabitEthernet1/0/1 destination file 2.pcap
+```
+
+内外网口各抓一份,对比:
+
+- 内网口有包、外网口没包 → NAT 或策略丢了
+- 两个口都有包,但没回应 → 对端或路由问题
+- 外网口有回应包、内网口没有 → 回程策略或 NAT 反查失败
+
+抓完记得停:
+
+```bash
+capture-packet stop
+```
+
+## 验证
+
+排查结论要用一次实际访问来验证,不能只看命令输出。
+
+```bash
+# 触发一次访问,然后立刻看
+display firewall session table verbose destination 1.2.3.5
+display security-policy statistics
+```
+
+会话表里出现了、统计里那条规则计数 +1,才算真的走通了。
+
+## 回滚
+
+排查阶段尽量只读,不改配置。非要临时改的话:
+
+```bash
+# 临时加一条放行,放在最前面
+security-policy
+ rule name temp_allow
+ source-zone trust
+ destination-zone untrust
+ destination-address 1.2.3.5 32
+ service tcp destination-port 8080
+ action permit
+ quit
+ quit
+```
+
+查完记得删掉 `undo security-policy rule name temp_allow`,临时规则是最容易被忘的东西。
+
+## 坑
+
+!!! note "策略顺序比策略内容更容易出错"
+ 防火墙是从上往下第一条命中即停。你新加的 permit 如果排在一条 deny 下面,
+ 永远不会生效。加规则时先看 `display security-policy rule all` 的顺序。
+
+- **NAT server 不自动放行**:配了映射还要配 untrust→trust 的 permit,否则外面连不上。
+- **easy-ip 和无 NAT 混用**:同一条流量如果同时命中「不转换」和「easy-ip」,结果取决于规则顺序。
+- 策略里的 `service` 是预定义服务,自定义端口要用 `service tcp destination-port 8080` 这种写法,别直接写数字。
+- 应用层协议(FTP 主动模式、SIP、H.323)需要 ALG/ASPF,只放行控制端口不够,会卡在数据连接。
+- 双机热备环境下,**备机不通是正常的**(它是 standby),排障要在 active 上做。
+- 会话表有老化时间。改完策略立刻测可能还是旧会话在生效,`reset firewall session table` 清一下再测。
+- 抓包文件存在设备 flash 上,抓太久会写满,`dir` 看一下剩余空间。
+- 时间不对会导致证书、日志、时间相关策略异常,排障第一步先 `display clock`。
+
+## 相关
+
+- [防火墙上线配置(区域与策略)](防火墙上线配置(区域与策略).md)
+- [防火墙双机热备(主备模式)](防火墙双机热备(主备模式).md)