您的当前位置:首页正文

VPN简介

2023-07-28 来源:客趣旅游网


VPN简介

一、VPN是什么协议?

VPN(Virtual Private Network):虚拟专用网络,是一门网络新技术,为我们提供了一种通过公用网络安全地对企业内部专用网络进行远程访问的连接方式。我们知道一个网络连接通常由三个部分组成:客户机、传输介质和服务器。 VPN同样也由这三部分组成,不同的是VPN连接使用隧道作为传输通道,这个隧道是建立在公共网络或专用网络基础之上的,如:Internet或Intranet。

要实现VPN连接,企业内部网络中必须配置有一台基于Windows NT或Windows2000 Server的VPN服务器,VPN服务器一方面连接企业内部专用网络,另一方面要连接到Internet,也就是说VPN服务器必须拥有一个公用的IP地址。当客户机通过VPN连接与专用网络中的计算机进行通信时,先由ISP(Internet服务提供商)将所有的数据传送到VPN服务器,然后再由VPN服务器负责将所有的数据传送到目标计算机。VPN使用三个方面的技术保证了通信的安全性:隧道协议、身份验证和数据加密。客户机向VPN服务器发出请求,VPN服务器响应请求并向客户机发出身份质询,客户机将加密的响应信息发送到VPN服务器,VPN服务器根据用户数据库检查该响应,如果账户有效,VPN服务器将检查该用户是否具有远程访问权限,如果该用户拥有远程访问的权限,VPN服务器接受此连接。在身份验证过程中产生的客户机和服务器公有密钥将用来对数据进行加密。

二、根据不同的划分标准,VPN可以按几个标准进行分类划分

1. 按VPN的协议分类

VPN的隧道协议主要有三种,PPTP,L2TP和IPSec,其中PPTP和L2TP协议工作在OSI模型的第二层,又称为二层隧道协议;IPSec是第三层隧道协议,也是最常见的协议。L2TP和IPSec配合使用是目前性能最好,应用最广泛的一种。

2. 按VPN的应用分类

1) Access VPN(远程接入VPN):客户端到网关,使用公网作为骨干网在设备之间传输VPN的数据流量

2) Intranet VPN(内联网VPN):网关到网关,通过公司的网络架构连接来自同公司的资源

3) Extranet VPN(外联网VPN):与合作伙伴企业网构成Extranet,将一个公司与另一个公司的资源进行连接

3. 按所用的设备类型进行分类

网络设备提供商针对不同客户的需求,开发出不同的VPN网络设备,主要为交换机,路由器,和防火墙

1)路由器式VPN:路由器式VPN部署较容易,只要在路由器上添加VPN服务即可 2)交换机式VPN:主要应用于连接用户较少的VPN网络

3)防火墙式VPN:防火墙式VPN是最常见的一种VPN的实现方式,许多厂商都提供这种配置类型

4、特点:(1)安全保障

VPN通过建立一个隧道,利用加密技术对传输数据进行加密,以保证数据的私有和安全性。

(2)服务质量保证(QoS)

VPN可以不同要求提供不同等级的服务质量保证。 (3)可扩充性和灵活性

VPN支持通过Internet和Extranet的任何类型的数据流。 (4)可管理性

VPN可以从用户和运营商角度方便进行管理。

5、功能: 在网络中,服务质量(QoS)是指所能提供的带宽级别。将QoS融入一个VPN,

使得管理员可以在网络中完全控制数据流。信息包分类和带宽管理是两种可以实现控制的方法:

信息包分类 信息包分类按重要性将数据分组。数据越重要,它的级别越高,当然,它的操作也会优先于同网络中相对次要的数据。

带宽管理 通过带宽管理,一个VPN管理员可以监控网络中所有输入输出的数据流,可以允许不同的数据包类获得不同的带宽。

通信量管理 通信量管理方法的形成是一个服务提供商在Internet通信拥塞中发现的。大量的输入输出数据流排队通过,这使得带宽没有得到合理使用。

