学习&&转载文章:VPN(虚拟专用网)攻略大全
在VPN出现之前,企业分支之间的数据传输只能依靠现有物理网络(例如Internet)。由于Internet中存在多种不安全因素,报文容易被网络中的黑客窃取或篡改,最终造成数据泄密、重要数据被破坏等后果。
除了通过Internet,还可以通过搭建一条物理专网连接保证数据的安全传输。
VPN即虚拟专用网,泛指通过VPN技术在公用网络上构建的虚拟专用网络,VPN用户在此虚拟网络中传输私网流量,在不改变网络现状的情况下实现安全、可靠的连接。
VPN和传统的数据专网相比具有如下优势:
安全:在远端用户、驻外机构、合作伙伴、供应商与公司总部之间建立可靠的连接,保证数据传输的安全性。这对于实现电子商务或金融网络与通讯网络的融合特别重要。
廉价:利用公共网络进行信息通讯,企业可以用更低的成本连接远程办事机构、出差人员和业务伙伴。
支持移动业务:支持驻外VPN用户在任何时间、任何地点的移动接入,能够满足不断增长的移动业务需求。
可扩展性:由于VPN为逻辑上的网络,物理网络中增加或修改节点,不影响VPN的部署。
公共网络又经常被称为VPN骨干网(VPN Backbone),公共网络可以是Internet,也可以是企业自建专网或运营商租赁专网。
工作在网络层和数据链路层的VPN又被称为三层VPN(IPSec VPN、GRE VPN)和二层VPN(L2TP VPN、PPTP VPN)。
VPN技术的基本原理是利用隧道(Tunnel)技术,对传输报文进行封装,利用VPN骨干网建立专用数据传输通道,实现报文的安全传输。
位于隧道两端的VPN网关,通过对原始报文的“封装”和“解封装”,建立一个点到点的虚拟通信隧道。
隧道的功能就是在两个网络节点之间提供一条通路,使数据能够在这个通路上透明传输。VPN隧道一般是指在VPN骨干网的VPN节点之间建立的用来传输VPN数据的虚拟连接。隧道是构建VPN不可或缺的部分,用于把VPN数据从一个VPN节点透明传送到另一个上。
隧道通过隧道协议实现,目前已存在不少隧道协议,如GRE(Generic Routing Encapsulation)、L2TP(Layer 2 Tunneling Protocol)等。
隧道协议通过在隧道的一端给数据加上隧道协议头,即进行封装,使这些被封装的数据能都在某网络中传输,并且在隧道的另一端去掉该数据携带的隧道协议头,即进行解封装。报文在隧道中传输前后都要通过封装和解封装两个过程。
部分隧道可以混合使用协议,如GRE Over IPSec隧道。
身份认证、数据加密和认证技术可以有效保证VPN网络与数据的安全性:
IPSec(IP Security) VPN一般部署在企业出口设备之间,通过加密与验证等方式,实现了数据来源验证、数据机密、数据完整性保证和抗重放等功能。
IPSec不是一个单独的协议,它给出了IP网络上数据安全的一整套体系结构,包括AH(Authentication Header)、ESP(Encapsulating Security Payload)、IKE(Internet Key Exchange)等协议。
IPSec使用认证头AH(Authentication Header)和封装安全载荷ESP(Encapsulating Security Payload)两种安全协议来传输和封装数据,提供认证或加密等安全服务。
AH和ESP协议提供的安全功能依赖于协议采用的验证、加密算法。
AH仅支持认证功能,不支持加密功能;ESP支持认证和加密功能。
安全协议提供认证或加密等安全服务需要有秘钥的存在。
秘钥交换的方式有两种:
IPSec隧道建立过程中需要协商IPSec SA(Security Association,安全联盟),IPSec SA一般通过IKE协商生成。
SA由一个三元组来唯一标识,这个三元组包括安全参数索引SPI(Security Parameter Index)、目的IP地址和使用的安全协议号(AH或ESP)。
SA是单向的逻辑连接,因此两个IPSec对等体之间的双向通信,最少需要建立两个SA来分别对两个方向的数据流进行安全保护。
KE作为秘钥协商协议,存在两个版本:IKEv1和IKEv2,本课程采用IKEv1为例进行介绍,IKEv2内容可参考产品文档对应内容。
IKEv1协商阶段1的目的是建立IKE SA。IKE SA建立后对等体间的所有ISAKMP消息都将通过加密和验证,这条安全通道可以保证IKEv1第二阶段的协商能够安全进行。IKE SA是一个双向的逻辑连接,两个IPSec对等体间只建立一个IKE SA。 【为阶段2生成密钥对】
IKEv1协商阶段2的目的就是建立用来安全传输数据的IPSec SA,并为数据传输衍生出密钥。该阶段使用IKEv1协商阶段1中生成的密钥对ISAKMP消息的完整性和身份进行验证,并对ISAKMP消息进行加密,故保证了交换的安全性。 【为数据传输生成密钥】
IKE协商成功意味着双向的IPSec隧道已经建立,可以通过ACL方式或者安全框架方式定义IPSec“感兴趣流”,符合感兴趣流流量特征的数据都将被送入IPSec隧道进行处理。
通用路由封装协议(General Routing Encapsulation,GRE)是一种三层VPN封装技术。GRE可以对某些网络层协议(如IPX、IPv4、IPv6等)的报文进行封装,使封装后的报文能够在另一种网络中(如IPv4)传输,从而解决了跨越异种网络的报文传输问题。
如图所示,通过在IPv4网络上建立GRE隧道,解决了两个IPv6网络的通信问题。
GRE还具备封装组播报文的能力。由于动态路由协议中会使用组播报文,因此更多时候
GRE会在需要传递组播路由数据的场景中被用到,这也是GRE被称为通用路由封装协议的原因。
GRE构成要素分为3个部分:乘客协议、封装协议和运输协议。
隧道接口(Tunnel Interface)是为实现报文的封装而提供的一种点对点类型的虚拟接口,与Loopback接口类似,都是一种逻辑接口。
如图所示,乘客协议为IPv6,封装协议为GRE,运输协议为IPv4。整体转发流程如下:
GRE的主要缺点是不支持加密和认证,数据的安全传输得不到很好的保障。
IPSec的主要缺点是只支持IP协议,且不支持组播。
可通过部署GRE Over IPSec结合两种VPN技术的优点:
L2TP是虚拟私有拨号网VPDN(Virtual Private Dial-up Network)隧道协议的一种,它扩展了点到点协议PPP的应用,是一种在远程办公场景中为出差员工或企业分支远程访问企业内网资源提供接入服务的VPN。
L2TP组网架构中包括LAC(L2TP Access Concentrator,L2TP访问集中器)和LNS(L2TP Network Server,L2TP网络服务器)。
VPDN是指利用公共网络(如ISDN和PSTN)的拨号功能及接入网来实现虚拟专用网,为企业、小型ISP、移动办公人员提供接入服务。
LAC是网络上具有PPP和L2TP协议处理能力的设备。LAC负责和LNS建立L2TP隧道连接。
LNS是LAC的对端设备,即LAC和LNS建立了L2TP隧道;
L2TP协议包含两种类型的消息,控制消息和数据消息,消息的传输在LAC和LNS之间进行。
控制消息
数据消息
L2TP主要可分为以下三种工作场景,其工作过程并不相同:
NAS-Initiated场景:由远程拨号用户发起,远程系统通过PSTN/ISDN拨入LAC,由LAC通过Internet向LNS发起建立隧道连接请求;拨号用户地址由LNS分配;对远程拨号用户的验证与计费既可由LAC侧的代理完成,也可在LNS完成。
Client-Initialized场景:直接由LAC客户(指可在本地支持L2TP协议的用户)发起。客户需要知道LNS的IP地址。LAC客户可直接向LNS发起隧道连接请求,无需再经过一个单独的LAC设备。在LNS设备上收到了LAC客户的请求之后,根据用户名、密码进行验证,并且给LAC客户分配私有IP地址。
用户需要安装L2TP的拔号软件。部分操作系统自带L2TP客户端软件。
用户上网的方式和地点没有限制,不需ISP介入。
L2TP隧道两端分别驻留在用户侧和LNS侧,一个L2TP隧道承载一个L2TP会话。
该场景建立过程如下:
Call-LNS场景:L2TP除了可以为出差员工提供远程接入服务以外,还可以进行企业分支与总部的内网互联,实现分支用户与总部用户的互访。
当企业对数据和网络的安全性要求较高时,L2TP无法为报文传输提供足够的保护。这时可以和IPSec功能结合使用,保护传输的数据,有效避免数据被截取或攻击。
企业出差用户和总部通信,使用L2TP功能建立VPN连接,总部部署为LNS对接入的用户进行认证。
当出差用户需要向总部传输高机密信息时,L2TP无法为报文传输提供足够的保护,这时可以和IPSec功能结合使用,保护传输的数据。
这种方式IPSec功能会对所有源地址为LAC、目的地址为LNS的报文进行保护。
MPLS是一种利用标签(Label)进行转发的技术,最初为了提高IP报文转发速率而被提出,现主要应用于VPN和流量工程、QoS等场景。
根据部署的不同,MPLS VPN可分为MPLS L2 VPN或者MPLS L3 VPN。
企业可以自建MPLS专网也可以通过租用运营商MPLS专网的方式获得MPLS VPN接入服务。
MPLS VPN网络一般由运营商搭建,VPN用户购买VPN服务来实现用户网络之间(图中的分公司和总公司)的路由传递、数据互通等。
基本的MPLS VPN网络架构由CE(Customer Edge)、PE(Provider Edge)和P(Provider)三部分组成:
更多MPLS及MPLS VPN的相关内容,参考HCIP-Datacom-Advance相应课程。
VPN技术拥有安全、廉价、支持移动业务、灵活等一系列优势,已经成为现网中部署最为广泛的一类技术。
本文从VPN基本概念与分类出发,简单介绍了如下几类常见VPN技术: