实验介绍
组网需求
企业总部与分部分别以华为防火墙(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 应用,完成拓扑图搭建。

具体操作参考下方文章。
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 是否建立成功。