公平带宽 公平带宽允许网络中所有用户机会均等地利用带宽访问Internet。通过公平带宽,当应用程序需要用更大的数据流,例如MP3时,它将减少所用带宽以便给其他人访

问的机会。

传输保证 传输保证为网络中特殊的服务预留出一部分带宽,例如视频会议,IP电话和现金交易。它判断哪个服务有更高的优先权并分配相应带宽。

网络管理员必须管理虚拟个人网络以及使一个组织正常运作所需的资源。因为远程办公还有待发展,VPN管理员在维护带宽上还有许多问题。然而,新技术对QoS的补充将会帮助网络管理员解决这个问题。

6、技术

1.隧道技术

实现VPN的最关键部分是在公网上建立虚信道,而建立虚信道是利用隧道技术实现的,IP隧道的建立可以是在链路层和网络层。第二层隧道主要是PPP连接,如PPTP,L2TP,其特点是协议简单,易于加密,适合远程拨号用户;第三层隧道是IPinIP,如IPSec,其可靠性及扩展性优于第二层隧道,但没有前者简单直接。 2. 隧道协议

隧道是利用一种协议传输另一种协议的技术,即用隧道协议来实现VPN功能。为创建隧道,隧道的客户机和服务器必须使用同样的隧道协议。

1) PPTP(点到点隧道协议)是一种用于让远程用户拨号连接到本地的ISP,通过因特网安全远程访问公司资源的新型技术。它能将PPP(点到点协议)帧封装成IP数据包,以便能够在基于IP的互联网上进行传输。PPTP使用TCP(传输控制协议)连接的创建,维护,与终止隧道,并使用GRE(通用路由封装)将PPP帧封装成隧道数据。被封装后的PPP帧的有效载荷可以被加密或者压缩或者同时被加密与压缩。

2) L2TP协议:L2TP是PPTP与L2F(第二层转发)的一种综合,他是由思科公司所推出的一种技术。

3) IPSec协议:是一个标准的第三层安全协议,他是在隧道外面再封装,保证了隧在传输过程中的安全。IPSec的主要特征在于它可以对所有IP级的通信进行加密。

三、如何创建VPN服务器?

有关VPN客户机的一个常见的错觉是认为它们是在VPN网络上连接到企业网络的工作站。这种工作站肯定是一种VPN客户机,但是,它并不是惟一的一种VPN客户机。VPN客户机可以是一台计算机,还可以是一台路由器。网络需要使用什么类型的VPN客户机确实取决于公司的具体需求。例如,有一个缺少与公司办公室直接连接的一个分支办公室,使用一台路由器作为VPN客户机来说可能是一个很好的选择。通过这样做,可以利用一个单个的连接把整个分支办公室与公司办公室连接起来。不需要每一台PC都单独建立一个连接。另一方面,如果公司拥有一些经常出差的雇员,这些雇员需要在旅行中访问公司的网络,把这些雇员的笔记本电脑设置为VPN的客户机可能会有好处。

从技术上说,只要支持PPTP、L2TP或者IPSec协议,任何操作系统都可以作为一台VPN客户机。就微软而言,这意味着你可以使用Windows NT 4.0、9X、ME、2000和XP操作系统。虽然所有这些操作系统从技术上说都可以作为客户机。

2.1、VPN服务器

VPN服务器本身是非常简单的。VPN服务器不过是执行路由和远程访问服务任务的一个增强的‘Windows 2003 Server’服务器。一旦一个进入VPN网络的请求被批准,这个VPN服务器就简单地充当一台路由器向这个VPN客户机提供专用网络的接入。 2.2、ISA服务器

VPN服务器的额外要求之一是你要有一台RADIUS(远程认证拨入用户服务)服务器。远程认证拨入用户服务是互联网服务提供商在用户试图建立互联网连接的时候对用户进行身份识别的一种机制。需要使用RADIUS服务器的原因是需要一些身份识别机制对通过VPN连接进入企业网络的用户进行身份识别。你的域名控制器不能完成这个任务。即使你的域名控制器能够胜任这个任务,把域名控制器暴露给外部世界也不是一个好主意。

