跨厂商(华为 & 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 是否建立成功。

相关推荐
奇树谦10 分钟前
FastDDS路由可达的跨网段通信支持说明
网络
咕噜企业分发小米23 分钟前
直播云服务器安全防护有哪些最新的技术趋势?
运维·服务器·安全
空城雀28 分钟前
python精通连续剧第一集:简单计算器
服务器·前端·python
秋风未动蝉已先觉31 分钟前
CentOs服务器 systemctl执行权限授权给普通权限work用户
linux·服务器
程序员zgh35 分钟前
Linux 系统调用
linux·运维·服务器·c语言·c++·系统安全
DX_水位流量监测1 小时前
无人机测流之雷达流速仪监测技术分析
大数据·网络·人工智能·数据分析·自动化·无人机
P-ShineBeam1 小时前
八卡A100服务器坏卡引发 CUDA initialization: cudaGetDeviceCount()异常
运维·服务器·人工智能·语言模型
小雨青年1 小时前
鸿蒙 HarmonyOS 6 | ArkUI (07):导航架构 Navigation 组件 (V2) 与路由栈管理最佳实践
华为·架构·harmonyos
Xの哲學1 小时前
Linux io_uring 深度剖析: 重新定义高性能I/O的架构革命
linux·服务器·网络·算法·边缘计算
cn_mengbei1 小时前
鸿蒙PC开发避坑指南:ArkTS原生应用构建全解析与DevEco Studio配置实战
华为·harmonyos