ADVPN技术跟运用

很多政府、金融、电力、能源企业有为数众多的分支机构,因此企业对利用公共网络组建VPN的需求越来越多。那么我们需要什么样的VPN技术呢?首先是网络组建要简单方便,可扩展性好,减少分支机构众多时配置和维护的复杂性;其次是保证网络的安全性,报文的传输要经过公共网络,需要加密,同时要防止非法分支接入;第三是良好的适应性,分支分布在不同的地方,接入条件不同,如有的分支机构采用固定地址,有的使用动态地址接入,有的分支部署在NAT网关后面等等。

1 传统VPN技术面临的问题

IPSec VPN实现了通过公共网络进行数据的安全传送。通过Aggressive方式,支持分支网关动态IP地址和NAT穿越。但是IPSec隧道存在以下局限。 IPSec隧道本质上是点到点隧道,配置多点传输很麻烦,维护性差。

在总部网关上,通过特别配置可以实现和多个分支安全连接。但是这种多点VPN的实现是Hub-Spoke方式,就是只能在分支和总部之间建立安全隧道,隧道的建立必须由分支主动发起,两个分支网关之间不能直接建立隧道。分支之间的流量要通过总部,而且还不保证一定能传送到;另外,对防止非法分支接入的能力比较弱。

如果两个分支都使用动态地址,二者之间甚至不能手工建立IPSec隧道。

不支持路由协议, 由于IPSec VPN隧道是通过Acl进行数据流分类建立,而不是依靠接口作为VPN隧道端点实现,所以IPSec构建VPN的私网之间的路由需要手动维护,而不能够依靠动态路由完成整个VPN网络的路由学习

GRE也是常用的隧道技术。GRE隧道支持动态路由协议,但它是点到点隧道技术,实现多点互通配置繁杂。而且GRE本身不支持安全,必须和IPSec一起使用。GRE+IPSec可以通过特别的配置支持分支动态地址。GRE隧道的可维护性和扩展行差,每增加一个设备,其它所有对端都要进行相应配置

L2TP隧道通过User+LAC+LNS的方式实现User对LNS的内部私有网络的访问。由于L2TP的方式限制,作为User端的接入网络之间是没有办法直接建立通道连接。L2TP和GRE协议一样,本身没有加密功能,需要和IPSec结合使用。在实际应用中,L2TP的主要应用为个人办公用户通过拨号等线路接入到总部的VPN网络中。 2 ADVPN技术实现

ADVPN是Auto-Discovery VPN的简称。ADVPN有以下的角色: Hub——企业总部的网关设备; Spoke——企业分支的网关设备;

VAM Server——VAM(VPN Address Management)Server负责接收、管理和维护ADVPN节点的信息,并回应VAM Client的查询;

VAM Client——VAM Client向VAM Server注册自己的私网地址、公网地址(注:这里所说的公网地址是指ADVPN节点接入公共网络的接口地址,私网地址是指ADVPN节点上ADVPN隧道接口的IP地址。)等信息,向VAM Server查询其它VAM Client的信息,泛指对Hub和

Spoke的统称;

ADVPN节点——建立ADVPN隧道两端的设备,泛指Hub/Spoke。

ADVPN是三层VPN技术,公网作为VPN网络的链路层,实现了点到多点的自动隧道技术(如

图1所示)。

ADVPN可以看成是GRE+IPSec隧道的改进升级,和GRE隧道类似,在节点上有对应的tunnel虚接口。ADVPN隧道是点到多点的隧道技术,对端节点很多,而且随时有可能有节点加入和退出,而且各个节点的地址可能是动态变化的,所以不能在本地配置所有对端节点的公网地址。因此增加了VAM Server这个角色,所有的节点将自己的公网地址和tunnel接口的私网地址向VAM Server进行注册。VAM Server负责维护各个节点的信息。

本端节点如果需要发送报文给对端节点连接的私网,查询路由表,发现下一跳是对端节点的tunnel私网地址,此时,如果本端节点还没有建立到对端节点的隧道,那么向VAM Server发起查询,通过对端的私网地址去查询对端的公网地址,然后发起隧道的建立过程(如图2所示)。

可以看出,分支节点的公网地址可以是动态的,如果公网地址改变,需要向VAM Server重新注册。每个节点到其它节点的隧道不必一直存在,在分支比较多时,保持所有隧道联通会耗费比较大的系统资源。一般来说,只要求Spoke和Hub之间的隧道是永久的, Spoke之间的隧道可以是动态的,只在有报文需要传送的时候才建连,建立过程无须人为干预,是自动建立的,当一段时间后,Spoke之间如果没有流量,隧道可以拆除。由DVPN Session来标识隧道的存在与否。

GRE+IPSec实现中,GRE和IPSec虽然结合使用,但是二者没有内在联系。而在ADVPN的实现中,IKE/ IPSec SA协商过程中加入了对应ADVPN相关信息,即使在两端公网动态地址的情况下,使用的也是主模式,而非Aggressive模式,加强了安全性。而且保证出入ADVPN tunnel的所有报文,都要经过IPSec的加解密。从而实现了ADVPN和IPSec的内在结合。 在同一个ADVPN域中,所有ADVPN节点通过同一个ADVPN隧道相连,所以各个节点的tunnel虚接口上的私网IP地址在同一个网段上。

ADVPN隧道的封装方式有两种:GRE封装和UDP封装。GRE封装中因为采用标准的封装格式,不能再携带多余信息,所以UDP封装更有优势,组网上可以有更多灵活性,所以一般采用UDP封装。

在ADVPN组网中,有两种组网方式(如图3所示):Hub-Spoke方式和Full-Mesh方式。Hub-Spoke方式中,Spoke只能和Hub建立永久隧道,Spoke之间的流量需要通过Hub来转发,这种方式减轻了Spoke的负担,增加了Hub的性能要求,同时利于总部对分支间流量的监控;Full-Mesh方式中,Spoke之间可以建立动态直连隧道,分支间的流量可以直接转发。相比而言,Hub负担减轻,同时减少分支间流量的延迟,更有利于VOIP等实时流量的传输。

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4