现在的问题是你从什么地方获得这个RADIUS服务器?微软有自己版本的RADIUS,名为“互联网身份识别服务”,英文缩写字是IAS。Windows Server 2003操作系统包含IAS功能。这是一个好消息。坏消息是由于安全的原因不能在同一台计算机中把ISA当作路由和远

程访问服务(RRAS)来运行。即使可以这样做,我也不能肯定在虚拟服务器设置之外是否有这个可能。 2.3、防火墙

VPN需要的其它组件是一个良好的防火墙。VPN服务器接受来自外部世界的连接,但是,这并不意味着外部世界需要完全访问的VPN服务器。必须使用防火墙封锁任何没有使用的端口。建立VPN连接的基本要求是,VPN服务器的IP地址必须能过通过互联网访问,VPN通信必须能够通过防火墙进入VPN服务器。然而,还有一项可选择的组件。可以使用这个组件让VPN服务器更安全。

如果非常重视安全问题,可以在ISA服务器和你的周边防火墙和VPN服务器之间放置一个ISA服务器。可以设置防火墙把所有的与VPN有关的通信都指向那个ISA服务器,而不是指向VPN服务器。然后,ISA服务器将充当一个VPN代理服务器。VPN客户机和VPN服务器仅与ISA服务器进行通信。它们相互之间从来不直接通信。这就意味着ISA服务器在保护VPN服务器,不允许直接访问VPN服务器,从而为VPN服务器增加了一个保护层。当VPN客户机访问一台VPN服务器的时候,它们是通过一个虚拟的隧道进行访问的。一个隧道实际上就是通过一个不安全的媒介(通常是互联网)的安全通道。然而,隧道并不是用魔术变出来的。隧道需要使用一个隧道协议。同PPTP协议相比,L2TP协议最大的优势在于它依赖IPSec。IPSec加密数据,也提供数据身份识别。这意味着IPSec证明这个数据确实是由发送者发送的并且在传输的过程中没有被修改。而且IPSec可以防止重播攻击。重播攻击指的是黑客捕捉身份识别数据包,然后在晚些时候重新发送这个数据包以便获得这个系统的访问权限。 L2TP还可以提供比PPTP更强大的身份识别功能,L2TP能够对用户和计算机都进行身份识别。而且在用户级身份识别期间交换的数据包总是被加密的。 虽然表面上看L2TP也许是隧道协议的选择,但是,PPTP也有一些超过L2TP的优点,就是兼容性。PPTP比L2TP兼容更多的Windows系统。

PPTP优于L2TP的另一个优势是L2TP是以IPSec为基础的,然而,使用IPSec有一个重大缺陷。IPSec要求网络具有认证中心。

如果计划使用L2TP并且要更好的安全性,应该选择EAP-TLS作为身份识别协议。只有运行Windows 2003或者Windows XP操作系统的客户机才能支持EAP-TLS协议。而且,必须

设置VPN服务器之后认证中心才能办法用户认证。

借助VPN,企业外出人员可随时连到企业的VPN服务器,进而连接到企业内部网络。借助windows2003的“路由和远程访问”服务,可以实现基于软件的VPN。

利用该服务,用户可以在企业内部搭建VPN服务器,然后通过企业外部客户端的VPN拨号连接对企业内部网进行访问。

下面的操作环境基于运行WindowsServer2003(SP1)系统、通过ADSL接入Internet的服务器环境和运行WindowsXP(SP2)系统、通过ADSL接入Internet的客户端,连接方式为客户端通过Internet与服务器建立VPN连接。

在WindowsServer2003(SP1)系统中,“路由和远程访问”服务默认已经安装好。用户需要对该服务进行必要的配置,才能使其内置的VPN服务生效。

操作步骤如下所述:

第1步,在开始菜单中依次单击“管理工具”→“路由和远程访问”菜单项,打开“路由和远程访问”窗口。在左窗格中右键单击服务器名称,选择“配置并启用路由和远程访问”命令,如图1所示。

Windows VPN服务器配置:服务器的设置

图1路由和远程访问窗口

