华为 USG6000 防火墙安全策略与 NAT 策略配置详解 - 夜莺博客

华为 USG6000 防火墙安全策略与 NAT 策略配置详解

华为 USG6000 系列防火墙采用"安全区域 + 安全策略"的控制模型:接口必须加入安全区域,流量在区域之间穿越时逐条匹配安全策略,没有匹配任何规则则默认丢弃。而 NAT 策略解决的是地址转换,和安全策略是两套独立的策略体系,两者顺序和匹配关系搞反,就会出现"策略放通了但仍然不通"的典型故障。本文从区域划分开始,逐步给出安全策略、源 NAT、NAT Server 的完整配置和排错方法。

第一步:划分安全区域并加入接口

system-view
firewall zone trust
 add interface GigabitEthernet1/0/1
firewall zone untrust
 add interface GigabitEthernet1/0/0
firewall zone dmz
 add interface GigabitEthernet1/0/2

display zone
display firewall zone

常用缺省区域为 trust(内网)、untrust(外网)、dmz(服务器区)和 local(设备自身)。接口不加入任何区域时,该接口的流量无法匹配安全策略。设备自身发起或终结的流量(如 SSH、SNMP、NTP)属于 local 区域,需要单独放通。

第二步:配置安全策略

security-policy
 rule name trust_to_untrust_web
  source-zone trust
  destination-zone untrust
  source-address 10.10.0.0 mask 255.255.0.0
  service http
  service https
  action permit

 rule name untrust_to_dmz_ftp
  source-zone untrust
  destination-zone dmz
  destination-address 10.10.20.10 mask 255.255.255.255
  service ftp
  action permit

 rule name deny_all_log
  action deny

display security-policy all
display security-policy rule name trust_to_untrust_web

规则自上而下匹配,命中即停止。建议保留一条显式的兜底拒绝规则并开启日志,便于排查"到底是哪条规则拦了流量"。

第三步:放通管理流量(local 区域)

security-policy
 rule name admin_ssh
  source-zone trust
  destination-zone local
  source-address 10.10.10.0 mask 255.255.255.0
  service ssh
  action permit

 rule name ntp_out
  source-zone local
  destination-zone untrust
  destination-address 10.0.0.1 mask 255.255.255.255
  service ntp
  action permit

display firewall session table

忘记配置 local 区域方向的管理策略,是"设备能 ping 通但 SSH 登不上"最常见的原因。

第四步:源 NAT(内网访问外网)

nat address-group NAT_POOL
 mode pat
 section 0 202.100.1.10 202.100.1.20

nat-policy
 rule name trust_to_untrust_nat
  source-zone trust
  destination-zone untrust
  source-address 10.10.0.0 mask 255.255.0.0
  action source-nat address-group NAT_POOL

# 不需要地址池时可直接使用出接口地址转换
nat-policy
 rule name easy_ip_nat
  source-zone trust
  destination-zone untrust
  action source-nat easy-ip

display nat-policy rule all
display nat address-group NAT_POOL
display firewall session table verbose | include 202.100.1.

easy-ip 使用接口地址做端口复用转换,适合单出口场景;地址池适合需要固定出口 IP 或做溯源审计的场景。

第五步:NAT Server(外网访问内网服务器)

nat server FTP_1 protocol tcp global 202.100.1.100 ftp inside 10.10.20.10 ftp

# 带地址池的服务器映射(双向 NAT,用于服务器主动外访也走指定地址)
nat server WEB_1 protocol tcp global 202.100.1.101 8080 inside 10.10.20.11 80
nat address-group DMZ_POOL
 section 0 202.100.1.101 202.100.1.101

security-policy
 rule name untrust_to_dmz_web
  source-zone untrust
  destination-zone dmz
  destination-address 10.10.20.11 mask 255.255.255.255
  service 8080
  action permit

nat-policy
 rule name server_outbound
  source-zone dmz
  destination-zone untrust
  source-address 10.10.20.11 mask 255.255.255.255
  action source-nat address-group DMZ_POOL

display nat server
display firewall server-map
display firewall session table verbose | include 10.10.20.11

display firewall server-map 会显示 server-map 表项,这是判断 NAT Server 是否生成反向映射的关键。没有表项说明 nat server 未生效或协议/端口配置不一致。

排查顺序(按此顺序可以快速定位)

  1. display security-policy all — 确认存在匹配源/目的区域和地址的 permit 规则;
  2. display nat-policy rule all — 确认 NAT 规则的区域与地址条件匹配;
  3. display firewall session table verbose | include <源或目的IP> — 看会话是否建立、是否被 NAT 转换;
  4. display firewall statistics system drop 与日志 — 看是否被策略或攻击防范丢弃;
  5. 确认回程路由存在,避免"去程通、回程丢"的非对称路由问题。

相关阅读:华为交换机高级 ACL 与三层互通配置、华为交换机 VLAN 与 Access/Trunk/Hybrid 接口配置、以及 Juniper SRX 防火墙配置教程。

原文链接:https://support.huawei.com/enterprise/en/doc/EDOC1100172313/d97a03a0