Azure上IKEv2 VPN网关和IKEv1 VPN网关的互通方案

在Azure上的VPN GW的服务有IKEv1和IKEv2两种。其中:

IKEv1被叫做Policy Based的VPN,只支持1条VPN隧道;

IKEv2被叫做Route Based的VPN。支持多条VPN隧道。

如果Azure的用户有多个Site需要和Azure互通,我们建议采用Route Based的VPN网关来实现。

但在现实环境中,很多客户site的VPN设备只支持IKEv1,在网络设备上,一般称作ISAKMP协议。IKEv1(也叫ISAKMP)和IKEv2都是IPSEC协议的第一阶段,是通过IKE协议协商生成后续IPSec加密的Key的过程。由于IKEv1的协议比较成熟,1998年的三个RFC定义这个协议:RFC2407,RFC2408和RFC2409,支持的设备也比较多。而IKEv2出现的时间相对较短,是2005年开始有RFC开始描述,包括RFC4306,RFC4718和RFC5996等。目前陆续各种各样的安全设备都开始支持IKEv2,但很多设备仍然还不支持此协议。

所以在Azure的VPN部署中总是会碰到:Azure上部署了Route Based VPN的网关,但客户数据中心的VPN设备只支持IKEv1,如何将网络连接起来?本文将介绍如何通过在Azure上增加一台Cisco的CSR来实现联通IKEv1和IKEv2的VPN网关。

一、 拓扑结构

具体拓扑结构如下:

左边Vnet的VPN网关是Route Based VPN网关,右边Vnet的VPN网关是Policy Based VPN网关,模拟的是客户数据中心只支持IKEv1的设备,中间的是Cisco的CSR路由器,部署在Azure的一个VNet中。

二、 实现原理

1、 通过Cisco CSR设备和右边的VPN设备建立IKEv1的IPSec VPN的Tunnel,在两边分别通过静态路由的方式互指对端的IP网段;

2、 通过Cisco CSR设备和左边的VPN设备建立IKEv2的IPSec VPN的Tunnel,同时通过BGP路由协议宣告路由;

3、 在路由设计上,在右边的Policy Based VPN网关上增加左边网段;在Cisco CSR上,在做BGP路由宣告的时候,添加左边的网段,让右边VPN网关可以学习到。

通过上面的设置,左边网络内的VM可以通过中间的Cisco CSR设备与右边网络的VM进行通讯。

三、 具体实现

1、 左边VPN网关的配置:

采用Route Based的模式:

配置BGP相关信息,本地的BGP AS为65501:

和Cisco CSR的连接采用IPSec模式,在Local Gateway配置中,需要指定对端的IP地址,开启BGP配置,因为配置了BGP,不需要添加地址空间:

连接的配置,打开BGP:

2、 左边VPN网关的配置:

采用Policy Based的网关类型:

Local Gateway的配置,需要制定Cisco CSR的公网地址,配置对端的IP网段,特别需要增加左边网段的IP地址段,下图用红色标注出来了:

3、 Cisco CSR的配置

在Azure上创建多网卡的Cisco CSR路由器设备,请参考blog:

http://www.cnblogs.com/hengwei/p/6762722.html

具体到Cisco CSR的配置,共分三部分:

a、 IKEv1的IPSec配置,与右边的Policy Based的VPN网关设备互通,这段配置和Azure官方的推荐配置不同,但都可以实现IPSec的互通:

b、 IKEv2的IPSec VPN的配置

这部分的配置是实现和左边Route Based VPN网关互通:

c、 BGP的配置

四、 检验

在左边和右边的两台VM上互相ping对方,都可以ping通。

五、 总结

通过Cisco CSR设备,可以把支持两种不同VPN协议的网络连接起来。如果Route Based VPN网关和其他的网络还有连通,且采用的是BGP动态路由协议,那各个Vnet和右边Policy Based VPN网关所在的Vnet互通,只需要在右边的网关上增加这些Vnet的网段路由,就可以实现互通了。实现起来非常方便、简单。

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20171226G0OPTR00?refer=cp_1026

扫码关注云+社区