第2步,打开“路由和远程访问服务器安装向导”对话框,在欢迎对话框中直接单击“下一步”按钮。在打开的“配置”对话框中选中“自定义配置”单选框,并单击“下一步”按钮,如图2所示。

图2选中“自定义配置”单选框

第3步,在打开的“自定义配置”对话框中,选中“VPN访问”复选框,并依次单击“下一步”按钮,如图3所示。

图3选中“VPN访问”复选框

第4步,打开正在完成对话框,单击“完成”按钮。在随后打开的“路由和远程访问”对话框中直接单击“是”按钮即可,如图4所示。

图4“路由和远程访问”对话框

第5步,几秒钟后VPN服务即可成功启动。在左窗格中右键单击服务器名称(如

msserver),选择“属性”命令。在“msserver(本地)属性”对话框中切换到“IP”选项卡,然后在“IP地址指派”区域中选中“静态地址池”单选框,并单击“添加”按钮,如图5所示。

图5选中“静态地址池”单选框

第6步,打开“新建地址范围”对话框,在“起始IP地址”和“结束IP地址”编辑框中分别输入起止IP地址,并依次单击“确定”→“确定”按钮使设置生效,如图6所示。

图6“新建地址范围”对话框

小提示:使用静态IP地址池为客户端分配IP地址可以减少IP地址解析时间,提高连接速度。起始IP地址和结束IP地址可以自定义一段IP地址(如192.168.0.10至192.168.0.50)。如果这台主机已经配置了DHCP服务,也可以选择“动态主机配置协议(DHCP)”选项,不过这会延长连接时间。

第7步,返回“msserver(本地)属性”对话框,单击“确定”按钮完成初步配置操作。

小提示:如果服务器端有固定的IP地址,则客户端随时可以与服务器建立VPN连接。而如果服务器采用ADSL虚拟拨号方式接入Internet,则需要在每次更改IP地址后通知客户端,或者申请动态域名解析服务。

Windows VPN服务器配置:客户端的设置

VPN客户端的身份验证、访问授权和记账

你可以选择两种不同的方式:Windows或RADIUS。你可以为这三种功能选择一种方式,也可以选择一种方式用于身份验证和授权,而另一种用于记账。

当使用Windows验证时:

→如果VPN服务器是独立服务器,则使用本地账户(SAM)来验证VPN客户; →如果VPN服务器是域成员服务器,则使用活动目录数据库来验证VPN客户;

→如果使用RADIUS进行身份验证,那么就算VPN服务器是独立服务器,也可以通过RADIUS使用活动目录数据库来进行验证。在Windows服务器中同样提供了RADIUS服务器组件,不过被称为Internet验证服务器(IAS)。

PPTP和L2TP/IPSec均要求用户进行身份验证,并且对于L2TP/IPSec,你必须配置用户身份验证和计算机身份验证。

关于RADIUS服务,我会用专门的章节来说,在vpn、wireless上是如何应用。

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

身份认证技术是VPN网络安全的第一道关卡。对于身份认证,是由身份认证协议来完成的。首先让大家对VPN的身份认证协议有一个感观的认知,把实践和理论结合起来。

1、PAP:密码认证协议

客户端直接发送包含用户名/口令的认证请求,服务器端处理并作回应。 优点:简单。

缺点:明文传送,极容易被窃听。

2、SPAP:Shiva密码验证协议

Shiva公司开发,是一种受Shiva远程访问服务器支持的简单加密密码的身份验证协议。 优点:安全性较PAP好。

缺点:单向加密、单向认证,虽然是对密码进行加密,但还是会被破解,安全性差,通过认证后不支持Microsoft点对点加密(MPPE)。

3、CHAP:挑战握手协议

先由服务器端给客户端发送一个随机码challenge,客户端根据challenge,对自己掌握的口令、challenge、会话ID进行单向散例,即md5(password1,challenge,ppp_id),然后把这个结果发送给服务器端。服务器端从数据库中取出库存口令password2,进行同样的算法,即md5(password2,challenge,ppp_id),最后,比较加密的结果是否相同。如相同,则认证通过。

优点:安全性较SPAP有了很大改进,不用将密码发送到网络上。

缺点:安全性还不够强健,但也不错、单向加密、单向认证、通过认证后不支持Microsoft点对点加密(MPPE)。

4、MS-CHAP

微软版本的CHAP,和CHAP基本上一样,区别我也不太清楚。认证后支持MPPE,安全性要较CHAP好一点。

5、MS-CHAP V2

微软版本的CHAP第二版,它提供了双向身份验证和更强大的初始数据密钥,而且发送和接收分别使用不同的密钥。如果将VPN连接配置为用 MS-CHAP v2作为唯一的身份验证方法,那么客户端和服务器端都要证明其身份,如果所连接的服务器不提供对自己身份的验证,则连接将被断开。

优点:双向加密、双向认证、安全性相当高。 缺点:不太清楚。

6、EAP:可扩展的认证协议

EAP可以增加对许多身份验证方案的支持,其中包括令牌卡、一次性密码、使用智能卡的公钥身份验证、证书及其他身份验证。最安全的认证方法就是和智能卡一起使用的“可扩展身份验证协议—传输层安全协议”,即EAP-TLS认证。 优点:安全性最好。

缺点:需要PKI(公钥基础设施)支持。(目前PKI还没有真正建立起来)

配置客户端VPN的连接设置(XP):

选择VPN:

这个连接名称不重要:

不初始化:

重点,输入VPN服务器的(外网)ip地址:

连接上的状态:

VPN的三要素

1. IP封装

VPN系统的第一个基本要素是使用IP封装。若一个IP包包含其他IP包时,就称为IP封装。IP封装可以使两个实际上分离的网络计算机看上去像比邻的――相互之间只是由一个路由器分开,但是它们是通过许多网络路由器和网关分开的,这些路由器和网关也可能不用同一个地址空间。

例如,若有两个使用PPTP(Point-to-Point Tunneling Protocol)的RAS(Remote Access Service)服务器连接的IP网络,一个局域网的网络地址是10.1.1,另一个是10.1.2.每个网络上的RAS服务器都提供到Internet的连接。一个RAS服务器有一个局域网的IP地址10.1.1.1和一个ISP分配的因特网地址250.121.13.12,而另一个RAS服务器的局域网地址是10.1.2.1,ISP分配的因特网地址是110.121.112.34.这时若10.1.1网络中的一个计算机,假设为10.1.1.23,需向10.1.2网络中的一个计算机,假设为10.1.2.99,发送一个IP包。其通信过程为:

1) 发送方的计算机首先注意到,目标地址10.1.2.99的网络部分与它自己的网络地址不匹配。

2) 发送方不将包直接发送给目标地址,而是将包发送给自己子网缺省的网关地址10.1.1.1.

3) 这个10.1.1网络上的RAS服务器读这个包。

4) 网络10.1.1上的RAS服务器判断出这个包应被放到10.1.2网络的子网上。 5) RAS服务器加密这个包,并用另一个包将它封装起来。

6)路由器从它的网络接口上发送这个封装的包(这个接口连接到因特网上,假设地址为24.121.13.12)到10.1.2网络子网的RAS服务器的因特网地址110.121.112.34上。 7)10.1.2网络子网的RAS服务器从它的因特网接口读这个封装和加密的包。 8)10.1.2网络子网的RAS服务器解密这个封装的IP包,验证它是一个有效的IP包,也就是它没有被改动过并且来自可靠的地方。

9)10.1.2网络子网的RAS服务器从它的适配器上将这个包发送到网络子网的目标地址10.1.2.99.

10)目标计算机读这个包。

这就是一个简单的VPN的IP封装过程。 2. 加密的身份认证

密码身份认证用来安全有效地验证远程用户的身份,这样系统就可以判断出适合这个用户的安全级别。如VPN可使用密码身份认证来决定用户是否可以参与到加密通道中。 3. 数据有效负载加密

数据有效负载加密用来加密被封装的数据。

因篇幅问题不能全部显示,请点此查看更多更全内容