跨厂商(华为 & H3C)防火墙 IPSec 隧道部署

实验介绍

组网需求

企业总部与分部分别以华为防火墙(eNSP USG6000V)、H3C 防火墙(HCL F1090)作为网关接入 Internet,现需在二者间搭建 IPSec 隧道,以实现 192.168.10.0/24(总部内网)与 192.168.20.0/24(分部内网)的安全互通。

组网拓扑

数据规划

配置项 华为防火墙 H3C 防火墙
IKE SA 协商模式 主模式 主模式
加密算法 3des 3des
认证算法 sha1 sha1
预共享密钥 Grbj@2018 Grbj@2018
身份类型 对端地址 对端地址
IKE 版本 V1 V1
DH Group2 Group2
IPSec SA 封装模式 隧道模式 隧道模式
安全协议 ESP ESP
加密算法 3des 3des
认证算法 sha1 sha1

配置思路

配置 Internet 路由器

① 仅需配置接口的 IP 地址,模拟 Internet 两端互联。

配置 H3C 防火墙

① 配置接口的 IP 地址,并将接口加入安全区域;

② 配置域间安全策略,允许 IKE 协商报文、IPSec 封装前和解封装后的原始报文能通过华为防火墙;

③ 配置 H3C 防火墙连接到 Internet 的缺省路由;

④ 配置 IPSec 策略,包括定义需要保护的数据流、配置 IKE 安全提议、配置 keychain、配置 profile、配置 IPSec 安全提议;

⑥ 在接口上应用 IPSec 策略。

配置华为防火墙

① 配置接口 IP 地址,并将接口加入安全区域;

② 配置域间安全策略,允许 IKE 协商报文、IPSec 封装前和解封装后的原始报文能通过华为防火墙;

③ 配置华为防火墙到 Internet 的缺省路由;

④ 配置 IPSec 策略,包括定义需要保护的数据流、配置 IPSec 安全提议、创建 IKE 安全提议、配置 IKE 对等体;

⑥ 在接口上应用 IPSec 策略。

实验步骤

应用部署

在 Hi168 云平台部署 eNSP + HCL 应用,打开 eNSP + HCL 应用,完成拓扑图搭建。

具体操作参考下方文章。

Hi168 云平台 eNSP + HCL 自助使用手册

eNSP 中拓扑绘制

打开 eNSP 应用,在工作区拖入一台 USG6000V 防火墙、一台 AR 路由器(模拟 Internet)、一台 PC 终端设备以及一个 Cloud 云组件,搭建基础网络拓扑环境。

在 Cloud1 组件中配置两个接口:一个勾选"开放 UDP 端口",配置监听端口:30000,对端 IP:127.0.0.1 对端端口:50000,另一个不勾选"开放 UDP 端口,并建立这两个接口间的双向映射关系。完成后,将 Cloud1 的 GE 0/0/1 接口与 "模拟 Internet" 的 G0/0/0 接口相连,以此替代 H3C F1091 防火墙 G1/0/1 接口的连线;其余设备则按照组网拓扑的既定规划正常完成连接即可。

HCL 中拓扑绘制

打开 HCL 应用,在工作区拖入一台 F1090 防火墙、一台 PC 终端设备以及一个 Cloud 云组件。

在 Cloud 组件中配置 UDP 隧道(隧道名称可自定义),具体设置为:本地端口 50000,远端主机 127.0.0.1,远端端口 3000。配置完成后,将 Cloud 的 UDP_Tunnel_1 接口与 F1090 防火墙的 G1/0/1 接口相连,以此替代 F1090 原与 "模拟 Internet" 设备的互联链路;其余设备则按组网拓扑的既定规划正常完成连接即可。

配置模拟 Internet

配置 G0/0/0 接口。

bash 复制代码
[Internet]interface GigabitEthernet 0/0/0
[Internet-GigabitEthernet0/0/0]ip address 100.64.20.2 24
[Internet-GigabitEthernet0/0/0]quit

