前述
在IPSec通信中涉及到一个重要方面,那就是如何定义要保护的数据流(也称感兴趣流),因为这涉及到底要通过IPSec保护哪部分的数据流。
保护数据流的定义方式
“感兴趣流”就是指定哪些数据流要进入到IPSec隧道传输,其他的数据流不能进入IPSec隧道传输。本篇博客主要针对基于ACL的感兴趣流。目前各大主流云计算厂商的IPSEC VPN产品都是基于ACL的感兴趣流。
我们知道,高级IPACL 可以基于源/目的IP地址,源/目的端口等信息对数据报文进行过滤,而这正可以用来对允许进入PSec隧道的数据流进行过滤。
当采用ACL方式来定义需要保护的数据流时,手工方式和IKE动态协商方式建立
的IPSec隧道是由高级IPACL来指定要保护的数据流范围,筛选出需要进入IPSecl隧道的报文。ACL规则允许(permit))的报文将被保护,ACL规则拒绝(deny)的报文将不被保护。因为这里的ACL是高级IPACL ,所以可以明确指定数据流中的源/目的IP地址,源/目的传输层端口,协议类型等参数。但这里的源/目的IP地址是指数据发送方和数据接收方主机的P地址,通常是两端内部网络中的私网P地址。
这种基于ACL来定义数据流的方式的优点是可以利用ACL配置的灵活性,根据IP地址,传输层端口,协议类型(如IP,ICMP,TCP,UDP等)等对报文进行过滤进而灵活制定PSec的保护方法。
我在此处找一个H3C的配置示例。
acl advanced 3000
rule 0 permit ip source 192.168.0.0 0.0.0.255 destination 10.20.0.0 0.0.0.255
H3C路由器完整配置示例
目前主流的云计算厂商的IPSEC VPN都是多租户的,所以一个路由器上会有很多的IPSEC隧道,每个IPSEC VPN配置到vpn-instance中实现多租户
acl advanced 3000
rule 0 permit ip vpn-instance 6q0te0euvmr8yihr4e0cyr04e source 10.20.0.0 0.0.0.255 destination 192.168.0.0 0.0.0.255
#
ipsec transform-set tran1
esp encryption-algorithm des-cbc
esp authentication-algorithm sha1
#
ipsec policy policy1 1 isakmp
transform-set tran1
security acl 3000
local-address 10.111.61.78
remote-address 10.111.61.86
ike-profile profile1
#
ike profile profile1
keychain keychain1
match remote identity address 10.111.61.86 255.255.255.255
inside-vpn vpn-instance 6q0te0euvmr8yihr4e0cyr04e
#
ike proposal 1
encryption-algorithm 3des-cbc
authentication-algorithm md5
#
ike keychain keychain1
pre-shared-key address 10.111.61.86 255.255.255.0 key cipher $c$3$2tFgZH5FQUG1giXr8YnByYRSQn2P/1bZug==
CISCO路由器配置示例
创建用户vrf
vrf definition mapengcheng
rd 200:200
!
address-family ipv4
exit-address-family
!
创建预共享密钥
crypto keyring keyring_mapengcheng
pre-shared-key address 10.111.60.25 key mapengcheng
创建isakmp-profile,调用预共享密钥(一阶段策略,加密算法和认证方式及密钥强度通过isakmp policy匹配)
crypto isakmp profile isa_profile_mapengcheng
vrf mapengcheng
keyring keyring_mapengcheng
match identity address 10.111.60.25
创建二阶段加密算法,隧道模式,认证方式
crypto ipsec transform-set mapengcheng esp-3des esp-md5-hmac
mode tunnel
创建ipsec的感兴趣流
ip access-list extended acc_acl_mapengcheng
permit ip 10.1.1.0 0.0.0.255 192.168.1.0 0.0.0.255
创建ipsec接口
crypto map cryto_map_common 6085 ipsec-isakmp
description tunnel_mapengcheng
set peer 10.111.60.66
set transform-set mapengcheng
set isakmp-profile isa_profile_mapengcheng
match address acc_acl_mapengcheng
公网出口调用ipsec接口策略
interface TenGigabitEthernet0/0/1
crypto map cryto_map_common
将路由指向ipsec的公网接口
ip route vrf mapengcheng 192.168.1.0 255.255.255.0 10.111.60.26 name mapengcheng_test global