求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
 
  
 
 
     
   
分享到
VPN系列文章(一)VPN基础
 

火龙果软件 发布于:2014-04-14

 

VPN的全称是Virtual Private Network(虚拟专用网络)。

专用网络指的是有某家企业或个人拥有所有权的网络,比如我们常见的企业或个人的局域网。在这样的一个网络中,网络中所有组成部分由该单位或个人所有,网络管理人员可以完全支配和配置网络中的组件来达到自己的目的。

虚拟专用网络(以下简称VPN)指的是网络中的组件不是由一家单位所拥有,但是网络中的操作却和专用网络一样。比如一家企业通过Internet用VPN连接两个不同物理地点的网络组建专用网络,对两个不同物理站点中的网络中人员来说,就好像大家在同一个专用网络中操作一样的方便,而实际上该专用网络可能跨越了internet等共用网络连接。

以下引用部分来自微软的VPN帮助:

QUOTE:

虚拟专用网 (VPN) 是专用网络的延伸,它包含了类似 Internet 的共享或公共网络链接。通过 VPN 可以以模拟点对点专用链接的方式通过共享或公共网络在两台计算机之间发送数据。虚拟专用联网是创建和配置虚拟专用网的行为。

要模拟点对点链路,应压缩或包装数据,并加上一个提供路由信息的报头,该报头使数据能够通过共享或公用网络到达其终点。若要模拟专用链接,数据应加密以进行保密。没有加密密钥,在共享或公用网络上截取的数据包是无法破译的。封装和加密专用数据之处的链接是虚拟专用网 (VPN) 连接。

在家里或者旅途中工作的用户可以使用 VPN 连接建立到组织服务器的远程访问连接,方法是使用公共网络(例如 Internet)提供的基础结构。从用户的角度来讲,VPN 是一种在计算机(VPN 客户端)与团体服务器(VPN 服务器)之间的点对点连接。VPN 与共享或公用网络的具体基础结构无关,因为在逻辑上数据就象是通过专用的私有链接发送的。

单位也能够使用 VPN 连接来为地理位置分开的办公室建立路由连接,或者在保持安全通讯的同时通过公共网络,例如 Internet,连接到其他单位。通过 Internet 被路由的 VPN 连接逻辑上作为专用的 WAN 链接来操作。

通过远程访问和路由连接,组织可以使用 VPN 连接将长途拨号或租用线路换成本地拨号或者到 Internet 服务提供者 (ISP) 的租用线路。

VPN的示例图如下:

通过上面引用的微软的帮助,我们知道VPN有两种连接方式:

1、将单一用户连接到专用网络。

如果单位中经常有员工出差,而他们需要用到单位网络中的数据,用这种方式比较方便。

2、将两个专用网络用VPN连接,等同于在同一个专用网络中。

如果单位的办事机构分布在不同的地点,每个机构中都有自己的专用网络,但是各机构中有通讯(比如数据共享)的需求,可以采用这种方式。

这两种方式的配置和连接,我们将在后面的文章中详细讨论。

VPN的组件:

1、VPN服务器

接受来自 VPN 客户端的虚拟专用网 (VPN) 连接的计算机。VPN 服务器能够提供远程访问 VPN 连接或路由器到路由器的 VPN 连接。

2、VPN客户端

在VPN连接中连接到VPN服务器或请求VPN服务器提供服务的任何计算机或程序。

3、隧道

连接中封装数据的部分。

4、VPN 连接

连接中加密数据的部分。对典型的安全 VPN 连接,数据沿连接的相同部分进行加密和压缩。(有可能创建一个隧道,并通过隧道发送没有加密的数据。因为通过共享或公用网络以未加密和易读取的形式传送私用数据,因此这不是 VPN 连接。 )

5、隧道协议

用来管理隧道及压缩专用数据的协议。要成为 VPN 连接,隧道传输的数据也必须加密。Windows Server 2003 家族包括 PPTP 和 L2TP 隧道协议。

6、隧道数据

数据经常在专用点对点的链接间发送。

7、传输互联网络 (传输介质)

压缩数据所通过的、共享的或公共的网络。对于 Windows Server 2003 家族,传输互联网络通常是 IP 网络。传输互联网络可以是 Internet 或基于 IP 的专用 Intranet。

VPN的组件如图所示:

点对点隧道协议 (PPTP)

通过在基于 IP 的数据网络上创建 VPN 连接,PPTP 能使数据安全地从远程计算机传输到专用服务器。PPTP 支持通过公共网络(例如 Internet)建立按需分配的、多协议的虚拟专用网。