配置 G0/0/1 接口。

bash 复制代码
[Internet]interface GigabitEthernet 0/0/1	
[Internet-GigabitEthernet0/0/1]ip address 100.64.10.2 24
[Internet-GigabitEthernet0/0/1]quit

查看接口的 IP 配置。

bash 复制代码
[Internet]display ip interface brief

配置 F1090 防火墙

配置接口,并将接口加入安全区域

配置 G1/0/1 接口,并将接口加入 Untrust 安全区域。

bash 复制代码
[H3C]interface GigabitEthernet 1/0/1
[H3C-GigabitEthernet1/0/1]port link-mode route 
[H3C-GigabitEthernet1/0/1]ip address 100.64.20.1 24
[H3C-GigabitEthernet1/0/1]quit 
[H3C]security-zone name Untrust 
[H3C-security-zone-Untrust]import interface GigabitEthernet 1/0/1
[H3C-security-zone-Untrust]quit 

配置 G1/0/2 接口,并将接口加入 Trust 安全区域。

bash 复制代码
[H3C]interface GigabitEthernet 1/0/2
[H3C-GigabitEthernet1/0/2]ip address 192.168.20.1 24
[H3C-GigabitEthernet1/0/2]quit 
[H3C]security-zone name Trust 
[H3C-security-zone-Trust]import interface GigabitEthernet 1/0/2
[H3C-security-zone-Trust]quit 

查看接口的 IP 配置。

bash 复制代码
[H3C]display ip interface brief

查看安全区域配置。

bash 复制代码
[H3C]display security-zone
配置安全策略

配置 trust1 和 untrust1 两个对象组。

bash 复制代码
[H3C]object-group ip address trust1
[H3C-obj-grp-ip-trust1]network subnet 192.168.20.0 24
[H3C-obj-grp-ip-trust1]quit
[H3C]object-group ip address untrust1
[H3C-obj-grp-ip-untrust1]network subnet 192.168.10.0 24
[H3C-obj-grp-ip-untrust1]quit

查看对象组。

bash 复制代码
[H3C]dis object-group

配置对象策略。

bash 复制代码
[H3C]object-policy ip trust-untrust
[H3C-object-policy-ip-trust-untrust]rule pass source-ip trust1 destination-ip untrust1
[H3C-object-policy-ip-trust-untrust]quit
[H3C]object-policy ip untrust-trust
[H3C-object-policy-ip-untrust-trust]rule pass source-ip untrust1 destination-ip trust1
[H3C-object-policy-ip-untrust-trust]quit

查看对象策略。

bash 复制代码
[H3C]display object-policy ip

配置 untrust 和 trust 之间的安全策略,保证总部网络和分部网络能够互通。

bash 复制代码
[H3C]zone-pair security source trust destination untrust 
[H3C-zone-pair-security-Trust-Untrust]object-policy apply ip trust-untrust 
[H3C-zone-pair-security-Trust-Untrust]quit 
[H3C]zone-pair security source untrust destination trust 
[H3C-zone-pair-security-Untrust-Trust]object-policy apply ip untrust-trust 
[H3C-zone-pair-security-Untrust-Trust]quit

查看 untrust 和 trust 之间的安全策略。

bash 复制代码
[H3C]display object-policy zone-pair security

配置 ACL,用于 local 与 untrust 间的安全策略。

bash 复制代码
[H3C]acl advanced 3999 
[H3C-acl-ipv4-adv-3999]rule 0 permit ip 
[H3C-acl-ipv4-adv-3999]quit

配置 local 与 untrust 之间的安全策略。

bash 复制代码
[H3C]zone-pair security source untrust destination local 
[H3C-zone-pair-security-Untrust-Local]packet-filter 3999 
[H3C-zone-pair-security-Untrust-Local]quit 
[H3C]zone-pair security source local destination untrust 
[H3C-zone-pair-security-Local-Untrust]packet-filter 3999 
[H3C-zone-pair-security-Local-Untrust]quit

