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 的完整配置流程:

  1. 基础概念:IPSec、IKE、SA 等核心组件
  2. 拓扑规划:网络地址、VPN 参数规划
  3. 基础配置:接口、路由、安全区域
  4. IPSec 配置:ACL、IKE、IPSec 提议和策略
  5. 安全策略:域间策略、NAT 豁免
  6. 验证测试:SA 状态、连通性测试
  7. 故障排查:常见问题和调试方法
  8. 高级配置:DPD、HA、多分支
  9. 安全加固:加密算法、密钥管理、日志监控

通过本文的配置,您可以实现:

  • ✅ 安全的企业站点互联
  • ✅ 数据传输加密保护
  • ✅ 自动密钥协商和更新
  • ✅ 完善的故障检测和恢复

在实际部署中,建议先在测试环境验证配置,确认无误后再应用到生产环境。如有问题,欢迎留言讨论!🚀


附:完整配置脚本下载

总部和分部的完整配置文件已整理好,可在评论区留言获取。

发表回复

后才能评论