作为点对点协议 (PPP) 的扩展而开发的 PPTP,增加了一个新的增强安全等级,以及通过 Internet 的多协议通讯。通过使用新的“可扩展身份验证协议 (EAP)”以及诸如证书这样的强大身份验证方法,经由启用 PPTP 的 VPN 连接的数据传输,就像在企业站点的一个 LAN 内那样安全。

PPTP 可以将 IP 或 IPX 协议封装在 PPP 数据报内。这意味着您可以远程运行依赖于特定网络协议的应用程序。隧道服务器执行所有的安全检查和验证,并启用数据加密,使得在不安全的网络上发送信息变得比较安全。还可以在专用的 LAN 到 LAN 的网络上使用 PPTP。

在 Windows XP 64-Bit Edition 和 64 位版本的 Windows Server 2003 家族中,IPX/SPX 协议不可用。

PPTP 需要在计算机和服务器之间建立 IP 连接。如果您是直接连接到 IP 局域网,而且可以访问服务器,就可以通过局域网建立 PPTP 隧道。但是,如果要在 Internet 上创建隧道,并且正常的 Internet 访问是与 ISP 的拨号连接,则在创建隧道之前必须先拨号连接到 Internet。

第二层隧道协议(L2TP)

第二层隧道协议 (L2TP) 是基于 RFC 的隧道协议,该协议是一种业内标准,首次是在 Windows 2000 客户端和服务器操作系统中所支持。与 PPTP 不同,运行 Windows Server 2003 的服务器上的 L2TP 不利用 Microsoft 点对点加密 (MPPE) 来加密点对点协议 (PPP) 数据报。L2TP 依赖于加密服务的 Internet 协议安全性 (IPSec)。L2TP 和 IPSec 的组合被称为 L2TP/IPSec。L2TP/IPSec 提供专用数据的封装和加密的主要虚拟专用网 (VPN) 服务。

VPN 客户端和 VPN 服务器必须支持 L2TP 和 IPSec。L2TP 的客户端支持内置于 Windows XP 远程访问客户端,而 L2TP 的 VPN 服务器支持内置于 Windows Server 2003 家族的成员。

L2TP 与 TCP/IP 协议一同安装。根据运行“路由和远程访问服务器安装向导”时所做的选择,L2TP 可以配置为 5 个或 128 个 L2TP 端口。

封装

L2TP/IPSec 数据包的封装由两层组成:

L2TP 封装

使用 L2TP 头文件和 UDP 头文件包装 PPP 帧(包含一个 IP 数据包或一个 IPX 数据包)。

IPSec 封装

使用 IPSec 封装式安全措施负载 (ESP) 头文件和尾文件、提供消息完整性和身份验证的 IPSec 身份验证尾文件及最后的 IP 头文件包装 L2TP 结果消息。在 IP 头文件中有与 VPN 客户端和 VPN 服务器对应的源和目标 IP 地址。

加密

使用 Internet 密钥交换 (IKE) 协商进程中生成的加密密钥,L2TP 消息可用数据加密标准 (DES) 或三级 DES (3DES) 进行加密。

以下图解显示了 PPP 数据包的 L2TP 和 IPSec 封装:

IPSec

IPSec 是安全联网的长期方向。它为防止专用网络和 Internet 攻击提供了主要防线。

IPSec 有两个目标:

1、保护 IP 数据包的内容。

2、通过数据包筛选及受信任通讯的实施来防御网络攻击。

这两个目标都是通过使用基于加密的保护服务、安全协议与动态密钥管理来实现的。这个基础为专用网络计算机、域、站点、远程站点、Extranet 和拨号用户之间的通信提供了既有力又灵活的保护。它甚至可以用来阻碍特定通讯类型的接收和发送。

IPSec 基于端对端的安全模式,在源 IP 和目标 IP 地址之间建立信任和安全性。考虑认为 IP 地址本身没有必要具有标识,但 IP 地址后面的系统必须有一个通过身份验证程序验证过的标识。只有发送和接收的计算机需要知道通讯是安全的。每台计算机都假定进行通讯的媒体不安全,因此在各自的终端上实施安全设置。除非两台计算机之间正在进行防火墙类型的数据包筛选或网络地址转换,否则仅从源向目标路由数据的计算机不要求支持 IPSec。该模式允许为下列企业方案成功部署 IPSec:

局域网 (LAN):客户端/服务器与对等

广域网 (WAN):路由器对路由器以及网关对网关

远程访问:拨号客户端以及从专用网络访问 Internet

通常,两端都需要 IPSec 配置(称为 IPSec 策略)来设置选项与安全设置,以允许两个系统对如何保护它们之间的通讯达成协议。Microsoft® Windows® 2000、Windows XP 和 Windows Server 2003 家族实施 IPSec 基于的是“Internet 工程任务组 (IETF)”IPSec 工作组开发的工业标准。IPSec 相关服务部分是由 Microsoft 与 Cisco Systems, Inc. 共同开发的。