查看 local 与 untrust 之间的安全策略。

bash 复制代码
[H3C]display packet-filter zone-pair security
配置路由

配置连接到 Internet 的缺省路由,下一跳为 100.64.20.2。

bash 复制代码
[H3C]ip route-static 0.0.0.0 0 100.64.20.2
配置 ACL,定义被保护的流量

源地址为 192.168.20.0/24,目的地址为 192.168.10.0/24 的报文,需要经过 IPSec 隧道传输。定义的流量要与华为防火墙中定义的流量互为镜像,否则协商失败。

bash 复制代码
[H3C]acl advanced 3000                     
[H3C-acl-ipv4-adv-3000]rule permit ip source 192.168.20.0 0.0.0.255 destination 192.168.10.0 0.0.0.255 
[H3C-acl-ipv4-adv-3000]quit

查看 ACL 配置。

bash 复制代码
[H3C]display acl all
配置 IKE 安全提议、keychain、profile

配置 IKE 安全提议,指定加密算法、认证算法、DH、认证方法,取值要与华为防火墙的配置值严格一致。配置认证算法时,设置为 sha,H3C 防火墙中 sha 也就是 sha1。

bash 复制代码
[H3C]ike proposal 1 
[H3C-ike-proposal-1]encryption-algorithm 3des 
[H3C-ike-proposal-1]authentication-method pre-share 
[H3C-ike-proposal-1]authentication-algorithm sha 
[H3C-ike-proposal-1]dh group2 
[H3C-ike-proposal-1]quit

配置 keychain。

bash 复制代码
[H3C]ike keychain keychain1 
[H3C-ike-keychain-keychain1]pre-shared-key address 100.64.10.1 255.255.255.0 key simple Grbj@2018 
[H3C-ike-keychain-keychain1]quit

配置 profile。

bash 复制代码
[H3C]ike profile profile1 
[H3C-ike-profile-profile1]keychain keychain1 
[H3C-ike-profile-profile1]proposal 1 
[H3C-ike-profile-profile1]exchange-mode main 
[H3C-ike-profile-profile1]local-identity address 100.64.20.1 
[H3C-ike-profile-profile1]match remote identity address 100.64.10.1 255.255.255.0 
[H3C-ike-profile-profile1]match local address GigabitEthernet1/0/1 
[H3C-ike-profile-profile1]quit
配置 IPSec

配置 IPSec 安全提议,指定封装模式、安全协议,加密算法、认证算法,取值要与华为防火墙的配置值严格一致。

bash 复制代码
[H3C]ipsec transform-set tran1 
[H3C-ipsec-transform-set-tran1]encapsulation-mode tunnel 
[H3C-ipsec-transform-set-tran1]protocol esp 
[H3C-ipsec-transform-set-tran1]esp encryption-algorithm 3des 
[H3C-ipsec-transform-set-tran1]esp authentication-algorithm sha1 
[H3C-ipsec-transform-set-tran1]quit

配置 IPSec 策略。

bash 复制代码
[H3C]ipsec policy map1 1 isakmp 
[H3C-ipsec-policy-isakmp-map1-1]re
[H3C-ipsec-policy-isakmp-map1-1]remo
[H3C-ipsec-policy-isakmp-map1-1]remote-address 100.64.10.1
[H3C-ipsec-policy-isakmp-map1-1]se
[H3C-ipsec-policy-isakmp-map1-1]security a
[H3C-ipsec-policy-isakmp-map1-1]security acl 3000
[H3C-ipsec-policy-isakmp-map1-1]tr
[H3C-ipsec-policy-isakmp-map1-1]tran
[H3C-ipsec-policy-isakmp-map1-1]transform-set tr
[H3C-ipsec-policy-isakmp-map1-1]transform-set tran1
[H3C-ipsec-policy-isakmp-map1-1]ik
[H3C-ipsec-policy-isakmp-map1-1]ike-p
[H3C-ipsec-policy-isakmp-map1-1]ike-profile pro
[H3C-ipsec-policy-isakmp-map1-1]ike-profile profile1
[H3C-ipsec-policy-isakmp-map1-1]qui
[H3C-ipsec-policy-isakmp-map1-1]quit

