防火墙上线配置:区域、策略与 NAT · 修改记录
这是 network/防火墙上线配置(区域与策略).md 的改动记录。后台每次保存都会留一份快照,
这里显示的是快照之间的差异,不会混入其他文章的改动。
还没有后台修改记录。
Git 提交记录
下面是 Git 里的提交,可能包含其他文章的改动(因为一次提交会带上工作区所有变化)。
#1
2026-11-08
+159
−0
docs: 新增 6 篇配置案例(交换机/路由器/防火墙)
3f7e8b6
@@ -0,0 +1,159 @@
+---
+tags: [防火墙, 安全策略, NAT, USG, 区域]
+order: 170
+---
+
+# 防火墙上线配置:区域、策略与 NAT
+
+## 场景
+
+一台防火墙替换掉原来的路由器做出口。和老路由器最大的区别:**三个默认区域、默认拒绝、NAT 要和策略一起想**。配完不通,九成是区域没划对或者策略没放行。
+
+## 前置条件
+
+- 公网地址、网关、内网网段都确认好(例:公网 `1.2.3.4/24`,内网 `192.168.10.0/24`)
+- 知道要对外发布哪些服务(例:`1.2.3.5:8080` → `192.168.10.100:80`)
+- 串口或带外可用,**改之前先把管理口划到独立区域**
+- 确认设备是华为 USG 还是 H3C SecPath,两家命令差别不小
+
+## 配置
+
+**华为 USG6000 系列:**
+
+```bash
+system-view
+sysname FW-Edge
+
+# 接口地址
+interface GigabitEthernet1/0/1
+ ip address 1.2.3.4 255.255.255.0
+ quit
+interface GigabitEthernet1/0/2
+ ip address 192.168.10.1 255.255.255.0
+ quit
+
+# 划区域(关键:不划区域,策略里根本选不到这个口)
+firewall zone untrust
+ add interface GigabitEthernet1/0/1
+ quit
+firewall zone trust
+ add interface GigabitEthernet1/0/2
+ quit
+
+# 默认路由
+ip route-static 0.0.0.0 0.0.0.0 1.2.3.1
+
+# 安全策略:内网出去放行
+security-policy
+ rule name trust_to_untrust
+ source-zone trust
+ destination-zone untrust
+ action permit
+ quit
+ quit
+
+# 源 NAT:内网共享公网地址出去
+nat-policy
+ rule name snat_out
+ source-zone trust
+ destination-zone untrust
+ action source-nat easy-ip
+ quit
+ quit
+
+# 服务器映射:外面访问 1.2.3.5:8080 转到内网 80
+nat server web_server protocol tcp global 1.2.3.5 8080 inside 192.168.10.100 80
+
+# 从外网访问服务器要放行(NAT server 不自动放行策略)
+security-policy
+ rule name untrust_to_web
+ source-zone untrust
+ destination-zone trust
+ destination-address 192.168.10.100 32
+ service http
+ action permit
+ quit
+ quit
+
+save
+```
+
+**H3C SecPath(V7 写法,细节以设备为准):**
+
+```bash
+system-view
+sysname FW-Edge
+
+interface GigabitEthernet1/0/1
+ ip address 1.2.3.4 24
+ quit
+interface GigabitEthernet1/0/2
+ ip address 192.168.10.1 24
+ quit
+
+security-zone name Untrust
+ import interface GigabitEthernet1/0/1
+ quit
+security-zone name Trust
+ import interface GigabitEthernet1/0/2
+ quit
+
+ip route-static 0.0.0.0 0 1.2.3.1
+
+security-policy ip
+ rule name trust-untrust
+ source-zone Trust
+ destination-zone Untrust
+ action pass
+ quit
+ quit
+
+acl basic 2000
+ rule 5 permit source 192.168.10.0 0.0.0.255
+ quit
+interface GigabitEthernet1/0/1
+ nat outbound 2000
+ quit
+
+save force
+```
+
+## 验证
+
+```bash
+display zone # 接口都在正确的区域里
+display security-policy rule all # 策略顺序和动作
+display nat-policy rule all # NAT 规则
+display firewall session table # 有人访问时的会话
+display ip routing-table # 默认路由
+```
+
+从内网电脑依次测:ping 防火墙内网口 → ping 公网网关 → ping 223.5.5.5 → 打开网页。
+
+再从外网测服务器映射:`telnet 1.2.3.5 8080` 或者浏览器访问。
+
+## 回滚
+
+```bash
+undo nat server web_server
+undo security-policy rule name trust_to_untrust
+undo nat-policy rule name snat_out
+undo ip route-static 0.0.0.0 0.0.0.0 1.2.3.1
+```
+
+最快的止损是把公网线插回老设备,防火墙留在旁边慢慢查。
+
+## 坑
+
+!!! note "区域没划,策略里选不到接口"
+ `security-policy` 里是按**区域**匹配的,不是按接口。接口没 `add` 进区域,
+ 策略里就看不见它,现象是「策略明明放行了还是不通」。
+
+- **NAT server 不自动放行**。很多人只配了映射,忘了加 untrust→trust 的策略,外面就是连不上。
+- 默认策略是 deny。华为叫 `default action deny`,H3C 是 `default deny`。别为了省事改成 permit。
+- `easy-ip` 是复用出接口地址,公网地址多的话可以用地址池做一对一映射。
+- 改管理口区域之前,先确认还有另一条路能进去(串口/带外),不然改完就把自己关外面了。
+- 策略是有顺序的,从上往下匹配。新加的放行规则要放在拒绝规则**上面**。
+- 应用层协议(FTP、SIP)需要 ALG/ASPF,光放行端口不够。
+- 双机热备的两台配置必须一致,先配主再同步,见 [防火墙双机热备(主备模式)](防火墙双机热备(主备模式).md)。
+- 版本差异:USG6000 和 USG6600 的 `nat-policy` 写法基本一致,但更老的 USG5000 用 `nat-policy` 的早期语法,升级前先看设备文档。