H3C1020 防火墙 IPSec VPN 完整配置教程 - 企业级站点互联实践
前言
IPSec VPN 是企业实现分支机构安全互联的常用方案。H3C1020 防火墙作为一款高性能的企业级防火墙,提供了完善的 IPSec VPN 功能。本文详细介绍 H3C1020 防火墙 IPSec VPN 的完整配置流程,包括拓扑规划、配置步骤、故障排查等实用内容。
一、IPSec VPN 基础概念
1.1 什么是 IPSec VPN
IPSec(Internet Protocol Security)是 IETF 制定的 IP 层安全协议标准,通过加密和认证机制,在公共网络上建立安全的私有通信通道。
1.2 核心组件
| 组件 | 说明 | 作用 |
|---|---|---|
| IKE(Internet Key Exchange) | 密钥交换协议 | 协商安全参数、建立 SA |
| SA(Security Association) | 安全联盟 | 定义安全参数(加密算法、密钥等) |
| ESP(Encapsulating Security Payload) | 封装安全载荷 | 提供加密和认证 |
| AH(Authentication Header) | 认证头 | 仅提供认证,不加密 |
1.3 工作模式
- 主模式(Main Mode):IKE 阶段 1 的标准模式,安全性高,需要 6 次握手
- 野蛮模式(Aggressive Mode):IKE 阶段 1 的快速模式,只需 3 次握手
- 传输模式(Transport Mode):只加密 IP 载荷,不加密 IP 头
- 隧道模式(Tunnel Mode):加密整个 IP 包,生成新的 IP 头(常用)
二、网络拓扑规划
2.1 典型站点互联拓扑
互联网
│
┌────────────┴────────────┐
│ │
┌─────┴─────┐ ┌─────┴─────┐
│ 公网 IP │ │ 公网 IP │
│ 1.1.1.1 │ │ 2.2.2.2 │
│ H3C1020 │ │ H3C1020 │
│ (总部) │◄──IPSec──►│ (分部) │
│ │ VPN │ │
└─────┬─────┘ └─────┬─────┘
│ │
┌─────┴─────┐ ┌─────┴─────┐
│ 内网网段 │ │ 内网网段 │
│192.168.1.0│ │192.168.2.0│
│ /24 │ │ /24 │
└───────────┘ └───────────┘
2.2 地址规划
| 位置 | 设备 | 接口 | IP 地址 | 说明 |
|---|---|---|---|---|
| 总部 | H3C1020-A | G0/0(WAN) | 1.1.1.1/24 | 公网接口 |
| G0/1(LAN) | 192.168.1.1/24 | 内网接口 | ||
| 分部 | H3C1020-B | G0/0(WAN) | 2.2.2.2/24 | 公网接口 |
| G0/1(LAN) | 192.168.2.1/24 | 内网接口 |
2.3 VPN 参数规划
| 参数 | 配置值 | 说明 |
|---|---|---|
| IKE 版本 | IKEv1 / IKEv2 | 建议使用 IKEv2(更安全) |
| 预共享密钥 | H3C@VPN2024! | 两端必须一致 |
| 加密算法 | AES-256 | 高强度加密 |
| 认证算法 | SHA-256 | 数据完整性校验 |
| DH 组 | Group 14 (2048-bit) | 密钥交换强度 |
| SA 生存时间 | 86400 秒(24 小时) | 定期更新密钥 |
三、H3C1020 基础配置
3.1 初始化配置
# 进入系统视图
<H3C> system-view
# 修改设备名称
[H3C] sysname H3C1020-A
# 配置 WAN 接口(公网)
[H3C1020-A] interface GigabitEthernet 0/0
[H3C1020-A-GigabitEthernet0/0] ip address 1.1.1.1 255.255.255.0
[H3C1020-A-GigabitEthernet0/0] quit
# 配置 LAN 接口(内网)
[H3C1020-A] interface GigabitEthernet 0/1
[H3C1020-A-GigabitEthernet0/1] ip address 192.168.1.1 255.255.255.0
[H3C1020-A-GigabitEthernet0/1] quit
# 配置默认路由(指向互联网网关)
[H3C1020-A] ip route-static 0.0.0.0 0.0.0.0 1.1.1.254
# 配置内网路由
[H3C1020-A] ip route-static 192.168.2.0 255.255.255.0 Tunnel 0
3.2 配置安全区域
# 创建 Trust 区域(内网)
[H3C1020-A] firewall zone trust
[H3C1020-A-zone-trust] import interface GigabitEthernet 0/1
[H3C1020-A-zone-trust] quit
# 创建 Untrust 区域(外网)
[H3C1020-A] firewall zone untrust
[H3C1020-A-zone-untrust] import interface GigabitEthernet 0/0
[H3C1020-A-zone-untrust] quit
四、IPSec VPN 详细配置
4.1 配置 ACL 定义感兴趣流
ACL 用于定义哪些流量需要通过 IPSec 隧道加密:
# 总部配置(定义需要加密的流量)
[H3C1020-A] acl advanced 3000
[H3C1020-A-acl-ipv4-adv-3000] rule permit ip source 192.168.1.0 0.0.0.255 destination 192.168.2.0 0.0.0.255
[H3C1020-A-acl-ipv4-adv-3000] quit
# 分部配置
[H3C1020-B] acl advanced 3000
[H3C1020-B-acl-ipv4-adv-3000] rule permit ip source 192.168.2.0 0.0.0.255 destination 192.168.1.0 0.0.0.255
[H3C1020-B-acl-ipv4-adv-3000] quit
4.2 配置 IKE Proposal(IKE 提议)
# 创建 IKE 提议
[H3C1020-A] ike proposal 10
# 配置加密算法(AES-256)
[H3C1020-A-ike-proposal-10] encryption-algorithm aes-cbc-256
# 配置认证算法(SHA-256)
[H3C1020-A-ike-proposal-10] authentication-algorithm sha256
# 配置 DH 组(Group 14)
[H3C1020-A-ike-proposal-10] dh group14
# 配置 SA 生存时间(秒)
[H3C1020-A-ike-proposal-10] sa duration 86400
# 配置 IKE 版本
[H3C1020-A-ike-proposal-10] ike-version v2
[H3C1020-A-ike-proposal-10] quit
4.3 配置 IKE Peer(IKE 对等体)
# 创建 IKE 对等体
[H3C1020-A] ike peer H3C-PEER
# 配置预共享密钥
[H3C1020-A-ike-peer-H3C-PEER] pre-share-key cipher H3C@VPN2024!
# 引用 IKE 提议
[H3C1020-A-ike-peer-H3C-PEER] ike-proposal 10
# 配置对端公网 IP 地址
[H3C1020-A-ike-peer-H3C-PEER] remote-address 2.2.2.2
# 配置本端 ID 类型(可选)
[H3C1020-A-ike-peer-H3C-PEER] local-id-type ip
# 配置对端 ID 类型(可选)
[H3C1020-A-ike-peer-H3C-PEER] remote-id-type ip
[H3C1020-A-ike-peer-H3C-PEER] quit
4.4 配置 IPSec Proposal(IPSec 提议)
# 创建 IPSec 提议
[H3C1020-A] ipsec proposal TRANS-ESP
# 配置封装协议(ESP)
[H3C1020-A-ipsec-proposal-TRANS-ESP] encapsulation-mode tunnel
# 配置安全协议(ESP)
[H3C1020-A-ipsec-proposal-TRANS-ESP] protocol esp
# 配置 ESP 加密算法
[H3C1020-A-ipsec-proposal-TRANS-ESP] esp encryption-algorithm aes-256
# 配置 ESP 认证算法
[H3C1020-A-ipsec-proposal-TRANS-ESP] esp authentication-algorithm sha256
[H3C1020-A-ipsec-proposal-TRANS-ESP] quit
4.5 配置 IPSec Profile(IPSec 策略)
# 创建 IPSec 策略
[H3C1020-A] ipsec profile PROFILE-VPN
# 引用 IKE 对等体
[H3C1020-A-ipsec-profile-PROFILE-VPN] ike-peer H3C-PEER
# 引用 IPSec 提议
[H3C1020-A-ipsec-profile-PROFILE-VPN] proposal TRANS-ESP
# 引用 ACL(感兴趣流)
[H3C1020-A-ipsec-profile-PROFILE-VPN] security acl 3000
# 配置 PFS(完美前向保密,可选)
[H3C1020-A-ipsec-profile-PROFILE-VPN] pfs dh-group14
[H3C1020-A-ipsec-profile-PROFILE-VPN] quit
4.6 配置 Tunnel 接口
# 创建 Tunnel 接口
[H3C1020-A] interface Tunnel 0
# 配置 Tunnel 接口 IP 地址(用于 VPN 两端通信)
[H3C1020-A-Tunnel0] ip address 10.0.0.1 255.255.255.252
# 配置隧道源接口
[H3C1020-A-Tunnel0] source GigabitEthernet 0/0
# 配置隧道目的地址
[H3C1020-A-Tunnel0] destination 2.2.2.2
# 应用 IPSec 策略
[H3C1020-A-Tunnel0] ipsec apply profile PROFILE-VPN
# 配置 MTU(避免分片)
[H3C1020-A-Tunnel0] mtu 1400
[H3C1020-A-Tunnel0] quit
五、安全策略配置
5.1 配置域间安全策略
# 配置 Trust 到 Untrust 的策略(内网访问外网)
[H3C1020-A] security-policy ip
[H3C1020-A-security-policy-ip] rule name TRUST_TO_UNTRUST
[H3C1020-A-security-policy-ip-10-TRUST_TO_UNTRUST] source-zone trust
[H3C1020-A-security-policy-ip-10-TRUST_TO_UNTRUST] destination-zone untrust
[H3C1020-A-security-policy-ip-10-TRUST_TO_UNTRUST] source-ip-subnet 192.168.1.0 24
[H3C1020-A-security-policy-ip-10-TRUST_TO_UNTRUST] action pass
[H3C1020-A-security-policy-ip-10-TRUST_TO_UNTRUST] quit
# 配置 Untrust 到 Trust 的策略(允许 VPN 流量)
[H3C1020-A-security-policy-ip] rule name UNTRUST_TO_TRUST_VPN
[H3C1020-A-security-policy-ip-20-UNTRUST_TO_TRUST_VPN] source-zone untrust
[H3C1020-A-security-policy-ip-20-UNTRUST_TO_TRUST_VPN] destination-zone trust
[H3C1020-A-security-policy-ip-20-UNTRUST_TO_TRUST_VPN] source-ip-subnet 192.168.2.0 24
[H3C1020-A-security-policy-ip-20-UNTRUST_TO_TRUST_VPN] action pass
[H3C1020-A-security-policy-ip-20-UNTRUST_TO_TRUST_VPN] quit
# 配置 IKE 流量允许(UDP 500/4500)
[H3C1020-A-security-policy-ip] rule name ALLOW_IKE
[H3C1020-A-security-policy-ip-30-ALLOW_IKE] source-zone untrust
[H3C1020-A-security-policy-ip-30-ALLOW_IKE] destination-zone local
[H3C1020-A-security-policy-ip-30-ALLOW_IKE] service udp destination-port 500
[H3C1020-A-security-policy-ip-30-ALLOW_IKE] service udp destination-port 4500
[H3C1020-A-security-policy-ip-30-ALLOW_IKE] action pass
[H3C1020-A-security-policy-ip-30-ALLOW_IKE] quit
[H3C1020-A-security-policy-ip] quit
5.2 配置 NAT 豁免
确保 VPN 流量不被 NAT 转换:
# 创建 ACL 定义需要 NAT 豁免的流量
[H3C1020-A] acl advanced 3001
[H3C1020-A-acl-ipv4-adv-3001] rule deny ip source 192.168.1.0 0.0.0.255 destination 192.168.2.0 0.0.0.255
[H3C1020-A-acl-ipv4-adv-3001] quit
# 配置 NAT 策略
[H3C1020-A] nat policy
[H3C1020-A-nat-policy] rule name NAT_EXEMPT
[H3C1020-A-nat-policy-rule-NAT_EXEMPT] source-zone trust
[H3C1020-A-nat-policy-rule-NAT_EXEMPT] destination-zone untrust
[H3C1020-A-nat-policy-rule-NAT_EXEMPT] source-ip-subnet 192.168.1.0 24
[H3C1020-A-nat-policy-rule-NAT_EXEMPT] action no-nat
[H3C1020-A-nat-policy-rule-NAT_EXEMPT] quit
# 配置普通 NAT(其他流量)
[H3C1020-A-nat-policy] rule name NAT_OUTBOUND
[H3C1020-A-nat-policy-rule-NAT_OUTBOUND] source-zone trust
[H3C1020-A-nat-policy-rule-NAT_OUTBOUND] destination-zone untrust
[H3C1020-A-nat-policy-rule-NAT_OUTBOUND] source-ip-subnet 192.168.1.0 24
[H3C1020-A-nat-policy-rule-NAT_OUTBOUND] action source-nat easy-ip
[H3C1020-A-nat-policy-rule-NAT_OUTBOUND] quit
[H3C1020-A-nat-policy] quit
六、分部防火墙配置
分部 H3C1020-B 的配置与总部类似,主要区别在于 IP 地址和对端地址:
# 基础配置
<H3C> system-view
[H3C] sysname H3C1020-B
# WAN 接口
[H3C1020-B] interface GigabitEthernet 0/0
[H3C1020-B-GigabitEthernet0/0] ip address 2.2.2.2 255.255.255.0
[H3C1020-B-GigabitEthernet0/0] quit
# LAN 接口
[H3C1020-B] interface GigabitEthernet 0/1
[H3C1020-B-GigabitEthernet0/1] ip address 192.168.2.1 255.255.255.0
[H3C1020-B-GigabitEthernet0/1] quit
# 默认路由
[H3C1020-B] ip route-static 0.0.0.0 0.0.0.0 2.2.2.254
[H3C1020-B] ip route-static 192.168.1.0 255.255.255.0 Tunnel 0
# ACL(感兴趣流 - 方向相反)
[H3C1020-B] acl advanced 3000
[H3C1020-B-acl-ipv4-adv-3000] rule permit ip source 192.168.2.0 0.0.0.255 destination 192.168.1.0 0.0.0.255
[H3C1020-B-acl-ipv4-adv-3000] quit
# IKE Peer(对端地址改为总部)
[H3C1020-B] ike peer H3C-PEER
[H3C1020-B-ike-peer-H3C-PEER] pre-share-key cipher H3C@VPN2024!
[H3C1020-B-ike-peer-H3C-PEER] ike-proposal 10
[H3C1020-B-ike-peer-H3C-PEER] remote-address 1.1.1.1
[H3C1020-B-ike-peer-H3C-PEER] quit
# Tunnel 接口
[H3C1020-B] interface Tunnel 0
[H3C1020-B-Tunnel0] ip address 10.0.0.2 255.255.255.252
[H3C1020-B-Tunnel0] source GigabitEthernet 0/0
[H3C1020-B-Tunnel0] destination 1.1.1.1
[H3C1020-B-Tunnel0] ipsec apply profile PROFILE-VPN
[H3C1020-B-Tunnel0] mtu 1400
[H3C1020-B-Tunnel0] quit
七、验证与测试
7.1 查看 IKE SA 状态
# 查看 IKE SA 建立情况
[H3C1020-A] display ike sa
# 输出示例:
# Connection-ID Remote Flag DOI
# ---------------------------------------------------------------
# 1 2.2.2.2 RD IPSEC
#
# Flag meaning
# ---------------------------------------------------------------
# RD - READY | RL - REPLACED | FD - FADING | TO - TIMEOUT
7.2 查看 IPSec SA 状态
# 查看 IPSec SA 状态
[H3C1020-A] display ipsec sa
# 查看简要信息
[H3C1020-A] display ipsec sa brief
# 输出示例:
# Total IPSec SAs: 2
# Index Peer Status Proposal Tunnel
# ---------------------------------------------------------------
# 1 2.2.2.2 UP TRANS-ESP Tunnel0
# 2 2.2.2.2 UP TRANS-ESP Tunnel0
7.3 查看 Tunnel 接口状态
# 查看 Tunnel 接口
[H3C1020-A] display interface Tunnel 0
# 输出示例:
# Tunnel0 current state: UP
# Line protocol current state: UP
# Description: Tunnel0 Interface
# Route Port,The Maximum Transmit Unit is 1400
# Internet Address is 10.0.0.1/30
# Encapsulation is TUNNEL
7.4 连通性测试
# 从总部 ping 分部内网
[H3C1020-A] ping -a 192.168.1.1 192.168.2.1
# 输出示例:
# Ping 192.168.2.1 (192.168.2.1) from 192.168.1.1: 56 data bytes
# 56 bytes from 192.168.2.1: icmp_seq=0 ttl=255 time=15 ms
# 56 bytes from 192.168.2.1: icmp_seq=1 ttl=255 time=12 ms
# 56 bytes from 192.168.2.1: icmp_seq=2 ttl=255 time=13 ms
# 从分部 ping 总部内网
[H3C1020-B] ping -a 192.168.2.1 192.168.1.1
7.5 查看流量统计
# 查看 IPSec 流量统计
[H3C1020-A] display ipsec statistics
# 查看 IKE 统计信息
[H3C1020-A] display ike statistics
# 清除统计信息(重新计数)
[H3C1020-A] reset ipsec statistics
[H3C1020-A] reset ike statistics
八、故障排查
8.1 VPN 无法建立
问题 1:IKE SA 无法建立
# 检查步骤:
# 1. 检查网络连通性
[H3C1020-A] ping 2.2.2.2
# 2. 检查 IKE 配置是否一致
[H3C1020-A] display ike proposal
[H3C1020-B] display ike proposal
# 3. 检查预共享密钥是否一致
[H3C1020-A] display ike peer
[H3C1020-B] display ike peer
# 4. 检查安全策略是否允许 IKE 流量
[H3C1020-A] display security-policy ip rule
# 5. 开启 IKE 调试信息
[H3C1020-A] debugging ike all
[H3C1020-A] terminal monitor
[H3C1020-A] terminal debugging
问题 2:IPSec SA 无法建立
# 检查步骤:
# 1. 检查 IKE SA 是否已建立
[H3C1020-A] display ike sa
# 2. 检查 ACL 配置是否匹配
[H3C1020-A] display acl 3000
[H3C1020-B] display acl 3000
# 3. 检查 IPSec 提议是否一致
[H3C1020-A] display ipsec proposal
[H3C1020-B] display ipsec proposal
# 4. 检查 Tunnel 接口配置
[H3C1020-A] display interface Tunnel 0
# 5. 开启 IPSec 调试
[H3C1020-A] debugging ipsec all
8.2 流量无法通过 VPN
# 检查步骤:
# 1. 检查路由配置
[H3C1020-A] display ip routing-table
# 2. 检查安全策略
[H3C1020-A] display security-policy ip rule
# 3. 检查 NAT 豁免配置
[H3C1020-A] display nat policy
# 4. 检查 IPSec SA 流量统计(是否有加密/解密数据包)
[H3C1020-A] display ipsec statistics
# 5. 检查 ACL 是否匹配流量
[H3C1020-A] display acl 3000
8.3 VPN 连接不稳定
# 检查步骤:
# 1. 检查 SA 生存时间
[H3C1020-A] display ike proposal
[H3C1020-A] display ipsec proposal
# 2. 检查网络质量(延迟、丢包)
[H3C1020-A] ping -c 100 2.2.2.2
# 3. 检查 DPD(Dead Peer Detection)配置
[H3C1020-A] display ike peer
# 4. 查看日志信息
[H3C1020-A] display logbuffer
[H3C1020-A] display ike error-log
8.4 常用调试命令
# 开启调试
[H3C1020-A] debugging ike all
[H3C1020-A] debugging ipsec all
[H3C1020-A] terminal monitor
[H3C1020-A] terminal debugging
# 查看调试信息
[H3C1020-A] display debugging
# 关闭调试(重要!避免影响性能)
[H3C1020-A] undo debugging all
九、高级配置
9.1 配置 DPD(对等体存活检测)
# 在 IKE Peer 中配置 DPD
[H3C1020-A] ike peer H3C-PEER
[H3C1020-A-ike-peer-H3C-PEER] dpd interval 10 retry 5
[H3C1020-A-ike-peer-H3C-PEER] quit
# 参数说明:
# interval 10 - 每 10 秒发送一次 DPD 检测
# retry 5 - 连续 5 次无响应则认为对端失效
9.2 配置双机热备(HA)
# 主设备配置
[H3C1020-A] interface GigabitEthernet 0/2
[H3C1020-A-GigabitEthernet0/2] ip address 192.168.100.1 255.255.255.0
[H3C1020-A-GigabitEthernet0/2] quit
# 配置 VRRP
[H3C1020-A] interface GigabitEthernet 0/0
[H3C1020-A-GigabitEthernet0/0] vrrp vrid 1 virtual-ip 1.1.1.100
[H3C1020-A-GigabitEthernet0/0] vrrp vrid 1 priority 120
[H3C1020-A-GigabitEthernet0/0] quit
# 配置 IPSec SA 同步
[H3C1020-A] ike sa sync enable
[H3C1020-A] ipsec sa sync enable
9.3 配置多分支 VPN(Hub-Spoke)
# 总部配置多个 IKE Peer
# 分部分部 1
[H3C1020-A] ike peer BRANCH1
[H3C1020-A-ike-peer-BRANCH1] pre-share-key cipher Branch1@2024!
[H3C1020-A-ike-peer-BRANCH1] remote-address 3.3.3.3
[H3C1020-A-ike-peer-BRANCH1] quit
# 分部分部 2
[H3C1020-A] ike peer BRANCH2
[H3C1020-A-ike-peer-BRANCH2] pre-share-key cipher Branch2@2024!
[H3C1020-A-ike-peer-BRANCH2] remote-address 4.4.4.4
[H3C1020-A-ike-peer-BRANCH2] quit
# 配置多个 Tunnel 接口
[H3C1020-A] interface Tunnel 1
[H3C1020-A-Tunnel1] ipsec apply profile PROFILE-BRANCH1
[H3C1020-A] interface Tunnel 2
[H3C1020-A-Tunnel2] ipsec apply profile PROFILE-BRANCH2
十、安全加固建议
10.1 使用强加密算法
| 算法类型 | 推荐配置 | 避免使用 |
|---|---|---|
| 加密算法 | AES-256 / AES-128 | DES / 3DES |
| 认证算法 | SHA-256 / SHA-384 | MD5 / SHA-1 |
| DH 组 | Group 14 / Group 19 | Group 1 / Group 2 |
10.2 预共享密钥管理
# 密钥复杂度要求:
# - 至少 16 个字符
# - 包含大小写字母、数字、特殊字符
# - 定期更换(建议 90 天)
# - 不同站点使用不同密钥
# 示例强密钥:
# H3C@VPN2024!Secure#Key
# Branch1$Ipsec&VPN*2024
10.3 日志和监控
# 配置日志服务器
[H3C1020-A] info-center loghost 192.168.1.100
# 配置 SNMP 监控
[H3C1020-A] snmp-agent
[H3C1020-A] snmp-agent community read cipher Public@2024
[H3C1020-A] snmp-agent target-host trap address udp-domain 192.168.1.100 params securityname cipher Public@2024
# 启用 IPSec 日志
[H3C1020-A] info-center source IPSEC channel 0 log level informational
总结
本文详细介绍了 H3C1020 防火墙 IPSec VPN 的完整配置流程:
- 基础概念:IPSec、IKE、SA 等核心组件
- 拓扑规划:网络地址、VPN 参数规划
- 基础配置:接口、路由、安全区域
- IPSec 配置:ACL、IKE、IPSec 提议和策略
- 安全策略:域间策略、NAT 豁免
- 验证测试:SA 状态、连通性测试
- 故障排查:常见问题和调试方法
- 高级配置:DPD、HA、多分支
- 安全加固:加密算法、密钥管理、日志监控
通过本文的配置,您可以实现:
- ✅ 安全的企业站点互联
- ✅ 数据传输加密保护
- ✅ 自动密钥协商和更新
- ✅ 完善的故障检测和恢复
在实际部署中,建议先在测试环境验证配置,确认无误后再应用到生产环境。如有问题,欢迎留言讨论!🚀
附:完整配置脚本下载
总部和分部的完整配置文件已整理好,可在评论区留言获取。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。