在接口上应用 IPSec 策略。

bash 复制代码
[H3C]interface GigabitEthernet 1/0/1
[H3C-GigabitEthernet1/0/1]ipsec apply policy map1
[H3C-GigabitEthernet1/0/1]quit

配置 USG6000V 防火墙

配置接口,并将接口加入安全区域

配置口 GE1/0/0 接口,并将接口加入 untrust 安全区域。

bash 复制代码
[USG6000V1]interface GigabitEthernet 1/0/0
[USG6000V1-GigabitEthernet1/0/0]ip address 100.64.10.1 24
[USG6000V1-GigabitEthernet1/0/0]quit 
[USG6000V1]firewall zone untrust 
[USG6000V1-zone-untrust]add interface GigabitEthernet 1/0/0
[USG6000V1-zone-untrust]quit 

配置 GE1/0/1 接口,并将接口加入 trust 安全区域。

bash 复制代码
[USG6000V1]interface GigabitEthernet 1/0/1	
[USG6000V1-GigabitEthernet1/0/1]ip address 192.168.10.1 24
[USG6000V1-GigabitEthernet1/0/1]quit 
[USG6000V1]firewall zone trust 
[USG6000V1-zone-trust]add interface GigabitEthernet 1/0/1
[USG6000V1-zone-trust]quit

查看接口的IP配置。

bash 复制代码
[USG6000V1]display ip interface brief

查看安全区域配置。

bash 复制代码
[USG6000V1]display zone
配置安全策略

配置 untrust 和 trust 之间的安全策略。配置策略1,保证分部能够访问总部;配置策略2,保证总部能够访问分部。

bash 复制代码
[USG6000V1]security-policy 
[USG6000V1-policy-security]rule name 1 
[USG6000V1-policy-security-rule-1]source-zone untrust 
[USG6000V1-policy-security-rule-1]destination-zone trust 
[USG6000V1-policy-security-rule-1]action permit 
[USG6000V1-policy-security-rule-1]quit 
[USG6000V1-policy-security]rule name 2 
[USG6000V1-policy-security-rule-2]source-zone trust 
[USG6000V1-policy-security-rule-2]destination-zone untrust 
[USG6000V1-policy-security-rule-2]action permit 
[USG6000V1-policy-security-rule-2]quit

配置 local 与 untrust 之间的安全策略。配置策略3,保证华为防火墙能够发起 IPSec 隧道建立请求;配置策略4,保证华为防火墙能够接收 IPSec 隧道建立请求。

bash 复制代码
[USG6000V1-policy-security]rule name 3 
[USG6000V1-policy-security-rule-3]source-zone local 
[USG6000V1-policy-security-rule-3]destination-zone untrust 
[USG6000V1-policy-security-rule-3]action permit 
[USG6000V1-policy-security-rule-3]quit 
[USG6000V1-policy-security]rule name 4 
[USG6000V1-policy-security-rule-4]source-zone untrust 
[USG6000V1-policy-security-rule-4]destination-zone local 
[USG6000V1-policy-security-rule-4]action permit 
[USG6000V1-policy-security-rule-4]quit
配置路由

配置连接到 Internet 的缺省路由,下一跳为 100.64.10.2。

bash 复制代码
[USG6000V1]ip route-static 0.0.0.0 0 100.64.10.2
配置 ACL,定义被保护的流量

源地址为 192.168.10.0/24,目的地址为 192.168.20.0/24 的报文,需要经过 IPSec 隧道传输。

bash 复制代码
[USG6000V1]acl 3000 
[USG6000V1-acl-adv-3000]rule permit ip source 192.168.10.0 0.0.0.255 destination 192.168.20.0 0.0.0.255 
[USG6000V1-acl-adv-3000]quit
配置 IKE SA

