VPN技术的应用和发展
上一篇 /
下一篇 2008-04-21 16:39:42
/ 个人分类:学习笔记
技术分析:VPN技术的应用和发展
随着VPN技术的成熟以及在各个企业的广泛应用,VPN已经越来越多的被大家所熟悉,根据曾经做过的项目结合未来VPN技术发展的趋势,抛砖引玉的介绍一下VPN技术的几种具体应用。由于已经有很多文章具体的介绍过IPSEC这个协议,所以在本文中对协议的解释并非是重点,但看该文章前希望读者能对IPSEC协议以及工作原理有些必要的了解。
一般企业会采用较为简单的VPN技术,构造一个通过互联网将公司各分部连接起来的网络,具体来说,一般公司总部采用中高端路由器或者防火墙来作为VPN的中心端,其它分部采用较为低端路由器或防火墙作为vpn接入,一般采用IKE协议来协商出的IPSEC SA,而其中大部分将采用预共享密钥PRE-SHARE KEY的方式,有些有条件而且对安全要求比较高的公司,可能会?br> 捎弥な榈姆绞剑壳爸な橹写笾虏捎靡到绫曜嫉腛CSP(Online Certificate Status Protocol)协议和CISCO公司开发的SCEP(Simple Certificate Enrollment Protocal)协议来让vpn设备从CA中获取相关证书来进行设备认证,一般在IKE第一步中分为主模式和野蛮模式,两者区别简单来说,前者通过六条消息的发送来完成IKE SA的形成,而后者则只需要三条消息即可,目前个大厂家设备基本都可以支持上述两中模式,而大部分客户为了安全,基本上采用的是前者主模式,在主模式中采用预共享密钥和证书的区别在于第5条和第6条消息中载荷的不同,但最终达到的目的一样,既对双方的身份进行合法性的验证,不过在使用证书时,请注意证书服务器的安全和各个VPN设备于证书服务器的时间同步。在配置中我们一般都需要指定对方的公网IP地址,作为IPSEC PEER地址进行协商,然后指定一些加密算法和定义好需要加密的数据流,其它的配置我们在后面具体讨论。
用VPN线路作为自己主要线路的毕竟是少数,大部分公司会选择用DDN或者SDH作为自己主要线路,再申请条ISDN作为备分线路,如今大部分公司还会有一条ADSL或者其它的线路作为连接互联网的出口,为了节省开支,一些公司考虑使用在互联网上的VPN线路代替ISDN作为主线路的备份,所?br> 阅壳按蟛糠止居Ω檬荢DH或者其它线路作为主要线路,VPN线路作为备份线路,形成一个HUB AND SPKOEND的网络拓扑,公司的数据先通过SDH传输,如果主线路断掉的时候再启用VPN备份线路,众所周知,如果用静态路由要达到这种效果将十分困难,所以VPN面临着一个问题是如果用IPSEC来传输路由协议所特有的IP分组,因为它们大部分都是组播,甚至是广播,而IPSEC中的IKE v1协议对此支持不够,现在IKEv2版本的草案正在对组播进行讨论,有兴趣的朋友可以到IETF网站上查询,此时我们不得不想到IPSEC协议的先辈,GRE (Generic Routing Encapsulation)协议,它和ISPEC类似,是一个将各个类型的数据包封装到IP协议类型号为47的GRE的分组里的协议,但最大不同地方是,GRE可以封装不同协议的数据包,但对这些数据包不进行任何的加密和认证,而IPSEC协议只能封装IP数据包,目前有RFC1701,2784,2890对其进行了准确的定义。GRE的配置一般会起用一个TUNNEL接口,在该接口中你可以预先定义好该隧道的起点,也就是GRE数据包的源IP地址,以及隧道的终点,也就是GRE数据包的目的地址。其它GRE的信息,本文不加以过多的说明。
简单了解GRE工作原理后,我们一起看讨论GRE加VPN达到动态备份线路的解决方案,首先你需要在所有VPN 设备上先启用一个GRE隧道接口,将该隧道的源地址设为本端的公网IP地址,而目的地址为公司对端的公网IP地址,再给该隧道分配一个IP网段,然后运行动态路由协议,将隧道接口网段,本端局域网段和主线路出口的IP网段加于到路由协议发布中,这样GRE隧道接口将通过GRE隧道发送路由协商报文,而对端VPN设备通过GRE封装接收到路由协商报文后将与之建立正确的路由关系,最后各个VPN设备能通过路由协议互相交换和学习到路由信息,建立到达对方局域网的路由表。
再看看实际网络情况,正常情况下,VPN设备将走主线路到达对方的局域网段,如果主线路断掉后,VPN设备通过路由协议将自动的转换成通过GRE隧道出去,而所有要到达对方局域网的数据包,将通过GRE隧道接口加上源为本端公网IP地址,目的为对方公网IP地址的GRE头,通过GRE分组发送到对方VPN设备上去,从而实现动态备份的效果,说到这里,大家可能会问,上面所描述的和IPSEC毫无关系,完全是由GRE协议的功劳,的确是这样的,但是别忘了开头文章提到的GRE协议没有数据加密的功能,您放心让公司的数据通过互联网这个公网来进行传输吗?所以我们需要将所有GRE数据包再用IPSEC协议重新封装一次,这时您在互联网上面传输的数据将是加密后的报文。让我们再回忆回忆上面的数据包封装的过程。
首先一个数据包发给您的VPN设备,由于主线路断开,所以该设备会将您的数据包路由到GRE接口,在GRE接口上,数据包将加上新的GRE头来隐藏原本不可能在INTERNERT上路由的IP数据头,这时它会变胖些,为了安全,我们又会将这些GRE数据包用IPSEC协议进行加密封装,是用ESP还是ESP加AH,那就随便大家,不过有一点是肯定的,我们的数据包又后变胖些,最后这些胖家伙将通过互联网发送出去,中间可能会被MTU比较小的网络设备分片,分片后就可能遇到很多麻烦事,这里不一一举出,最倒霉的莫过于遇到不允许分片包或分片包过小的设备,那这个胖家伙就的在此打主,你的数据连接也就无法成功,如果一切顺利到达对端VPN设备后,接下来该是瘦身的时候了,首先对端VPN设备会用IPSEC协议将其外面的一层拨掉,也就是解密,然后穿了件GRE外套的小胖子会被GRE协议拨掉GRE的外套,隐藏许久的IP头将终于重见,最后通过路由这个数据包就能到达IP头中的目的地址了。
就这样您的公司将拥有了另外一条备份联路,但随着公司的逐步发展,以及分支机构的庞大,您有将遇到很多问题。
如果您的分支可能都采用的是动态获得IP地址,如ADSL,您将无法知道确切的IP地址,那么在总部VPN设备上也就无法为该分支指定确切的IPSEC PEER地址,又如果您公司有30个分部,而每个分部都需要能和总部之间通过VPN线路进行访问,那在总部VPN中将需要人工的设置30条IPSEC的参数,即使这些参数大部分相同,而如果使用GRE隧道接口,在出现30个隧道接口的同时也带来了30个不同的网段,这将浪费IP网段以及增加查找路由时间,这些问题的解决办法是,将总部VPN设备中IPSEC的配置稍加变化,让IPSEC PEER地址变为ANY,也就是让分支发起协商,而总部接收所有发起的协商,就能很好的建立VPN连接。需要注意的是,两端的VPN设备不能同时为动态,或者一边动态,一边是经过DNAT转换后的IP地址,因为在IKE第二步快速模式的时候会进行identity的认证,这样会造成认证失败。关于identity 载荷在IKEv2草稿中已经作出一些改动,将其分成identity载荷和select trffic载荷。
但如果您还需要30个分部都能够互相访问,有两种办法,第一,如果都是静态公网IP地址,那就在30个设备上全都设置30条IPSEC的参数,形成一个全网状的拓扑,这将造成很大的工作量,第二,保持上面的配置和拓扑不变,让所有的流量加密到总部VPN后解密,然后再加密发向另外一个分支VPN,这将大大加重总部VPN的工作负担,两者都不是最好的选择,所以目前VPN技术中出现了将NHRP协议和GRE协议结合起来为VPN设备瘦身的一个方案,而且在最近几年已经广泛应用。
首先大家应该大致了解NHRP的工作原理,下一跳解析协议(NHRP)原本是用于非广播多路访问(NBMA)网的一个IP逻辑子网的地址解析协议,原先主要是用于ATM网络和IP网络中,当多个网络通过AT M连接时,它使得一个网络上的发送结点能够判断出要使用的数据链路层的地址,以便快速到达另一个网络上的目标结点。而现在我们使用基于VPN的NHRP协议(RFC2735),让NHRP来告诉我们IP数据包目的地址和IPSEC对端地址的对照关系,所以在配置中,我们也可以将各分部IPSEC的对端IP设为ANY,而此时GRE隧道的终点也不再是我们手工设置,它也由NHRP获得。在这里具有NHRP协议的设备有两中角色,一种是我们企业分部的VPN设备,它们通过NHRP协议,将自己的VPN的标识(一般隧道接口的源IP)和本端公网IP的对照关系发送给NHS,而另外一种就是我们企业总部的VPN设备--NHS,是NHRP中的SERVER,负责收集,请求和维护其它的分部发来的信息,并且根据分支的请求而发送相对应的对照关系给对方。
工作过程大致如下:当分支A需要访问分支B时,首先通过路由协议学习到由GRE隧道接口出去,而且下一跳是分支B设备隧道接口的IP地址,接着数据包到达分支A的GRE隧?br> 澜涌冢诟媒涌诶锓种将查找NHRP,以确定IPSEC法发起协商的目的地址,如果没有找到下一跳对应IPSEC协商的目的地址,则分支A会向总部发起NHRP请求,如果收到总部的NHRP回应数据包而获得对应的公网IP后,分支A将与该公网IP协商IPSEC会话,如果双方成功协商出IPSEC SA后,此时分支A将用目的地址为分支B的公网IP,而源地址为自身IP的GRE数据包进行封装,且用IPSEC协议进行加密后直接转发到分支B,而不会经过总部,而加重总部带宽的负担。
上面所述,大部分是目前几年VPN中较为广泛的应用,随着VPN技术的发展,基于VPN的QOS和VPN的HA,以及VPN流量的访问控制在目前也大有应用,有机会再和大家讨论。展望未来,随着L2TP V3版本以及PWE3协议的完善,VPLS在核心网络的广泛应用,相信以后跨互联网进行加密第二层信息数据包的传输也将很快到来。
导入论坛
引用链接
收藏
分享给好友
推荐到圈子
管理
举报
TAG:
VPN