***(虚拟专用网络,Virtual Private Network)是一种用于连接中、大型企业或团体与团体间的私人网络的通讯方法,它利用隧道协议来达到保密、发送端认证、消息准确性等私人消息安全效果。
虚拟专用网络(Virtual Private Network,***)在***客户机与***网关之间创建一个加密的、虚拟的点对点连接,保障数据在经过互联网时的安全。
例如,公司人员出差到外地或在家中,需要访问公司企业网资源。如果直接拨入的话,未加密的数据包很容易被人监听或拦截。
因此,企业内部信息资源也开始广泛使用互联网络协议时,***也就越来越重要了。
对于构建***来说,网络隧道(Tunnelling)技术是个关键技术。网络隧道技术指的是利用一种网络协议来传输另一种网络协议,它主要利用网络隧道协议来实现这种功能。
目前,常用的有三种网络隧道协议,一种是二层隧道协议,用于传输二层网络协议,它主要应用于构建远程访问虚拟专网(Access ***);
三层隧道协议则用于传输三层网络协议,它主要应用于构建企业内部虚拟专网(Intranet ***)和扩展的企业内部虚拟专网(Extranet ***)。
第2层隧道协议对应数据链路层,使用帧作为数据交换单位。PPTP、L2TP和L2F(第2层转发)都属于第2层隧道协议,都是将数据封装在点对点协议(PPP)帧中通过互联网络发送。
第3层隧道协议对应于网络层,使用包作为数据交换单位。IP over IP以及IPSEC隧道模式都属于第3层隧道协议,都是将IP包封装在附加的IP包头中通过IP网络传送。
为创建隧道,隧道的客户机和服务器双方必须使用相同的隧道协议。此外,建立在 TCP/UDP 之上的网络隧道技术近几年来也有了较快的发展,通过采用 TCP/UDP 协议,避免了网络运营商的过滤,使得真正能够通过公网来建立加密隧道。
这方面比较常见的如Open*** 隧道以及最近出现的构建于https之上的Softether隧道技术等。
点对点隧道协议(PPTP)允许对IP、IPX或NetBEUI数据流进行加密,然后封装在IP包头中通过企业IP网络或公共互联网络发送。
第2层隧道协议(L2TP)协议允许对IP、IPX或NetBEUI数据流进行加密,然后通过支持点对点数据报传递的任意网络发送,如IP、X.25、帧中继或ATM。
对于像PPTP和L2TP这样的第2层隧道协议,创建隧道的过程类似于在双方之间建立会话;隧道的两个端点必须同意创建隧道并协商隧道各种配置变量,如地址分配、加密或压缩等参数。
绝大多数情况下,通过隧道传输的数据都使用基于数据报的协议发送。隧道维护协议被用来作为管理隧道的机制。
安全IP(IPSEC)隧道模式即IPSEC隧道模式允许对IP负载数据进行加密,然后封装在IP包头中通过企业IP网络或公共IP互联网络如Internet发送。
第3层隧道技术通常假定所有配置问题已经通过手工过程完成,这些协议不对隧道进行维护。
这与第2层隧道协议不同,第2层隧道协议(PPTP和L2TP)必须包括对隧道的创建,维护和终止。为实现在专用或公共IP网络上的安全传输,IPSEC隧道模式使用的安全方式封装和加密整个IP包。
然后对加密的负载再次封装在明文 IP包头内通过网络发送到隧道服务器端。隧道服务器对收到的数据报进行处理,在去除明文IP包头,对内容进行解密之后,获得最初的负载IP包。
负载IP包在经过正常处理之后被路由到位于目标网络的目的地。
IPSEC 隧道模式具有以下功能和局限:(1)只能支持 IP 数据流;(2)工作在 IP 栈(IPstack)的底层,因此,应用程序和高层协议可以继承 IPSEC 的行为;
(3)由一个安全策略(一整套过滤机制)进行控制。
安全策略按照优先级的先后顺序创建可供使用的加密和隧道机制以及验证方式。当需要建立通信时,双方机器执行相互验证,然后协商使用何种加密方式。
此后的所有数据流都将使用双方协商的加密机制进行加密,然后封装在隧道包头内。
隧道一旦建立,数据就可以通过隧道发送。隧道客户端和服务器使用隧道数据传输协议准备传输数据。
例如,当隧道客户端向服务器端发送数据时,客户端首先给负载数据加上一个隧道数据传送协议包头,然后把封装的数据通过互联网络发送,并由互联网络将数据路由到隧道的服务器端。
隧道服务器端收到数据包之后,去除隧道数据传输协议包头,然后将负载数据转发到目标网络。
(1)自愿隧道(Voluntary Tunnel)。用户或客户端计算机可以通过发送***请求配置和创建一条自愿隧道。此时,用户端计算机作为隧道客户方成为隧道的一个端点。
当一台工作站或路由器使用隧道客户软件创建到目标隧道服务器的虚拟连接时建立自愿隧道。为实现这一目的,客户端计算机必须安装适当的隧道协议。自愿隧道需要有一条IP连接(通过局域网或拨号线路)。
使用拨号方式时,客户端必须在建立隧道之前创建与公共互联网络的拨号连接。一个最典型的例子是Internet拨号用户必须在创建Internet隧道之前拨通本地ISP取得与Internet的连接。
对企业内部网络来说,客户机已经具有同企业网络的连接,由企业网络为封装负载数据提供到目标隧道服务器路由。
自愿隧道技术为每个客户创建独立的隧道。FEP和隧道服务器之间建立的隧道可以被多个拨号客户共享,而不必为每个客户建立一条新的隧道。
因此,一条隧道中可能会传递多个客户的数据信息,只有在最后一个隧道用户断开连接之后才终止整条隧道。
(2)强制隧道(Compulsory Tunnel)。由支持***的拨号接入服务器配置和创建一条强制隧道。
此时,用户端的计算机不作为隧道端点,而是由位于客户计算机和隧道服务器之间的远程接入服务器作为隧道客户端,成为隧道的一个端点。
目前,一些商家提供能够代替拨号客户创建隧道的拨号接入服务器。
这些能够为客户端计算机提供隧道的计算机或网络设备包括支持PPTP协议的前端处理器(FEP)、支持L2TP协议的L2TP接入集线器(LAC)或支持IPSEC的安全IP网关。
本文将主要以FEP为例进行说明。为正常地发挥功能,FEP必须安装适当的隧道协议,同时必须能够当客户计算机建立起连接时创建隧道。以 Internet 为例,客户机向位于本地ISP的能够提供隧道技术的NAS发出拨号呼叫。
例如,企业可以与某个ISP签定协议,由ISP为企业在全国范围内设置一套FEP。这些FEP可以通过Internet创建一条到隧道服务器的隧道,隧道服务器与企业的专用网络相连。
这样,就可以将不同地方合并成企业网络端的一条单一的Internet连接。因为客户只能使用由FEP创建的隧道,所以称为强制隧道。一旦最初的连接成功,所有客户端的数据流将自动地通过隧道发送。
使用强制隧道,客户端计算机建立单一的 PPP连接,当客户拨入 NAS时,一条隧道将被创建,所有的数据流自动通过该隧道路由。
可以配置FEP为所有的拨号客户创建到指定隧道服务器的隧道,也可以配置FEP基于不同的用户名或目的地创建不同的隧道。
***技术可以用不安全的网络来发送可靠、安全的消息,可通过服务器、硬件、软件等多种方式实现。 |