防火墙 VPN 互联实战:多区域、多办公区组网(IPsec 路由模式 + SSL VPN)
企业成长到多办公区后,防火墙的 VPN 能力就是"总部的数字专线"。本笔记以华为 USG 防火墙为主,完成一个典型项目:总部(多安全区域)+ 两个分支 + 移动办公用户的互联:分支与总部走 IPsec 路由模式(Tunnel 接口 + OSPF),移动办公走 SSL VPN 网络扩展。先系统介绍防火墙上的各种 VPN 技术与选型,再以 Web 配置步骤表为主 + 等效 CLI 逐阶段落地,eNSP(3 × USG6000V + 1 × AR 模拟互联网)可完整复现。
📌 核心概念
0.1 项目场景
某公司:总部机房部署核心业务;办公区与服务器区在防火墙上分属不同安全区域;两个异地分支;销售人员经常出差需要远程办公。
┌────────────── R1(模拟互联网)──────────────┐
│ GE0/0/0:202.100.1.2 GE0/0/1:202.100.2.2 GE0/0/2:202.100.3.2 │
└────────┬───────────────┬───────────────┬────┘
202.100.1.0/24 │ 202.100.2.0/24 │ 202.100.3.0/24
│ │ │
┌─────────────────────────────────────┴──┐ ┌──────────────┴───────┐ ┌──────┴──────────────┐
│ FW1 总部 USG6000V │ │ FW2 分支A USG6000V │ │ FW3 分支B USG6000V │
│ GE1/0/1:202.100.1.1 (untrust) │ │ GE1/0/1:202.100.2.1 │ │ GE1/0/1:202.100.3.1 │
│ GE1/0/2:10.1.1.254 (trust 办公区) │ │ GE1/0/2:10.2.1.254 │ │ GE1/0/2:10.3.1.254 │
│ GE1/0/3:10.1.2.254 (dmz 服务器区) │ │ (trust 办公区) │ │ (trust 办公区) │
│ Tun0/0/1:172.16.12.1 ──┐(vpn) │ │ Tun0/0/1:172.16.12.2 │ │ Tun0/0/1:172.16.13.2│
│ Tun0/0/2:172.16.13.1 ──┤(vpn) │ └───────────┬──────────┘ └──────────┬─────────┘
└────────────────────────┼──────────────┘ │ │
IPsec 隧道1 ←──────┴──────→ 172.16.12.0/30 PC2:10.2.1.10 PC3:10.3.1.10
IPsec 隧道2 ←─────────────→ 172.16.13.0/30
PC1:10.1.1.10(办公) Server1:10.1.2.100(DMZ)
移动办公用户 ──HTTPS 4433──→ FW1 SSL VPN 虚拟网关(虚 IP 池 10.1.3.0/24)0.2 防火墙上各种 VPN 全景
| VPN 类型 | OSI 层次 | 加密 | 典型场景 | 华为 USG 支持 |
|---|---|---|---|---|
| IPsec VPN | 网络层(L3) | ✅ ESP/AH | 站点到站点互联、远程接入 | ✅ 核心 |
| GRE | 网络层(L3 封装) | ❌(常配 IPsec) | 跨公网跑组播/非 IP 协议/动态路由 | ✅ |
| DSVPN | 网络层(mGRE+NHRP) | ❌(叠加 IPsec) | 分支多、公网地址动态、需全互联 | ✅ 华为特色 |
| L2TP VPN | 二层(PPP 封装) | ❌ | 传统远程拨号接入(配合 IPsec 加密) | ✅ |
| SSL VPN | 应用层(TLS 443) | ✅ TLS | 移动办公/外包人员,按角色授权资源 | ✅ NGFW 主打 |
| MPLS VPN | 运营商骨干(L2/L3) | ❌(隔离非加密) | 跨地域大带宽"专线"(租用) | 防火墙做 CE 侧对接 |
逐一展开:
① IPsec VPN——站点互联的基石
- 协议族:IKE(密钥协商)+ ESP/AH(数据封装加密)。ESP 提供加密+认证+防重放,应用最广;AH 只认证不加密且不能穿越 NAT,实际项目几乎不用;
- IKE 两阶段:阶段一协商建立安全通道(IKE SA,主模式 6 包 / 野蛮模式 3 包);阶段二在此通道里协商 IPsec SA(快速模式);SA 到期自动重新协商;
- 主模式 vs 野蛮模式:主模式身份保护更安全;野蛮模式包数少、支持双端至少一端为动态地址/穿越 NAT 时用对端名称(FQDN)识别,分支拨号场景常见;
- NAT-T:ESP 报文没有端口号无法过 PAT,检测到中间有 NAT 时自动再包一层 UDP 4500;
- 两种落地方式(详见 1.2 节对比):策略模式(基于 ACL 感兴趣流)与路由模式(基于 Tunnel 接口)——多分支多网段项目首选路由模式,本文实操路线。
② GRE——能跑组播的"裸隧道" 通用路由封装,只封装不加密,开销小、支持组播/广播/非 IP 协议,适合承载动态路由协议。生产上极少单用,标准组合是 GRE over IPsec:GRE 管灵活承载,IPsec 管安全加密。
③ DSVPN——华为动态分支 VPN mGRE(一个隧道接口对接多个分支)+ NHRP(分支向总部注册动态公网地址)。分支用拨号地址也能组网;shortcut 模式下分支间数据直接建立隧道互通,不绕总部。分支数量多时比逐条手工 IPsec 优雅得多,上层同样可叠 IPsec 加密(官方称 DSVPN over IPSec)。
④ L2TP——二层拨号时代的遗产 把 PPP 帧封装到公网传输,支持公网客户端直接接入内网;本身不加密,实际一律 L2TP over IPsec。如今新项目多被 SSL VPN 取代,存量仍在。
⑤ SSL VPN——移动办公首选 基于 TLS,走 HTTPS 443 端口,任何网络环境都能穿透(酒店/家庭/4G 都不拦 443)。三种服务形态:Web 代理(浏览器直接访问内网 Web 资源,零客户端)、端口转发(TCP 应用轻量接入)、网络扩展(安装轻客户端,虚网卡+路由,等效"全功能接入")。核心管理模型:用户(认证域)→ 角色 → 资源授权,最小授权粒度可达"某用户组只能访问某几个内网 IP 的某端口"。
⑥ MPLS VPN——租来的"专线" 运营商骨干内的标签隔离,提供 VPLS(L2)/ L3VPN 服务。企业侧不构建 MPLS,防火墙作为 CE 与运营商 PE 对接;跨地域大带宽、低时延诉求时选它,与自建 IPsec 互补(专线做主路径、IPsec 做备份是经典双链路方案)。
0.3 选型速查
| 需求 | 推荐 |
|---|---|
| 总部 ↔ 少量固定分支互联 | IPsec(分支多网段 → 路由模式) |
| 分支多、公网地址动态、要分支全互联 | DSVPN(over IPsec) |
| 隧道里要跑组播/动态路由且自定义封装 | GRE over IPsec |
| 移动办公/外包按资源授权 | SSL VPN(网络扩展) |
| 存量拨号客户端兼容 | L2TP over IPsec |
| 跨地域大带宽低时延"专线" | 租 MPLS VPN,防火墙做 CE,IPsec 做备路径 |
📖 详细内容
1.1 实验需求与地址规划
| 需求 | 内容 | 技术路线 |
|---|---|---|
| 1 | 分支A(10.2.1.0/24)↔ 总部办公(10.1.1.0/24)与服务器区(10.1.2.0/24)互通 | IPsec 路由模式 + OSPF |
| 2 | 分支B(10.3.1.0/24)同上 | 同上 |
| 3 | 分支A ↔ 分支B 经总部中转(hub-spoke) | 总部 vpn 区域内转发 |
| 4 | 移动办公用户访问总部办公区指定服务器 | SSL VPN 网络扩展 + 角色授权 |
| 5 | 隧道故障时公网仍可访问互联网(互不影响) | 缺省路由 + 独立 NAT 策略 |
地址规划:
| 设备 | 接口 | IP | 区域 |
|---|---|---|---|
| FW1 | GE1/0/1 | 202.100.1.1/24 | untrust |
| FW1 | GE1/0/2 | 10.1.1.254/24 | trust(办公区) |
| FW1 | GE1/0/3 | 10.1.2.254/24 | dmz(服务器区) |
| FW1 | Tunnel0/0/1 | 172.16.12.1/30 | vpn(新建,priority 60) |
| FW1 | Tunnel0/0/2 | 172.16.13.1/30 | vpn |
| FW2 | GE1/0/1 / GE1/0/2 | 202.100.2.1/24 / 10.2.1.254/24 | untrust / trust |
| FW2 | Tunnel0/0/1 | 172.16.12.2/30 | vpn |
| FW3 | GE1/0/1 / GE1/0/2 | 202.100.3.1/24 / 10.3.1.254/24 | untrust / trust |
| FW3 | Tunnel0/0/1 | 172.16.13.2/30 | vpn |
| R1 | GE0/0/0 / 0/1 / 0/2 | 202.100.1.2 / 202.100.2.2 / 202.100.3.2 | 互联网(模拟) |
| SSL VPN | — | 网关 202.100.1.1:4433,虚 IP 池 10.1.3.0/24 | — |
1.2 方案设计:为什么选路由模式(Tunnel 接口)+ OSPF
| 对比项 | 策略模式(基于 ACL) | 路由模式(Tunnel 接口) |
|---|---|---|
| 触发加密的依据 | ACL 感兴趣流(源/目的网段镜像匹配) | 路由表:目的网段下一跳指向 Tunnel 口 |
| 多网段扩展 | 每加一个网段要改两端 ACL,易漏配镜像 | 加一条路由/由 OSPF 自动学习 |
| 动态路由 | 不能直接跑(加密后再封装) | Tunnel 口直接跑 OSPF,路由自动收敛 |
| NAT 干扰 | 出接口源 NAT 需配 no-nat 置顶规避 | 明文流量进 Tunnel(vpn 区域),天然不过 NAT 规则 |
| 策略与 QoS | ACL 粒度 | 按 Tunnel 接口/区域粒度,与防火墙策略模型天然融合 |
| 适用 | 单分支、网段少、对端非华为设备(兼容性好) | 多分支、多网段、需要动态路由的项目(本文) |
一句话:策略模式是"匹配即加密",路由模式是"路由进隧道"——工程上后者才扛得住业务扩张。
1.3 阶段一:公网连通与区域准备(三台 FW 通用)
各 FW 完成接口 IP、区域、缺省路由(Web:网络 > 接口 / 网络 > 路由 > 静态路由):
# FW1(FW2/FW3 同理,替换地址)
[FW1] firewall zone name vpn
[FW1-zone-vpn] set priority 60
[FW1-zone-vpn] quit
[FW1] interface GigabitEthernet1/0/1
[FW1-GigabitEthernet1/0/1] ip address 202.100.1.1 24
[FW1-GigabitEthernet1/0/1] quit
[FW1] firewall zone untrust
[FW1-zone-untrust] add interface GigabitEthernet1/0/1
[FW1] ip route-static 0.0.0.0 0.0.0.0 202.100.1.2验证:三台 FW 互 ping 公网口互通(ping 202.100.2.1 等)。
1.4 阶段二:放行 IKE/ESP 协商报文(前置必做)
IPsec 协商报文是防火墙自身收发(Local 区域 ↔ Untrust 区域),必须先放行 UDP500/4500 与 ESP(IP 协议 50),这是新手"配了半天 IPsec 命令全对就是不通"的第一原因。
先建服务对象(Web:对象 > 服务 > 新建):
[FW1] ip service-set vpn_ike type object
[FW1-service-set-vpn_ike] service 0 protocol 17 source-port 500 destination-port 500
[FW1-service-set-vpn_ike] service 1 protocol 17 source-port 4500 destination-port 4500
[FW1-service-set-vpn_ike] service 2 protocol 50
[FW1-service-set-vpn_ike] quit安全策略(Web:策略 > 安全策略,两条方向相反):
| 策略名 | 源区域 | 目的区域 | 地址 | 服务 | 动作 |
|---|---|---|---|---|---|
| ipsec_out | local | untrust | 目的 202.100.2.1、202.100.3.1 | vpn_ike | 允许 |
| ipsec_in | untrust | local | 源 202.100.2.1、202.100.3.1 | vpn_ike | 允许 |
[FW1] security-policy
[FW1-policy-security] rule name ipsec_out
[FW1-policy-security-rule-ipsec_out] source-zone local
[FW1-policy-security-rule-ipsec_out] destination-zone untrust
[FW1-policy-security-rule-ipsec_out] action permit
[FW1-policy-security-rule-ipsec_out] quit
[FW1-policy-security] rule name ipsec_in
[FW1-policy-security-rule-ipsec_in] source-zone untrust
[FW1-policy-security-rule-ipsec_in] destination-zone local
[FW1-policy-security-rule-ipsec_in] action permit
[FW1-policy-security-rule-ipsec_in] quit(实验环境为聚焦 VPN 可先放开到地址 any,生产必须收敛到对端公网 IP。FW2/FW3 同理,方向对准总部 202.100.1.1。)
1.5 阶段三:IPsec 四件套(IKE 提议 → 对等体 → IPsec 提议 → Profile)
Web 路径:网络 > VPN > IPsec,按"IKE 提议 → IKE 对等体 → IPsec 提议 → IPsec 策略(Profile)"顺序新建(不同版本向导整合度不同,但四个对象不变;各弹窗字段如下表,可与官方文档截图逐一对照,见文末参考 1/2)。
Step 1|IKE 提议(协商参数,两端必须一致):
| 字段 | 取值 | 说明 |
|---|---|---|
| 名称 | ike_prop_10 | |
| 加密算法 | AES-256 | |
| 认证算法 | SHA2-256 | |
| DH 组 | Group 14 | 越大越安全,两端一致即可 |
| 认证方法 | 预共享密钥(pre-share) | 生产可升级证书认证 |
| IKE SA 生存时间 | 86400 秒 |
Step 2|IKE 对等体:
| 字段 | FW1(对分支A) | FW2(对总部) | 说明 |
|---|---|---|---|
| 名称 | branch_a | hq | |
| 对端地址 | 202.100.2.1 | 202.100.1.1 | 分支动态地址场景改用"对端域名/名称识别"(野蛮模式) |
| 预共享密钥 | BranchA@123 | BranchA@123 | 两端一致 |
| DPD | 周期探测 | 周期探测 | 检测对端假死,及时清 SA 重协商 |
Step 3|IPsec 提议(数据加密参数):
| 字段 | 取值 |
|---|---|
| 名称 | prop_esp |
| 安全协议 | ESP |
| 加密/认证 | AES-256 / SHA2-256 |
| 封装模式 | 隧道模式(tunnel) |
Step 4|IPsec Profile(打包对等体+提议,供 Tunnel 引用):
| 字段 | 取值 |
|---|---|
| 名称 | prof_branch_a(FW1)/ prof_hq(FW2) |
| 引用 IKE 对等体 | branch_a / hq |
| 引用 IPsec 提议 | prop_esp |
| PFS | DH Group14(两端必须同为开或同为关) |
等效 CLI(FW1 完整;对分支B 复制一套改地址):
[FW1] ike proposal 10
[FW1-ike-proposal-10] encryption-algorithm aes-256
[FW1-ike-proposal-10] authentication-algorithm sha2-256
[FW1-ike-proposal-10] dh group14
[FW1-ike-proposal-10] authentication-method pre-share
[FW1-ike-proposal-10] sa duration 86400
[FW1-ike-proposal-10] quit
[FW1] ike peer branch_a
[FW1-ike-peer-branch_a] pre-shared-key cipher BranchA@123
[FW1-ike-peer-branch_a] ike-proposal 10
[FW1-ike-peer-branch_a] remote-address 202.100.2.1
[FW1-ike-peer-branch_a] dpd type periodic
[FW1-ike-peer-branch_a] quit
[FW1] ipsec proposal prop_esp
[FW1-ipsec-proposal-prop_esp] encapsulation-mode tunnel
[FW1-ipsec-proposal-prop_esp] esp authentication-algorithm sha2-256
[FW1-ipsec-proposal-prop_esp] esp encryption-algorithm aes-256
[FW1-ipsec-proposal-prop_esp] quit
[FW1] ipsec profile prof_branch_a
[FW1-ipsec-profile-prof_branch_a] ike-peer branch_a
[FW1-ipsec-profile-prof_branch_a] proposal prop_esp
[FW1-ipsec-profile-prof_branch_a] pfs dh-group14
[FW1-ipsec-profile-prof_branch_a] quit1.6 阶段四:Tunnel 接口 + OSPF 全网互通
Web 路径:网络 > 接口 > 新建 > Tunnel 接口;网络 > 路由 > OSPF。
FW1 的 Tunnel0/0/1(对分支A)字段:接口名 Tunnel0/0/1、IP 172.16.12.1/30、隧道协议 IPSec、源接口 GE1/0/1(源地址 202.100.1.1)、目的地址 202.100.2.1、引用 Profile prof_branch_a、安全区域 vpn、MTU 1400(避免外层封装后超 1500 分片)。
[FW1] interface Tunnel0/0/1
[FW1-Tunnel0/0/1] ip address 172.16.12.1 30
[FW1-Tunnel0/0/1] tunnel-protocol ipsec
[FW1-Tunnel0/0/1] source GigabitEthernet1/0/1
[FW1-Tunnel0/0/1] destination 202.100.2.1
[FW1-Tunnel0/0/1] ipsec profile prof_branch_a
[FW1-Tunnel0/0/1] mtu 1400
[FW1-Tunnel0/0/1] quit
[FW1] firewall zone vpn
[FW1-zone-vpn] add interface Tunnel0/0/1
[FW1-zone-vpn] quit
# Tunnel0/0/2 对分支B 同理:172.16.13.1/30,destination 202.100.3.1,profile prof_branch_b
[FW1] ospf 1
[FW1-ospf-1] area 0.0.0.0
[FW1-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255
[FW1-ospf-1-area-0.0.0.0] network 10.1.2.0 0.0.0.255
[FW1-ospf-1-area-0.0.0.0] network 172.16.12.0 0.0.0.3
[FW1-ospf-1-area-0.0.0.0] network 172.16.13.0 0.0.0.3FW2(分支A):
[FW2] interface Tunnel0/0/1
[FW2-Tunnel0/0/1] ip address 172.16.12.2 30
[FW2-Tunnel0/0/1] tunnel-protocol ipsec
[FW2-Tunnel0/0/1] source GigabitEthernet1/0/1
[FW2-Tunnel0/0/1] destination 202.100.1.1
[FW2-Tunnel0/0/1] ipsec profile prof_hq
[FW2-Tunnel0/0/1] mtu 1400
[FW2-Tunnel0/0/1] quit
[FW2] firewall zone name vpn
[FW2-zone-vpn] set priority 60
[FW2-zone-vpn] add interface Tunnel0/0/1
[FW2] ospf 1
[FW2-ospf-1] area 0.0.0.0
[FW2-ospf-1-area-0.0.0.0] network 10.2.1.0 0.0.0.255
[FW2-ospf-1-area-0.0.0.0] network 172.16.12.0 0.0.0.3FW3 与 FW2 同理(172.16.13.2/30、destination 202.100.1.1、宣告 10.3.1.0/24)。
隧道触发流量(OSPF Hello 即可触发 IKE 协商):
[FW1] display ike sa # 阶段一:conn-id / RD|ST 状态
[FW1] display ipsec sa # 阶段二:加解密 SA
[FW1] display ospf peer # 隧道邻居 Full1.7 阶段五:域间安全策略(解封装后的明文流量)
隧道通了 ≠ 业务通:解封装后的明文流量按"vpn 区域 ↔ 其他区域"重新过安全策略。FW1 策略规划:
| 策略名 | 源区域 | 目的区域 | 源地址 | 目的地址 | 服务 | 动作 |
|---|---|---|---|---|---|---|
| vpn_to_trust | vpn | trust | 分支网段组 | 10.1.1.0/24 | 业务端口 | 允许 |
| vpn_to_dmz | vpn | dmz | 分支网段组 | 10.1.2.100/32 | 按需(如 TCP 1521/8080) | 允许 |
| trust_to_vpn | trust | vpn | 10.1.1.0/24 | 分支网段组 | 业务端口 | 允许 |
[FW1] ip address-set branch_nets type object
[FW1-address-set-branch_nets] address 0 10.2.1.0 mask 24
[FW1-address-set-branch_nets] address 1 10.3.1.0 mask 24
[FW1-address-set-branch_nets] quit
[FW1] security-policy
[FW1-policy-security] rule name vpn_to_trust
[FW1-policy-security-rule-vpn_to_trust] source-zone vpn
[FW1-policy-security-rule-vpn_to_trust] destination-zone trust
[FW1-policy-security-rule-vpn_to_trust] source-address address-set branch_nets
[FW1-policy-security-rule-vpn_to_trust] destination-address 10.1.1.0 mask 24
[FW1-policy-security-rule-vpn_to_trust] action permit分支中转(需求 3):FW1 的两条 Tunnel 同属 vpn 区域,同区域流量默认互通,分支 A 去分支 B 的路由又经 OSPF 学到(下一跳总部 Tunnel 口),因此天然可中转;若要显式管控,可将两条 Tunnel 拆入 vpn-a / vpn-b 两个区域再写 vpn-a→vpn-b 策略。FW2/FW3 侧同样需要 vpn↔trust 双向策略(源/目网段换成对端与总部网段组)。
NAT 说明:路由模式下明文流量进入 Tunnel(vpn 区域),不会命中 trust→untrust 的上网 NAT 规则,天然免转换;若你采用策略模式(见 1.8),必须在 NAT 策略最上方加 no-nat 规则(目的地址=对端内网,动作 no-nat),否则包被源 NAT 改写后永远匹配不上感兴趣流。
1.8 附:策略模式最小配置(对照理解)
# FW2 侧(对总部)
[FW2] acl 3000
[FW2-acl-adv-3000] rule permit ip source 10.2.1.0 0.0.0.255 destination 10.1.0.0 0.0.255.255
[FW2] ipsec policy policy_hq 10 isakmp
[FW2-ipsec-policy-isakmp-policy_hq-10] ike-peer hq
[FW2-ipsec-policy-isakmp-policy_hq-10] proposal prop_esp
[FW2-ipsec-policy-isakmp-policy_hq-10] security acl 3000
[FW2-ipsec-policy-isakmp-policy_hq-10] quit
[FW2] interface GigabitEthernet1/0/1
[FW2-GigabitEthernet1/0/1] ipsec policy policy_hq
# + NAT 策略最上方:destination 10.1.0.0/16 → action no-nat两端 ACL 必须互为镜像,总部侧需为分支的每个网段各配一条——分支一多极易漏配,这就是 1.2 节推荐路由模式的原因。
1.9 阶段六:移动办公 SSL VPN(Web 为主)
Web 路径:网络 > SSL VPN(新版本 USG6000E;老版本在 对象 > SSL VPN,随版本浮动)。配置主线:用户 → 虚拟网关 → 服务(网络扩展)→ 角色授权 → 安全策略。
Step 1|建用户与认证域(对象 > 用户):本地新建用户组 mobile_staff 与用户(或对接 RADIUS/AD);生产建议双因素认证。
Step 2|新建虚拟网关(网络 > SSL VPN > 新建):
| 字段 | 取值 | 说明 |
|---|---|---|
| 网关名称 | hq_gw | |
| 绑定接口/地址 | GE1/0/1(202.100.1.1) | 对外发布口 |
| 监听端口 | 4433(默认) | 浏览器访问 https://202.100.1.1:4433 |
| 网关类型 | 独享 |
Step 3|配置网络扩展服务(网关配置 > 服务 > 网络扩展):
| 字段 | 取值 | 说明 |
|---|---|---|
| 启用 | ✅ | |
| 虚 IP 地址池 | 10.1.3.1 ~ 10.1.3.100 | 远程用户在"公司内"的虚拟地址,与内网同规划 |
| DNS | 内网 DNS | |
| 路由模式 | 分离路由(split tunnel) | 三选一:手动路由(不推送,用户自配)/ 分离路由(只推送指定网段,其余流量仍走本地,省带宽最常用)/ 全路由(默认路由全进隧道,安全要求极高时用) |
| 推送网段 | 10.1.1.0/24、10.1.2.0/24 | 分离路由下配置 |
Step 4|角色授权(网关配置 > 角色授权):将 mobile_staff 组关联角色,角色下只授权网络扩展资源——例如目的地址限定 10.1.1.100(OA)/32 的 TCP 8080,实现"只能访问 OA,摸不到别的内网"。
Step 5|安全策略放行(策略 > 安全策略):
| 策略 | 源区域 | 目的区域 | 内容 |
|---|---|---|---|
| sslvpn_login | untrust | local | 目的 202.100.1.1,TCP 4433,允许 |
| sslvpn_to_trust | local | trust | 源 10.1.3.0/24,目的按角色资源,允许 |
(网络扩展的解封装流量由防火墙本地转发,虚 IP 段挂在本机,内网无需额外回程路由;若仍访问不通,优先查该策略与官方排查文档——见参考 5。)
Step 6|客户端验证:外网 PC 浏览器打开 https://202.100.1.1:4433 → 登录 → 页面中启动"网络扩展"(首次自动装轻客户端)→ 本地出现虚网卡(10.1.3.x)与推送路由 → 访问 OA 验证。Web 代理/端口转发服务按需在 Step 3 的同级菜单开启。
SSL VPN 配置以 Web 下发为主(CLI 随版本差异大,官方《SSL VPN 配置指南》提供逐条对照,见参考 4/5/6)。
1.10 验证与排错
[FW1] display ike sa # 阶段一 SA(空=协商都没起来)
[FW1] display ipsec sa # 阶段二 SA(有 IKE 无 IPsec=感兴趣流/路由没触发)
[FW1] display ipsec statistics # 加密/解密报文计数(只加不解=单边路由问题)
[FW1] display ospf peer # 隧道邻居
[FW1] display ip routing-table 10.2.1.0 # 确认下一跳是 Tunnel 口
[FW1] display firewall session table # 会话表观察明文/密文流
# 连通性测试务必带内网源地址:
[FW2] ping -a 10.2.1.254 10.1.1.254| 现象 | 高频原因 |
|---|---|
display ike sa 为空 | ①local↔untrust 未放行 UDP500/4500/ESP;②两提议参数不一致;③PSK 不一致;④对端地址/版本错 |
| 有 IKE SA、无 IPsec SA | 策略模式:ACL 不镜像;路由模式:去程路由没指向 Tunnel |
| 双 SA 正常但 ping 不通 | 解封装后域间策略未放行(vpn→trust);对端缺回程路由 |
| 时通时断 | SA 到期重协商丢包(调 DPD/生存时间);中间 NAT 超时回收 UDP4500 映射(调 NAT-T 保活) |
| ping 通、应用不通 | MTU 分片问题:Tunnel MTU/MSS 调小(本文已设 1400) |
1.11 Web 路径与 CLI 对照速查
| 配置项 | Web 路径 | 等效 CLI(视图) |
|---|---|---|
| IKE 提议 | 网络 > VPN > IPsec > IKE 提议 | ike proposal(系统) |
| IKE 对等体 | 网络 > VPN > IPsec > 对等体 | ike peer(系统) |
| IPsec 提议/Profile | 网络 > VPN > IPsec > 提议/策略 | ipsec proposal / ipsec profile(系统) |
| Tunnel 接口 | 网络 > 接口 > 新建 Tunnel | interface Tunnel + tunnel-protocol ipsec(接口) |
| 新建安全区域 | 系统 > 安全区域(或网络 > 安全区域) | firewall zone name + set priority(系统) |
| OSPF | 网络 > 路由 > OSPF | ospf(系统) |
| 服务对象 | 对象 > 服务 | ip service-set(系统) |
| 地址对象 | 对象 > 地址 | ip address-set(系统) |
| SSL VPN | 网络 > SSL VPN | 官方指南 CLI 对照(随版本) |
| VPN 状态 | 监控 > VPN(会话/IPsec) | display ike sa / ipsec sa |
💡 重点难点
- 先放行协商报文再配隧道:IKE/ESP 是 local↔untrust 流量,策略没放行,后面全白配;
- IKE 两阶段思维:排障先看
display ike sa(阶段一)再看display ipsec sa(阶段二),定位效率翻倍; - 两端参数镜像:IKE/IPsec 提议、DH/PFS、PSK 任一不一致即协商失败;PFS 两端必须同开同关;
- 路由模式的本质是路由:去程路由必须指向 Tunnel 口,回程路由靠 OSPF 学习——"隧道两头的路都要有人铺";
- 安全策略匹配的是解封装后的明文(vpn 区域 ↔ 其他区域),而不是密文;密文外层只受 local↔untrust 放行约束;
- 策略模式必须 no-nat 置顶,否则源 NAT 改写后匹配不上感兴趣流;路由模式天然规避;
- NAT 场景认准 UDP 4500(NAT-T),ACL 只放 500 是常见漏项;AH 不支持 NAT,工程上选 ESP;
- Tunnel MTU/MSS 调小(1400 左右),防外层封装后超 1500 分片导致"ping 通、应用断";
- SSL VPN 最小授权:角色只挂必要资源,分离路由只推必要网段——移动端是安全暴露面最大的入口;
- 多分支中转:hub-spoke 依赖总部两条 Tunnel 同区域互通 + OSPF 传递分支网段路由;要管控就拆区域写策略。
🔗 延伸拓展
- DSVPN over IPsec:分支全互联/动态地址的正解,官方配置案例见参考 7(mGRE + NHRP + IPsec profile 组合);
- GRE over IPsec:需要组播/非 IP 协议穿越时的组合拳(GRE 承载 + IPsec 加密);
- L2TP over IPsec:存量拨号客户端兼容方案;
- IPsec + 双机热备(HRP):出口双 FW 场景下隧道的备份与状态同步,结合 12-防火墙 阶段⑤;
- IKE 证书认证:预共享密钥升级为数字证书,适合大规模分支(PKI 体系);
- 对照系列笔记:11-NAT地址转换(no-nat 原理)、09-OSPF(本篇隧道内动态路由基础)。
面试高频问答
- IPsec 隧道模式与传输模式区别? 隧道模式加新 IP 头保护整个原始包(网关间站点互联用);传输模式只保护载荷(主机端到端用)。防火墙间互联必是隧道模式。
- IKE 为什么分两阶段? 阶段一建立安全通道(慢协商、保护阶段二),阶段二在通道内快速协商数据 SA 并支持周期性重加密(PFS 也在阶段二生效)。
- 主模式与野蛮模式怎么选? 主模式 6 包、身份加密更安全;野蛮模式 3 包、身份明文,但支持动态地址端用名称(FQDN)识别,分支拨号/NAT 场景常用。
- 策略模式与路由模式 IPsec 区别? 前者按 ACL 感兴趣流触发加密、每加网段改两端 ACL、不能直接跑动态路由;后者按路由把流量引入 Tunnel 口、天然支持 OSPF、NAT 干扰小——多分支多网段选路由模式。
- ESP 与 AH? ESP 加密+认证+防重放、可 NAT-T 穿透;AH 只认证、与 NAT 冲突,实际几乎不用。
- NAT-T 原理? 协商时检测路径有 NAT,则 ESP 再封装进 UDP 4500,为"无端口"的 ESP 提供五元组;同时周期保活维持 NAT 映射。
- GRE over IPsec 为什么存在? GRE 灵活(组播/非 IP/动态路由)但不加密,IPsec 加密但不方便跑组播——组合即"灵活+安全"。
- DSVPN 解决什么问题? 分支公网地址动态、数量多、要求分支全互联时,用 mGRE+NHRP 让分支向总部注册并可直接建立 spoke-spoke 隧道,免去逐条手工配置。
- SSL VPN 与 IPsec 远程接入的区别? SSL 走 443 穿透性极强、免装/轻客户端、按角色精细授权资源;IPsec 远程接入需客户端、网络层全互通、策略粒度较粗。
- SSL VPN 网络扩展三种路由模式? 手动路由(不推送自配)、分离路由(只推指定网段,最常用)、全路由(默认路由全入隧道,管控最强耗资源)。
- 防火墙对 VPN 流量做策略检查吗? 做。密文外层按 local↔untrust 匹配;解封装后明文按 vpn 区域与其他区域间策略匹配——"加密不豁免策略"。
- 分支两端都是动态公网地址怎么组网? 野蛮模式 + DDNS/FQDN 识别,或 DSVPN(NHRP 动态注册),或改用 SSL VPN。
记忆口诀
- 选型:固定站点 IPsec,动态分支 DSVPN,移动办公 SSL,拨号遗产 L2TP,组播要 GRE,加密永远叠加起;
- IPsec 四件套:IKE 提议定算法,对等体里填地址,IPsec 提议管数据,Profile 打包挂 Tunnel;
- 路由模式:路由指 Tunnel,明文进隧道,策略管明文,密文放协商;
- 排障顺序:一看 IKE 二看 SA,三看路由四策略,五查 NAT 六分片;
- SSL VPN:网关挂公口,虚池作内网,角色配资源,分离路由最常用。
参考来源
官方文档(配置依据):
| 文档 | 链接 | 对应章节 |
|---|---|---|
| 华为防火墙与 Fortinet 以虚拟隧道接口方式建立 IPSec(四件套+Tunnel+策略完整思路) | https://support.huawei.com/enterprise/zh/doc/DOC1000154804/3c104f4b | 1.4~1.7 |
| 华为防火墙与华为 AR 以虚拟隧道接口方式建立 IPSec | https://support.huawei.com/enterprise/zh/doc/DOC1000154804/6ccfa08b | 1.5/1.6 |
| USG 与 USG12000 GRE Tunnel 配置示例(Tunnel 接口方法论) | https://support.huawei.com/enterprise/zh/doc/DOC1000154804/f7e8f596 | 1.6 |
| 移动办公用户通过 SSL VPN 访问公司总部(官方典型案例,含安全策略步骤) | https://support.huawei.com/enterprise/zh/doc/DOC1000177215/e31271cd | 1.9 |
| SSL VPN 网络扩展三种路由模式说明 | https://support.huawei.com/enterprise/zh/doc/EDOC1000160160/5da513e1 | 1.9 Step3 |
| 用户绑定网络扩展虚拟地址 | https://support.huawei.com/enterprise/zh/doc/EDOC1000160160/6030b183 | 1.9 |
| SSL VPN 配置完成后无法访问内网的排查 | https://support.huawei.cn/enterprise/zh/doc/EDOC1100602754/525888d1 | 1.10 |
| 分支和总部通过不同网络建立 DSVPN over IPSec 隧道 | https://support.huawei.com/enterprise/zh/doc/EDOC1100332263/618ef200 | 延伸拓展 |
优质二手来源(含 Web 界面截图):
| 来源 | 链接 | 价值点 |
|---|---|---|
| 华为防火墙 SSL VPN 配置实验(CSDN,Web 截图) | https://blog.csdn.net/qq_45305211/article/details/141773836 | 1.9 全流程截图 |
| 华为 USG 系列防火墙配置 SSL VPN(Haike Blog) | https://haike.blog/2022/11/10/huawei-sslvpn | 网关新建向导截图 |
| eNSP USG6000V+AR IPSec 部署完整教程(博客园) | https://www.cnblogs.com/gccbuaa/p/19268526 | 1.5~1.7 实验复现 |
| 基于 eNSP 的 Web 界面配置 L2TP+IPsec(CSDN) | https://blog.csdn.net/F240831/article/details/162071318 | L2TP over IPsec |
| 阿里云:华为 USG 配置示例(单公网 IP 双 Tunnel) | https://help.aliyun.com/zh/vpn/sub-product-ipsec-vpn/configure-ipsec-vpn-connections-through-next-gen-usg-series-firewall-devices-of-huawei | 云端对接 |
| 腾讯云:华为防火墙 VPN 连接配置 | https://cloud.tencent.com/document/product/554/108476 | 策略模式参考 |
说明:USG Web 菜单(尤其 SSL VPN 入口)随 V500/V600 版本浮动较大,本文 Web 路径以主流 V500 为准并标注差异;CLI 以 USG6000E/USG6000V 为基准,动手时以设备《Web 配置指南》与《命令参考》为准。eNSP 复现提示:三台 USG6000V 同时启动内存开销大,建议 8G+ 内存,或分支侧用 AR 路由器替代(IPsec 语法基本一致)。