对于站点到站点VPN连接,除了可以采用PPTP和L2TP/IPSec外,你还可以使用IPSec隧道模式来构建VPN。

构建VPN网络时通讯协议的选择

PPTP和L2TP/IPSec都需要经过身份验证,不同的是:

PPTP在身份验证通过后开始加密,身份验证的过程没有加密,意味着安全性稍低

L2TP/IPSec的身份验证过程是加密的,安全性高

L2TP/IPSec需要证书服务来验证计算机身份,PPTP不需要。所以使用L2TP/IPSec需要PKI支持

一般情况下,因为PPTP配置简单,可以选择PPTP

如果安全要求高,可以选择L2TP/IPSec,配置稍微复杂,对硬件要求也更高些

如果是站点之间的VPN连接,可以选择IPSec

身份验证方法

VPN客户端和服务器配置好以后,一旦VPN客户端试图连接VPN服务器,就涉及到身份验证的问题。采用PPTP和L2TP/IPSec都必须经过身份验证方可连接,L2TP/IPSec还需要配置计算机身份验证。

Windows VPN服务器支持的身份验证方式包括:

可扩展身份验证协议(EAP)

Microsoft质询式握手身份验证协议(MS-CHAP)

MS-CHAP第2版(MS-CHAP v2)

质询式握手身份验证协议(CHAP)

Shiva式口令身份验证协议(SPAP)

可扩展身份验证协议(EAP,包含EAP-MD5、EAP-TLS、EAP/MS-CHAPv2等等)

身份验证可以用Windows的身份验证或者RADIUS身份验证。Windows通过安装IAS(Internet验证服务)来实现RADIUS认证。

如果VPN服务器是独立的服务器,则可以采用Windows身份验证,验证在VPN服务器的本地账号(SAM)中进行。

如果VPN服务是DC(不建议)或者成员服务器,则Windows身份验证采用的是AD中的账号来进行。

如果用IAS服务器来进行身份验证,则既可以采用IAS服务器中的SAM来身份验证,也可以用AD中的账号来进行身份验证。

身份验证通过后,VPN服务器通过验证的账号属性来决定该账号是否有接入的权限,如下图所示:

其中:

允许访问:

允许VPN客户的远程访问;

拒绝访问:

拒绝VPN客户的远程访问;

通过远程访问策略控制访问:

根据VPN服务器配置的授权方式的不同(Windows还是RADIUS),通过自己的远程访问策略(Windows方式)或RADIUS服务器的远程访问策略(RADIUS方式)来决定是否允许VPN客户的访问。

远程访问策略是定义VPN客户远程访问的一系列规则的集合,VPN服务器按照从上到下的顺序执行第一个匹配条件的远程访问策略。

如果VPN客户匹配某个授权访问的远程访问策略,则VPN服务器允许VPN客户的拨入;如果VPN客户匹配某个拒绝访问的远程访问策略,则VPN服务器拒绝VPN客户端的访问;如果VPN客户不匹配任何授权访问的远程访问策略,则VPN服务器拒绝VPN客户端的访问。

如果此VPN服务器是成员服务器,你需要提升域功能级为Windows 2000 主机模式或者Windows server 2003模式,然后才能使用通过远程访问策略控制访问选项。此VPN服务器的计算机账户必须加入到域本地安全组RAS and IAS Servers组中,否则该VPN服务器不能读取域用户的拨入权限设置。

(在启用路由和远程访问服务时,会自动加入到RAS and IAS Servers组中,如果没有自动加入,你可以手动进行添加或者在路由和远程访问服务器上运行Netsh ras add registeredserver命令来添加。 )

远程访问策略控制如图所示,右键单击可以新建策略(策略部分在后面系列文章的实例中讲解):

关于客户端拨号后接入的获取IP地址

VPN客户端拨入VPN服务器后,会获取到一个IP地址。此IP地址可以是VPN 服务器手工指定的静态IP范围中的一个,也允许VPN服务器指定内部网络中的DHCP Server为VPN客户端分配ip地址,子网掩码等参数。

如果VPN服务器没有指定IP给客户端,也没有指定内网的DHCP Server为其分配IP地址,则客户端拨号后拿到169.254.0.0这个网段的地址(Windows的APIPA地址)。

如果VPN Server手工指定给客户端的IP地址和内网的IP地址不在一个网段,即使客户端拨号接入以后仍然无法和内网通讯,这就需要手工添加路由信息让拨号客户端和内网可以通讯。

 
分享到
 
 
     


中国移动 网络规划与管理
医院安防系统远程探视方案解析
基于RFID技术的物联网研究
基于物联网、云计算架构...
基于RFID技术物联网研究与应用
物联网的发展瓶颈和关键技术