我们前面介绍了华为路由器如何配置基于路由的IPsec VPN(华为路由器配置基于路由的IPSec VPN),之前还介绍过Juniper防火墙如何配置基于路由的IPsec VPN(配置Juniper虚墙vSRX基于路由的IPsec VPN(CLI方式)),华三也支持,但是我们没写过单独的配置案例,今天就简单发一下H3C路由器如何配置基于路由的IPsec VPN吧。
从配置模式上看,H3C路由器和华为路由器的配置思路基本一致,但在细节上有些差异。
首先,我们的测试拓扑跟之前基本一致。
在网络环境上,还是类似于GRE over IPsec的网络模型;但是,H3C在配置的时候,可以创建IPsec类型的隧道接口,也可以使用GRE类型的隧道接口。为了跟前面的几个实验相接续,我们本次还是使用GRE类型的隧道接口。
跟正常配置IPsec VPN一样,我们先创建一个IKE keychain,因为是要应用在GRE接口上,所以我先把对端的IP地址配置成对端的GRE隧道接口地址。当然,后面我们也会介绍为什么不能这么用。
#
ike keychain ipsectunpre-shared-key address 10.13.1.3 255.255.255.255 key simple ipsectun
然后,我们创建一个IKE安全提议,指定使用的IKE keychain、本端和对端的IP地址信息,这里的IP地址我们还是使用GRE隧道接口的IP地址。
#
ike profile tunkeychain ipsectunlocal-identity address 10.13.1.1match remote identity address 10.13.1.3 255.255.255.255
接下来,我们再创建一个IPsec安全提议,指定使用的加密算法和认证算法。
#
ipsec transform-set tunesp encryption-algorithm aes-cbc-128esp authentication-algorithm sha1
然后,再创建一个IPsec安全框架,指定使用的IKE安全提议和IPsec安全提议配置,以通过IKE协商建立安全联盟。
#
ipsec profile ipsectun isakmptransform-set tunike-profile tun
最后,我们创建一个GRE类型的隧道接口,并在接口下应用IPsec安全框架。
#
interface Tunnel0 mode greip address 10.13.1.1 255.255.255.0source 12.1.1.1destination 23.1.1.3tunnel protection ipsec profile ipsectun
配置完成之后,我们就可以通过路由的方式引导受保护流量的转发了。
ip route-static 10.2.2.0 24 Tunnel0
对应的,我们完成VSR3的设备配置,命令如下:
#
interface LoopBack0ip address 10.2.2.2 255.255.255.0
#
interface GigabitEthernet1/0ip address 23.1.1.3 255.255.255.0
#
interface Tunnel0 mode greip address 10.13.1.3 255.255.255.0 source 23.1.1.3destination 12.1.1.1tunnel protection ipsec profile ipsectun
#ip route-static 10.1.1.0 24 Tunnel0ip route-static 12.1.1.0 24 23.1.1.2
#
ipsec transform-set tunesp encryption-algorithm aes-cbc-128esp authentication-algorithm sha1
#
ipsec profile ipsectun isakmptransform-set tunike-profile tun
#
ike profile tunkeychain ipsectunlocal-identity address 10.13.1.3match remote identity address 10.13.1.1 255.255.255.255
#
ike keychain ipsectunpre-shared-key address 10.13.1.1 255.255.255.255 key simple ipsectun
此时,我们看一下协商情况。
跟华为的情况有点像,不过华为是隧道接口不配置地址不行,而H3C这个是隧道接口没协商起来。如果先配置GRE隧道,再应用IPsec安全框架配置,你就会发现,是因为应用了IPsec安全框架配置接口协议状态才DOWN的。
查看一下IKE SA和IPsec SA信息。
没有协商起来,也正常,对端的IKE ID也是不可达状态。debug看一下问题原因。
果然,在IKE协商时,携带的还是外层的公网地址作为ID,这样两端互相都不认可。此时,我们先把IKE预共享密钥的对端IP地址修改成物理接口的公网IP地址试一下。
# VSR1
ike keychain ipsectunpre-shared-key address 23.1.1.3 255.255.255.255 key simple ipsectun
# VSR3
ike keychain ipsectunpre-shared-key address 12.1.1.1 255.255.255.255 key simple ipsectun
果然,在调整配置之后,GRE隧道接口的协议状态马上就UP起来了,而且IKE SA和IPsec SA也立即协商成功。
这说明H3C基于路由的IPsec VPN需要先协商隧道接口才能转发,而隧道接口的外层报文还是公网IP地址,所以IKE协商接受的IP地址信息还得是公网的IP地址;如果IKE未协商成功,则隧道接口无法UP,此时,基于隧道接口的下一跳明细路由无法生效,报文也就转发不出去了。
测试业务联通性,可以发现基于路由的IPsec VPN不会出现首个业务报文丢包的情况,而且没有出现华为路由器收个业务报文时延大的情况。
查看IKE SA的详细信息。
这里可以看到本端和对端的IP地址是公网的IP地址,而本端和对端的ID就是我们在IKE安全提议里面配置的了,正常来讲,两端相匹配即可。
查看IPsec SA信息。
这里数据流的源地址和目的地址就跟华为不一样了,华为显示的是两端接口的公网IP地址,而这里显示的就是全零了。
还行,除了IKE的地址配置稍有模糊,其余的也算挺简单的。
***推荐阅读***
快来看啊,华为路由器配置GRE over IPSec隧道案例来了!
通过IKE协商方式建立IPSec隧道
如何配置使用Telnet远程登录华为AR1000V路由器?
Telnet不安全?如何配置使用更安全的STelnet远程登录华为AR1000V路由器?
华为交换机S3700/S5700/CE6800配置SSH远程登录
华为模拟器eNSP安装初体验
华为路由器配置基于路由的IPSec VPN
GRE和IPsec搭配使用,到底是谁over谁?先看GRE over IPsec
GRE over IPsec,IPsec不服,要求IPsec over GRE
使用IKE数字签名RSA认证建立IPsec隧道的配置案例
配置Juniper虚墙vSRX基于路由的IPsec VPN(WEB方式)
配置Juniper虚墙vSRX基于策略的IPsec VPN(CLI方式)