H3C 单点公网IPsec配置实验 [ IPsec Nat穿越 ]

239 阅读4分钟

网络架构与IPsec VPN部署方案

为实现总部与分支网络通过运营商多层NAT环境安全互联,现部署IPsec VPN隧道,具体网络架构与接口地址规划如下:

image.png

一、设备接口与地址分配

设备接口IP 地址所属网段备注
PCAGE_0/1192.168.0.1192.168.0.0/24总部终端
R1GE_0/0192.168.0.254192.168.0.0/24连接PC
R1GE_0/112.1.1.112.1.1.0/24连接公网
R2GE_0/112.1.1.212.1.1.0/24连接R1
R2GE_0/223.1.1.223.1.1.0/24连接运营商网络
R3GE_0/223.1.1.323.1.1.0/24接入多层NAT区域
R3GE_0/010.10.10.110.10.10.0/24连接分支公网段
R4GE_0/010.10.10.210.10.10.0/24连接R3
R4GE_0/1192.168.1.254192.168.1.0/24连接PCB
PCBGE_0/1192.168.1.1192.168.1.0/24分支终端

若所经防火墙需放行端口号 isakmp(IKE协商)UDP500、NAT穿越端口UDP4500ESP(50) 、AH(51)

二、IPsec VPN实现目标

通过在总部(含R1、R2及网段 192.168.0.0/24)与分支(含R4及网段 192.168.1.0/24)间建立IPsec隧道,穿越由R3及多层NAT构成的运营商公网环境,实现两私有网络安全互通。本方案可有效保障数据传输的机密性、完整性及业务私密性。

三、设备配置

R1配置

# 配置接口IP地址
# 连接内网的接口,作为总部192.168.0.0/24网段的网关
interface GigabitEthernet0/0
 ip address 192.168.0.254 255.255.255.0

# 连接公网的接口,用于接入运营商网络
interface GigabitEthernet0/1
 ip address 12.1.1.1 255.255.255.0
 # 应用出方向NAT,使用ACL 3000规则判断哪些流量需要做地址转换
 nat outbound 3000

# 配置默认路由,指定下一跳为运营商侧路由器(R2)的接口地址
ip route-static 0.0.0.0 0 12.1.1.2
 
# 配置高级ACL 3000,用于NAT策略
acl advanced 3000
 # 规则0:禁止对去往分支192.168.1.0/24网段的流量进行NAT转换(保障IPsec流量以原始IP传输)
 rule 0 deny ip source 192.168.0.0 0.0.0.255 destination 192.168.1.0 0.0.0.255
 # 规则5:允许其他所有IPv4流量进行NAT转换
 rule 5 permit ip

# 配置高级ACL 3010,定义IPsec感兴趣流(需要被IPsec保护的数据流)
acl advanced 3010
 # 匹配从总部网段192.168.0.0/24去往分支网段192.168.1.0/24的所有IP流量
 rule 0 permit ip source 192.168.0.0 0.0.0.255 destination 192.168.1.0 0.0.0.255

# 配置IPsec变换集,定义安全协议和算法
ipsec transform-set G0/1_IPV4_1
 # 使用ESP协议,加密算法为AES-CBC-128
 esp encryption-algorithm aes-cbc-128 
 # 认证算法为SHA-1
 esp authentication-algorithm sha1

# 配置IKE密钥链,设置预共享密钥
ike keychain 1
 # 对所有对端(0.0.0.0/0)使用相同的预共享密钥"123456"
 pre-shared-key address 0.0.0.0 0.0.0.0 key simple 123456

# 配置IKE提议(使用默认参数)
ike proposal 1

# 配置IKE Profile,管理IKE协商策略
ike profile 1
 # 引用前面定义的密钥链1
 keychain 1
 # 使用野蛮模式(Aggressive Mode)进行IKE协商
 exchange-mode aggressive
 # 设置本端身份标识为FQDN格式,名称为"center"
 local-identity fqdn center
 # 匹配对端身份:允许任何IP地址的对端
 match remote identity address 0.0.0.0 0.0.0.0
 # 同时匹配对端身份:期望对端FQDN为"branch"
 match remote identity fqdn branch
 # 引用ike提议
 profile 1

# 创建IPsec策略模板
ipsec policy-template G0/1 1
 # 引用前面定义的变换集G0/1_IPV4_1
 transform-set G0/1_IPV4_1 
 # 引用ACL 3010定义需要保护的流量
 security acl 3010 
 # 指定本端接口地址
 local-address 12.1.1.1
 # 引用IKE Profile 1进行密钥协商
 ike-profile 1
 
# 基于模板创建IPsec策略
ipsec policy G0/1 1 isakmp template G0/1
 
# 在公网接口上应用IPsec策略
interface GigabitEthernet0/1
 ipsec apply policy G0/1

R4配置

#              
interface GigabitEthernet0/0
 ip address 10.10.10.2 255.255.255.0
 nat outbound 3000

#
interface GigabitEthernet0/1
 ip address 192.168.1.254 255.255.255.0
 
#
acl advanced 3000
 rule 0 deny ip source 192.168.1.0 0.0.0.255 destination 192.168.0.0 0.0.0.255
 rule 5 permit ip
#
acl advanced 3010
 rule 0 permit ip source 192.168.1.0 0.0.0.255 destination 192.168.0.0 0.0.0.255

#              
ipsec transform-set G0/0_IPV4_1
 esp encryption-algorithm aes-cbc-128 
 esp authentication-algorithm sha1 

#
ike keychain 1
 pre-shared-key address 12.1.1.1 255.255.255.255 key simple 123456

#
ike profile 1
 keychain 1
 exchange-mode aggressive
 local-identity fqdn branch
 match remote identity address 12.1.1.1 255.255.255.255
 match remote identity fqdn center
 proposal 1 

#
ike proposal 1

#
ipsec policy G0/0 1 isakmp
 transform-set G0/0_IPV4_1 
 security acl 3010 
 remote-address 12.1.1.1
 ike-profile 1

#
interface GigabitEthernet0/0
 ipsec apply policy G0/0

四、配置验证

R1查看IPsec隧道

image.png

image.png

R4查看IPsec隧道

image.png

image.png

抓包正常

image.png