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

相关推荐
Gold Steps.6 小时前
常见的Linux发行版升级openSSH10.+
linux·运维·服务器·安全·ssh
啊吧怪不啊吧6 小时前
SQL之表的查改(上)
服务器·数据库·sql
wwlsm_zql6 小时前
华为科大讯飞携手,低成本AI革新教育农业应用
人工智能·华为
TomcatLikeYou6 小时前
blender4.5 使用外部IDE(pycharm)编辑脚本(bpy)实践指南
服务器·pycharm·php·blender
我爱钱因此会努力6 小时前
ansible实战- 关机
linux·运维·服务器·centos·自动化·ansible
路由侠内网穿透.6 小时前
本地部署集成全能平台 Team.IDE 并实现外部访问
运维·服务器·数据库·ide·远程工作
LgZhu(Yanker)8 小时前
R/3 销售与分销
大数据·网络·数据库·sap·erp·销售
爱笑的眼睛1110 小时前
深入探讨HarmonyOS ArkTS中的日期时间处理技巧
华为·harmonyos
Python私教13 小时前
C 语言运算符全景:从入门到进阶
c语言·开发语言·网络