配置IKE安全提议,指定加密算法、认证算法、DH。此举例中采用IKEv1,不需要配置完整性算法。

bash 复制代码
[USG6000V1]ike proposal 1 
[USG6000V1-ike-proposal-1]encryption-algorithm 3des 
[USG6000V1-ike-proposal-1]authentication-algorithm sha1 
[USG6000V1-ike-proposal-1]dh group2 
[USG6000V1-ike-proposal-1]quit

配置IKE对等体,指定协商模式、IKE版本、预共享密钥,对端IP地址。

bash 复制代码
[USG6000V1]ike peer h3c 
[USG6000V1-ike-peer-h3c]exchange-mode main 
[USG6000V1-ike-peer-h3c]undo version 2 
[USG6000V1-ike-peer-h3c]ike-proposal 1 
[USG6000V1-ike-peer-h3c]pre-shared-key Grbj@2018 
[USG6000V1-ike-peer-h3c]remote-address 100.64.20.1
[USG6000V1-ike-peer-h3c]quit
配置 IPsec

配置 IPSec 安全提议,指定封装模式、安全协议,加密算法、认证算法。

bash 复制代码
[USG6000V1]ipsec proposal tran1 
[USG6000V1-ipsec-proposal-tran1]transform esp 
[USG6000V1-ipsec-proposal-tran1]encapsulation-mode tunnel 
[USG6000V1-ipsec-proposal-tran1]esp encryption-algorithm 3des 
[USG6000V1-ipsec-proposal-tran1]esp authentication-algorithm sha1 
[USG6000V1-ipsec-proposal-tran1]quit

配置 IPSec 策略,绑定 IKE 对等体、IPSec 安全提议、ACL。

bash 复制代码
[USG6000V1]ipsec policy map1 1 isakmp 
[USG6000V1-ipsec-policy-isakmp-map1-1]ike-peer h3c 
[USG6000V1-ipsec-policy-isakmp-map1-1]proposal tran1 
[USG6000V1-ipsec-policy-isakmp-map1-1]security acl 3000 
[USG6000V1-ipsec-policy-isakmp-map1-1]quit

在接口上应用 IPSec 策略。

bash 复制代码
[USG6000V1]interface GigabitEthernet 1/0/0
[USG6000V1-GigabitEthernet1/0/0]ipsec policy map1 
[USG6000V1-GigabitEthernet1/0/0]quit

配置 PC

配置总部的PC(eNSP中)。

配置分部的PC(HCL中)。

结果验证

在 PC1 中 ping 分部中的 PC2。

在华为和 H3C 中执行 display ike sa 命令,查看 IKE SA 是否建立成功。

在华为和 H3C 中,执行 display ipsec sa 命令,查看 IPSec SA 是否建立成功。

相关推荐
Sinclair3 天前
简单几步,安卓手机秒变服务器,安装 CMS 程序
android·服务器
Rockbean4 天前
用40行代码搭建自己的无服务器OCR
服务器·python·deepseek
茶杯梦轩4 天前
CompletableFuture 在 项目实战 中 创建异步任务 的核心优势及使用场景
服务器·后端·面试
海天鹰4 天前
【免费】PHP主机=域名+解析+主机
服务器
DianSan_ERP4 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
呉師傅4 天前
火狐浏览器报错配置文件缺失如何解决#操作技巧#
运维·网络·windows·电脑
不是二师兄的八戒4 天前
Linux服务器挂载OSS存储的完整实践指南
linux·运维·服务器
芝士雪豹只抽瑞克五4 天前
Nginx 高性能Web服务器笔记
服务器·nginx
王码码20354 天前
Flutter for OpenHarmony:socket_io_client 实时通信的事实标准(Node.js 后端的最佳拍档) 深度解析与鸿蒙适配指南
android·flutter·ui·华为·node.js·harmonyos
失重外太空啦4 天前
Tomcat
java·服务器·tomcat