《[精选]清华版网络安全教案第9章23278.pptx》由会员分享,可在线阅读,更多相关《[精选]清华版网络安全教案第9章23278.pptx(81页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第9章章 VPN9.1 VPN概述概述9.2 VPN技术技术9.3 第二层隧道协议第二层隧道协议L2F、PPTP和和L2TP1769.4 第三层隧道协议第三层隧道协议GRE1849.5 本章小结本章小结习题习题VPN是是Virtual Private Network的缩写,是将物理分的缩写,是将物理分布在不同地点的网络通过公用骨干网,尤其是布在不同地点的网络通过公用骨干网,尤其是Internet连接而成的逻辑上的虚拟子网。为了保障信连接而成的逻辑上的虚拟子网。为了保障信息的安全,息的安全,VPN技术采用了鉴别、访问控制、保密性技术采用了鉴别、访问控制、保密性、完整性等措施,以防止信息被泄露、
2、篡改和复制。、完整性等措施,以防止信息被泄露、篡改和复制。9.1 VPN概述概述 9.1.1 VPN的概念的概念V即即Virtual,是针对传统的企业,是针对传统的企业“专用网络专用网络”而言的。而言的。传统的专用网络往往需要建立自己的物理专用线路,传统的专用网络往往需要建立自己的物理专用线路,使用昂贵的长途拨号以及长途专线服务;而使用昂贵的长途拨号以及长途专线服务;而VPN则是则是利用公共网络资源和设备建立一个逻辑上的专用通道,利用公共网络资源和设备建立一个逻辑上的专用通道,尽管没有自己的专用线路,但是这个逻辑上的专用通尽管没有自己的专用线路,但是这个逻辑上的专用通道却可以提供和专用网络同样
3、的功能。换言之,道却可以提供和专用网络同样的功能。换言之,VPN虽然不是物理上真正的专用网络,但却能够实现虽然不是物理上真正的专用网络,但却能够实现物理专用网络的功能。物理专用网络的功能。P即即Private,表示,表示VPN是被特定企业或用户私有的,是被特定企业或用户私有的,并不是任何公共网络上的用户都能够使用已经建立的并不是任何公共网络上的用户都能够使用已经建立的VPN通道,而是只有经过授权的用户才可以使用。在通道,而是只有经过授权的用户才可以使用。在该通道内传输的数据经过了加密和认证,使得通信内该通道内传输的数据经过了加密和认证,使得通信内容既不能被第三者修改,又无法被第三者破解,从而容
4、既不能被第三者修改,又无法被第三者破解,从而保证了传输内容的完整性和机密性。因此,只有特定保证了传输内容的完整性和机密性。因此,只有特定的企业和用户群体才能够利用该通道进行安全的通信。的企业和用户群体才能够利用该通道进行安全的通信。N即即Network,表示这是一种专门的组网技术和服务,表示这是一种专门的组网技术和服务,企业为了建立和使用企业为了建立和使用VPN必须购买和配备相应的网络必须购买和配备相应的网络设备。设备。VPN有有3种类型:种类型:Access VPN(远程访问(远程访问VPN)、)、Intranet VPN(企业内部(企业内部VPN)和)和Extranet VPN(企(企业扩
5、展业扩展VPN),这),这3种类型的种类型的VPN分别对应于传统的分别对应于传统的远程访问网络、企业内部的远程访问网络、企业内部的Intranet以及企业和合作以及企业和合作伙伴的网络所构成的伙伴的网络所构成的Extranet。1.Access VPNAccess VPN即所谓的移动即所谓的移动VPN,适用于企业内部人,适用于企业内部人员流动频繁或远程办公的情况,出差员工或者在家办员流动频繁或远程办公的情况,出差员工或者在家办公的员工利用当地公的员工利用当地ISP(Internet Service Provider,Internet服务提供商)就可以和企业的服务提供商)就可以和企业的VPN网关
6、建立网关建立私有的隧道连接,如图私有的隧道连接,如图9.1所示。所示。9.1.2 VPN的类型的类型图图9.1 Access VPNAccess VPN对应于传统的远程访问内部网络。在传对应于传统的远程访问内部网络。在传统方式中,在企业网络内部需要架设一个拨号服务器统方式中,在企业网络内部需要架设一个拨号服务器作为作为RAS(Remote Access Server),用户通过拨号),用户通过拨号到该到该RAS来访问企业内部网。这种方式需要购买专门来访问企业内部网。这种方式需要购买专门的的RAS设备,价格昂贵,用户只能进行拨号,也不能设备,价格昂贵,用户只能进行拨号,也不能保证通信安全,而且对
7、于远程用户可能要支付昂贵的保证通信安全,而且对于远程用户可能要支付昂贵的长途拨号费用。长途拨号费用。Access VPN通过拨入当地的通过拨入当地的ISP进入进入Internet再连接再连接企业的企业的VPN网关,在用户和网关,在用户和VPN网关之间建立一个网关之间建立一个安全的安全的“隧道隧道”,通过该隧道安全地访问远程的内部,通过该隧道安全地访问远程的内部网,这样既节省了通信费用,能保证安全性。网,这样既节省了通信费用,能保证安全性。Access VPN的拨入方式包括拨号、的拨入方式包括拨号、ISDN、数字用户、数字用户线路线路(xDSL)等,惟一的要求就是能够使用合法等,惟一的要求就是能
8、够使用合法IP地地址访问址访问Internet,具体何种方式没有关系。通过这些,具体何种方式没有关系。通过这些灵活的拨入方式能够让移动用户、远程用户或分支机灵活的拨入方式能够让移动用户、远程用户或分支机构安全地接入到内部网络。构安全地接入到内部网络。2.Intranet VPN如果要进行企业内部异地分支机构的互联,可以使用如果要进行企业内部异地分支机构的互联,可以使用Intranet VPN方式,这是所谓的网关对网关方式,这是所谓的网关对网关VPN,它,它对应于传统的对应于传统的Intranet解决方案,如图解决方案,如图9.2所示。所示。Intranet VPN在异地两个网络的网关之间建立了
9、一个在异地两个网络的网关之间建立了一个加密的加密的VPN隧道,两端的内部网络可以通过该隧道,两端的内部网络可以通过该VPN隧道安全地进行通信,就好像和本地网络通信一样。隧道安全地进行通信,就好像和本地网络通信一样。Intranet VPN利用公共网络(如利用公共网络(如Internet)的基础设)的基础设施,连接企业总部、远程办事处和分支机构。企业拥施,连接企业总部、远程办事处和分支机构。企业拥有与专用网络相同的策略,包括安全、服务质量有与专用网络相同的策略,包括安全、服务质量(QoS)、可管理性和可靠性。、可管理性和可靠性。图图9.2 Intranet VPN3.Extranet VPN如果
10、一个企业希望将客户、供应商、合作伙伴或兴趣如果一个企业希望将客户、供应商、合作伙伴或兴趣群体连接到企业内部网,可以使用群体连接到企业内部网,可以使用Extranet VPN,它,它对应于传统的对应于传统的Extranet解决方案,如图解决方案,如图9.3所示。所示。Extranet VPN其实也是一种网关对网关的其实也是一种网关对网关的VPN,与,与Intranet VPN不同的是,它需要在不同企业的内部网不同的是,它需要在不同企业的内部网络之间组建,需要有不同协议和设备之间的配合和不络之间组建,需要有不同协议和设备之间的配合和不同的安全配置。同的安全配置。图图9.3 Extranet VPN
11、VPN具有以下优点。具有以下优点。(1)降低成本降低成本VPN是利用了现有的是利用了现有的Internet或其他公共网络的基础或其他公共网络的基础设施为用户创建安全隧道,不需要使用专门的线路,设施为用户创建安全隧道,不需要使用专门的线路,如如DDN和和PSTN,这样就节省了专门线路的租金。如,这样就节省了专门线路的租金。如果是采用远程拨号进入内部网络,访问内部资源,还果是采用远程拨号进入内部网络,访问内部资源,还需要支付长途话费;而采用需要支付长途话费;而采用VPN技术,只需拨入当地技术,只需拨入当地的的ISP就可以安全地接入内部网络,这样也节省了线就可以安全地接入内部网络,这样也节省了线路话
12、费。路话费。9.1.3 VPN的优点的优点(2)易于扩展易于扩展如果采用专线连接,实施起来比较困难,在分部增多、如果采用专线连接,实施起来比较困难,在分部增多、内部网络结点越来越多时,网络结构趋于复杂,费用内部网络结点越来越多时,网络结构趋于复杂,费用昂贵。如果采用昂贵。如果采用VPN,只是在结点处架设,只是在结点处架设VPN设备,设备,就可以利用就可以利用Internet建立安全连接,如果有新的内部建立安全连接,如果有新的内部网络想加入安全连接,只需添加一台网络想加入安全连接,只需添加一台VPN设备,改变设备,改变相关配置即可。相关配置即可。(3)保证安全保证安全VPN技术利用可靠的加密认证
13、技术,在内部网络之间技术利用可靠的加密认证技术,在内部网络之间建立隧道,能够保证通信数据的机密性和完整性,保建立隧道,能够保证通信数据的机密性和完整性,保证信息不被泄漏或暴露给未授权的实体,保证信息不证信息不被泄漏或暴露给未授权的实体,保证信息不被未授权的实体改变、删除或替代。在现在的网络应被未授权的实体改变、删除或替代。在现在的网络应用中,除了让外部合法用户通过用中,除了让外部合法用户通过VPN访问内部资源外访问内部资源外,还需要内部用户方便地访问,还需要内部用户方便地访问Internet,这样可将,这样可将VPN设备和防火墙配合,在保证网络畅通的情况下,设备和防火墙配合,在保证网络畅通的情
14、况下,尽可能的保证访问安全。尽可能的保证访问安全。VPN利用利用Internet的基础设施传输企业私有的信息,的基础设施传输企业私有的信息,因此传递的数据必须经过加密,从而确保网络上未授因此传递的数据必须经过加密,从而确保网络上未授权的用户无法读取该信息,因此可以说密码技术是实权的用户无法读取该信息,因此可以说密码技术是实现现VPN的关键核心技术之一。的关键核心技术之一。大体上,密码技术可以分为两类:对称密钥加密和非大体上,密码技术可以分为两类:对称密钥加密和非对称密钥加密。对称密钥加密。9.2 VPN技术技术 9.2.1 密码技术密码技术1.对称密钥加密对称密钥加密对称密钥加密,也叫做共享密
15、钥加密,是指加密和解对称密钥加密,也叫做共享密钥加密,是指加密和解密用的密钥是相同的,数据的发送者和接收者拥有共密用的密钥是相同的,数据的发送者和接收者拥有共同的单个密钥。当一段数据要传输时,发送者利用密同的单个密钥。当一段数据要传输时,发送者利用密钥将其加密为密文,并在公共信道上传输,接收者收钥将其加密为密文,并在公共信道上传输,接收者收到密文后也要用相同的密钥将其解密成明文。到密文后也要用相同的密钥将其解密成明文。比较著名的对称密钥加密算法有比较著名的对称密钥加密算法有DES及其各种变形,及其各种变形,比如比如3DES、GDES、New DES和和DES的前身的前身Lucifer、IDEA
16、、Skipjack、RC4、RC5等。众多算法中最常等。众多算法中最常用的是用的是DES(Data Encryption Standard)、)、AES(Advanced Encryption Standard)和)和IDEA(International Data Encryption Algorithm)。)。由于加密和解密的密钥相同,因此这种加密算法的安由于加密和解密的密钥相同,因此这种加密算法的安全性取决于是否有未经授权的人获得了密钥。一旦密全性取决于是否有未经授权的人获得了密钥。一旦密钥泄露,无论该算法在运行时多么复杂,设计多么精钥泄露,无论该算法在运行时多么复杂,设计多么精良,密文可
17、以轻易地被破解。为了保证密钥的机密性,良,密文可以轻易地被破解。为了保证密钥的机密性,希望使用对称密钥加密通信的双方,在交换加密数据希望使用对称密钥加密通信的双方,在交换加密数据之前必须先安全地交换密钥。之前必须先安全地交换密钥。衡量对称算法优劣的一个重要尺度是其密钥的长度。衡量对称算法优劣的一个重要尺度是其密钥的长度。密钥位数越长,密钥的可能性越多,在找到正确密钥密钥位数越长,密钥的可能性越多,在找到正确密钥之前必须测试的密钥数量就越多,从而破解这种算法之前必须测试的密钥数量就越多,从而破解这种算法就越困难。另一个指标是看算法是否经得住算法分析就越困难。另一个指标是看算法是否经得住算法分析的
18、考验,如差分密码分析、线性密码分析等,有的算的考验,如差分密码分析、线性密码分析等,有的算法的密钥长度虽然很长,但算法有缺陷,可绕过密钥法的密钥长度虽然很长,但算法有缺陷,可绕过密钥进行破解。进行破解。对称密钥加密的优点是运算量小、速度快,适合于加对称密钥加密的优点是运算量小、速度快,适合于加密大量数据的情况;缺点是密钥的管理比较复杂。密大量数据的情况;缺点是密钥的管理比较复杂。2.非对称密钥加密非对称密钥加密非对称密钥加密使用两个密钥:一个公钥和一个私钥,非对称密钥加密使用两个密钥:一个公钥和一个私钥,这两个密钥在数学上是相关的。这种算法也叫做公钥这两个密钥在数学上是相关的。这种算法也叫做公
19、钥加密。公钥可以不受保护,可在通信双方之间公开传加密。公钥可以不受保护,可在通信双方之间公开传递,或在公共网络上发布,但相关的私钥是保密的。递,或在公共网络上发布,但相关的私钥是保密的。利用公钥加密的数据只有使用私钥才能解密;利用私利用公钥加密的数据只有使用私钥才能解密;利用私钥加密的数据只有使用公钥才能解密。钥加密的数据只有使用公钥才能解密。比较著名的非对称算法有比较著名的非对称算法有RSA、背包密码、背包密码、McEliece密码、密码、Diffie Hellman、Rabin、椭圆曲线、椭圆曲线、ElGamal算法等。其中最有影响的是算法等。其中最有影响的是RSA算法,它能抵抗到目算法,
20、它能抵抗到目前为止已知的所有密码攻击。前为止已知的所有密码攻击。非对称算法采用复杂的数学处理,密钥大小比对称算非对称算法采用复杂的数学处理,密钥大小比对称算法的大,它们要求更多的处理器资源,因此其速度较法的大,它们要求更多的处理器资源,因此其速度较慢。非对称算法不适合加密大量数据的情况,而是经慢。非对称算法不适合加密大量数据的情况,而是经常用于关键数据的加密,比如对称密钥在密钥分发时常用于关键数据的加密,比如对称密钥在密钥分发时采用非对称算法。另外非对称加密算法和散列算法结采用非对称算法。另外非对称加密算法和散列算法结合使用,可以生成数字签名。合使用,可以生成数字签名。非对称密钥加密的优点是解
21、决了对称加密中的密钥交非对称密钥加密的优点是解决了对称加密中的密钥交换的困难,密钥管理简单,安全性高;缺点是计算速换的困难,密钥管理简单,安全性高;缺点是计算速度相对较慢。因此非对称密钥加密更多用于密钥交换、度相对较慢。因此非对称密钥加密更多用于密钥交换、数字签名、身份认证等,一般不用于对具体信息加密。数字签名、身份认证等,一般不用于对具体信息加密。一般来说,在一般来说,在VPN实现中,双方大量的通信流量的加实现中,双方大量的通信流量的加密使用对称加密算法,而在管理、分发对称加密的密密使用对称加密算法,而在管理、分发对称加密的密钥上采用更加安全的非对称加密技术。钥上采用更加安全的非对称加密技术
22、。VPN需要解决的首要问题就是网络上用户与设备的身需要解决的首要问题就是网络上用户与设备的身份认证,如果没有一个万无一失的身份认证方案,不份认证,如果没有一个万无一失的身份认证方案,不管其他安全设施有多严密,整个管其他安全设施有多严密,整个VPN的功能都将失效。的功能都将失效。从技术上说,身份认证基本上可以分为两类:非从技术上说,身份认证基本上可以分为两类:非PKI体系和体系和PKI体系的身份认证。非体系的身份认证。非PKI体系的身份认证体系的身份认证基本上采用的是基本上采用的是UID+PASSWORD模式,举例如下:模式,举例如下:9.2.2 身份认证技术身份认证技术PAP,Password
23、 Authentication Protocol,口令认证,口令认证协议;协议;CHAP,ChallengeHandshake Authentication Protocol,询问握手认证协议;,询问握手认证协议;EAP,Extensible Authentication Protocol,扩展身份,扩展身份认证协议;认证协议;MSCHAP,Microsoft Challenge Handshake Authentication Protocol,微软询问握手认证协议;,微软询问握手认证协议;SPAP,Shiva Password Authentication Protocol,Shiva口令
24、字认证协议;口令字认证协议;RADIUS,Remote Authentication Dial In User Service,远程认定拨号用户服务。,远程认定拨号用户服务。PKI体系的身份认证的例子有电子商务中用到的体系的身份认证的例子有电子商务中用到的SSL安全通信协议的身份认证、安全通信协议的身份认证、Kerberos等。目前常用的等。目前常用的方法是依赖于方法是依赖于CA(Certificate Authority,数字证书,数字证书签发中心)所签发的符合签发中心)所签发的符合X.509规范的标准数字证书。规范的标准数字证书。通信双方交换数据前,需先确认彼此的身份,交换彼通信双方交换数
25、据前,需先确认彼此的身份,交换彼此的数字证书,双方将此证书进行比较,只有比较结此的数字证书,双方将此证书进行比较,只有比较结果正确,双方才开始交换数据;否则,不能进行后续果正确,双方才开始交换数据;否则,不能进行后续通信。通信。隧道技术通过对数据进行封装,在公共网络上建立一隧道技术通过对数据进行封装,在公共网络上建立一条数据通道(隧道),让数据包通过这条隧道传输。条数据通道(隧道),让数据包通过这条隧道传输。生成隧道的协议有两种:第二层隧道协议和第三层隧生成隧道的协议有两种:第二层隧道协议和第三层隧道协议。道协议。9.2.3 隧道技术隧道技术(1)第二层隧道协议是在数据链路层进行的,先把第二层
26、隧道协议是在数据链路层进行的,先把各种网络协议封装到各种网络协议封装到PPP包中,再把整个数据包装入包中,再把整个数据包装入隧道协议中,这种经过两层封装的数据包由第二层协隧道协议中,这种经过两层封装的数据包由第二层协议进行传输。第二层隧道协议有以下几种:议进行传输。第二层隧道协议有以下几种:L2F(RFC 2341,Layer 2 Forwarding););PPTP(RFC 2637,Point to Point Tunneling Protocol););L2TP(RFC 2661,Layer Two Tunneling Protocol)。)。(2)第三层隧道协议是在网络层进行的,把各种
27、网第三层隧道协议是在网络层进行的,把各种网络协议直接装入隧道协议中,形成的数据包依靠第三络协议直接装入隧道协议中,形成的数据包依靠第三层协议进行传输。第三层隧道协议有以下几种:层协议进行传输。第三层隧道协议有以下几种:IP Sec(IP Security),是目前最常用的是目前最常用的VPN解决解决方案;方案;GRE(RFC 2784,General Routing Encapsulation)。在在VPN应用中密钥的分发与管理非常重要。密钥的分应用中密钥的分发与管理非常重要。密钥的分发有两种方法:一种是通过手工配置的方式,另一种发有两种方法:一种是通过手工配置的方式,另一种是采用密钥交换协议
28、动态分发。手工配置的方法要求是采用密钥交换协议动态分发。手工配置的方法要求密钥更新不要太频繁,否则管理工作量太大,因此只密钥更新不要太频繁,否则管理工作量太大,因此只适合于简单网络的情况。密钥交换协议采用软件方式适合于简单网络的情况。密钥交换协议采用软件方式动态生成密钥,保证密钥在公共网络上安全地传输而动态生成密钥,保证密钥在公共网络上安全地传输而不被窃取,适合于复杂网络的情况,而且密钥可快速不被窃取,适合于复杂网络的情况,而且密钥可快速更新,可以显著提高更新,可以显著提高VPN应用的安全性。应用的安全性。9.2.4 密钥管理技术密钥管理技术目前主要的密钥交换与管理标准有目前主要的密钥交换与管
29、理标准有SKIP(Simple Key Management for IP)和)和ISAKMP(Internet Security Association and Key Management Protocol,Internet安全联盟和密钥管理协议,安全联盟和密钥管理协议,RFC2408)/Oakley(RFC2412)。)。SKIP是由是由SUN所发展的技术,主要利用所发展的技术,主要利用DiffieHellman算法在网络上传输密钥。在算法在网络上传输密钥。在ISAKMP/Oakley中,中,Oakley定义如何辨认及确认密定义如何辨认及确认密钥,钥,ISAKMP定义分配密钥的方法。定义
30、分配密钥的方法。第二层隧道协议用于传输第二层网络协议,它主要应第二层隧道协议用于传输第二层网络协议,它主要应用于构建用于构建Access VPN。9.3 第二层隧道协议第二层隧道协议L2F、PPTP和和L2TP第二层隧道协议主要有第二层隧道协议主要有3种:一种是由种:一种是由Cisco、Nortel等公司支持的等公司支持的L2F协议,协议,Cisco路由器中支持此协议;路由器中支持此协议;另一种是另一种是Microsoft、Ascend、3COM等公司支持的等公司支持的PPTP协议,协议,Windows NT 4.0以上版本中支持此协议;以上版本中支持此协议;而成为二层隧道协议工业标准的是由而
31、成为二层隧道协议工业标准的是由IETF起草并由起草并由Microsoft、Ascend、Cisco、3COM等公司参与制定等公司参与制定的的L2TP协议,它结合了上述两个协议的优点。这一协议,它结合了上述两个协议的优点。这一节分别讨论这节分别讨论这3个协议。个协议。在具体讨论协议之前,先看一下隧道技术中的几个基在具体讨论协议之前,先看一下隧道技术中的几个基本概念。本概念。无论何种隧道协议,其数据包格式都是由乘客协议、无论何种隧道协议,其数据包格式都是由乘客协议、封装协议和传输协议封装协议和传输协议3部分组成的。下面部分组成的。下面 以以L2TP为为例,如图例,如图9.4所示,看一下隧道协议的组
32、成。所示,看一下隧道协议的组成。9.3.1 隧道协议的基本概念隧道协议的基本概念图图9.4 隧道协议的封装隧道协议的封装(1)乘客协议:乘客协议是指用户要传输的数据,乘客协议:乘客协议是指用户要传输的数据,也就是被封装的数据,它们可以是也就是被封装的数据,它们可以是IP、PPP、SLIP等等。这是用户真正要传输的数据,如果是。这是用户真正要传输的数据,如果是IP协议,其中协议,其中包含的地址有可能是保留包含的地址有可能是保留IP地址。地址。(2)封装协议:封装协议用于建立、保持和拆卸隧封装协议:封装协议用于建立、保持和拆卸隧道。即将讨论的道。即将讨论的L2F、PPTP、L2TP、GRE就属于封
33、就属于封装协议。装协议。(3)传输协议:乘客协议被封装之后应用传输协议,传输协议:乘客协议被封装之后应用传输协议,图图9.4中使用中使用UDP协议对协议对L2TP协议数据包进行了封装。协议数据包进行了封装。为了理解隧道,不妨用邮政系统打个比方。乘客协议为了理解隧道,不妨用邮政系统打个比方。乘客协议就是我们写的信,信的语言可以是汉语、英语、法语就是我们写的信,信的语言可以是汉语、英语、法语等,具体如何解释由写信人、读信人自己负责,这就等,具体如何解释由写信人、读信人自己负责,这就对应于多种乘客协议,对乘客协议数据的解释由隧道对应于多种乘客协议,对乘客协议数据的解释由隧道双方负责。封装协议就是信封
34、,可能是平信、挂号或双方负责。封装协议就是信封,可能是平信、挂号或者是者是EMS,这对应于多种封装协议,每种封装协议,这对应于多种封装协议,每种封装协议的功能和安全级别有所不同。传输协议就是信的运输的功能和安全级别有所不同。传输协议就是信的运输方式,可以是陆运、海运或者空运,这对应于不同的方式,可以是陆运、海运或者空运,这对应于不同的传输协议。传输协议。根据隧道的端点是用户计算机还是拨号接入服务器,根据隧道的端点是用户计算机还是拨号接入服务器,隧道可以分为两种:自愿隧道(隧道可以分为两种:自愿隧道(Voluntary Tunnel)和强制隧道(和强制隧道(Compulsory Tunnel)。
35、)。1.自愿隧道自愿隧道客户端计算机可以通过发送客户端计算机可以通过发送VPN请求来配置和创建一请求来配置和创建一条自愿隧道,此时用户端计算机作为隧道的客户方成条自愿隧道,此时用户端计算机作为隧道的客户方成为隧道的一个端点。为了创建自愿隧道,工作站或路为隧道的一个端点。为了创建自愿隧道,工作站或路由器上必须安装隧道客户软件,并创建到目标隧道服由器上必须安装隧道客户软件,并创建到目标隧道服务器的虚拟连接。目前,自愿隧道是最普遍使用的隧务器的虚拟连接。目前,自愿隧道是最普遍使用的隧道类型。道类型。创建自愿隧道的前提是客户端和服务器之间要有一条创建自愿隧道的前提是客户端和服务器之间要有一条IP连接(
36、通过局域网或拨号线路)。使用拨号方式时,连接(通过局域网或拨号线路)。使用拨号方式时,客户端必须在建立隧道之前创建与客户端必须在建立隧道之前创建与Internet的拨号连的拨号连接。一个最典型的例子是接。一个最典型的例子是Internet拨号用户必须在创拨号用户必须在创建建Internet隧道之前拨通本地隧道之前拨通本地ISP,以取得与,以取得与Internet的连接。的连接。一种误解认为一种误解认为VPN只能使用拨号连接,其实,建立只能使用拨号连接,其实,建立VPN只要求只要求IP网络的支持即可。一些客户机(如家用网络的支持即可。一些客户机(如家用PC)可以通过使用拨号方式连接)可以通过使用
37、拨号方式连接Internet建立建立IP传输,传输,这只是为创建隧道所做的初步准备,本身并不属于隧这只是为创建隧道所做的初步准备,本身并不属于隧道协议。道协议。2.强制隧道强制隧道强制隧道由支持强制隧道由支持VPN的拨号接入服务器来配置和创建的拨号接入服务器来配置和创建。此时,用户端的计算机不作为隧道端点,而是由位。此时,用户端的计算机不作为隧道端点,而是由位于客户计算机和隧道服务器之间的拨号接入服务器作于客户计算机和隧道服务器之间的拨号接入服务器作为隧道客户端,成为隧道的一个端点。为隧道客户端,成为隧道的一个端点。能够代替客户端计算机来创建隧道的网络设备包括支能够代替客户端计算机来创建隧道的
38、网络设备包括支持持PPTP协议的协议的FEP(FrontEnd Processor,前端,前端处理器)、支持处理器)、支持L2TP协议的协议的LAC(L2TP Access Concentrator,L2TP接入集中器)或支持接入集中器)或支持IPSec的安的安全全IP网关。为正常地发挥功能,网关。为正常地发挥功能,FEP必须安装适当的必须安装适当的隧道协议,同时必须能够在客户计算机建立起连接时隧道协议,同时必须能够在客户计算机建立起连接时创建隧道。创建隧道。以以Internet为例,客户机向位于本地为例,客户机向位于本地ISP的能够提供隧的能够提供隧道技术的道技术的NAS(Network A
39、ccess Server)发出拨号呼)发出拨号呼叫,例如,企业可以与某个叫,例如,企业可以与某个ISP签订协议,由签订协议,由ISP为为企业在全国范围内设置一套企业在全国范围内设置一套FEP,这些,这些FEP可以通过可以通过Internet创建一条到隧道服务器的隧道,隧道服务器创建一条到隧道服务器的隧道,隧道服务器与企业的专用网络相连。这样,就可以将不同地方合与企业的专用网络相连。这样,就可以将不同地方合并成企业网络端的一条单一的并成企业网络端的一条单一的Internet连接。连接。因为客户只能使用由因为客户只能使用由FEP创建的隧道,所以称为强制创建的隧道,所以称为强制隧道。一旦最初的连接成
40、功,所有客户端的数据流将隧道。一旦最初的连接成功,所有客户端的数据流将自动通过隧道发送。使用强制隧道,客户端计算机建自动通过隧道发送。使用强制隧道,客户端计算机建立单一的立单一的PPP连接,当客户拨入连接,当客户拨入NAS时,一条隧道将时,一条隧道将被创建,所有的数据流自动通过该隧道路由。可以配被创建,所有的数据流自动通过该隧道路由。可以配置置FEP为所有的拨号客户创建到指定隧道服务器的隧为所有的拨号客户创建到指定隧道服务器的隧道,也可以配置道,也可以配置FEP基于不同的用户名或目的地创建基于不同的用户名或目的地创建不同的隧道。不同的隧道。自愿隧道技术为每个客户创建独立的隧道,而强制隧自愿隧道
41、技术为每个客户创建独立的隧道,而强制隧道中道中FEP和隧道服务器之间建立的隧道可以被多个拨和隧道服务器之间建立的隧道可以被多个拨号客户共享,而不必为每个客户建立一条新的隧道。号客户共享,而不必为每个客户建立一条新的隧道。因此,一条隧道中可能会传递多个客户的数据信息,因此,一条隧道中可能会传递多个客户的数据信息,只有在最后一个隧道用户断开连接之后才终止整条隧只有在最后一个隧道用户断开连接之后才终止整条隧道。道。L2F(Layer Two Forwarding Protocol,二层转发协,二层转发协议)是由议)是由Cisco公司提出的隧道技术,可以支持多种公司提出的隧道技术,可以支持多种传输协议
42、,如传输协议,如IP、ATM、帧中继。、帧中继。首先,远端用户通过任何拨号方式接入公共首先,远端用户通过任何拨号方式接入公共IP网络,网络,例如,按常规方式拨号到例如,按常规方式拨号到ISP的的NAS,建立,建立PPP连接;连接;然后,然后,NAS根据用户名等信息,发起第二重连接,通根据用户名等信息,发起第二重连接,通向企业的本地向企业的本地L2F网关服务器,这个网关服务器,这个L2F服务器把数服务器把数据包解包之后发送到企业内部网上。据包解包之后发送到企业内部网上。在在L2F中,隧道的配置和建立对用户是完全透明的,中,隧道的配置和建立对用户是完全透明的,L2F没有确定的客户方。没有确定的客户
43、方。9.3.2 L2FPPTP(Point to Point Tunneling Protocol,点到点隧,点到点隧道协议)在道协议)在RFC-2637中定义,该协议将中定义,该协议将PPP数据包数据包封装在封装在IP数据包内通过数据包内通过IP网络(如网络(如Internet或或Intranet)进行传送。)进行传送。PPTP协议可看作是协议可看作是PPP协议的协议的一种扩展,它提供了一种在一种扩展,它提供了一种在Internet上建立多协议的上建立多协议的VPN的通信方式,远端用户能够通过任何支持的通信方式,远端用户能够通过任何支持PPTP的的ISP访问公司的专用网络。访问公司的专用网络
44、。9.3.3 PPTPPPTP协议提供了协议提供了PPTP客户端和客户端和PPTP服务器之间的服务器之间的加密通信。加密通信。PPTP客户端是指运行了客户端是指运行了PPTP协议的协议的PC机机,如支持该协议的,如支持该协议的Windows客户机;客户机;PPTP服务器服务器是指运行该协议的服务器,如支持该协议的是指运行该协议的服务器,如支持该协议的Windows NT服务器。服务器。PPTP客户端和服务器进行客户端和服务器进行VPN通信的前通信的前提是二者之间有连通且可用的提是二者之间有连通且可用的IP网络,也就是说网络,也就是说PPTP客户端必须能够通过客户端必须能够通过IP网络访问网络访
45、问PPTP服务器。服务器。如果如果PPTP客户端是通过拨号上网,则要先拨号到本客户端是通过拨号上网,则要先拨号到本地的地的ISP建立建立PPP连接连接,从而可以访问,从而可以访问Internet。如果。如果PPTP客户端直接连接到客户端直接连接到IP网络网络,即可直接通过该,即可直接通过该IP网络与网络与PPTP服务器取得连接。服务器取得连接。PPTP客户端和服务器之间的报文有两种:控制报文客户端和服务器之间的报文有两种:控制报文负责负责PPTP隧道的建立、维护和断开;数据报文负责隧道的建立、维护和断开;数据报文负责传输用户的真正数据。传输用户的真正数据。1.控制报文控制报文PPTP客户端客户
46、端“拨号拨号”到到PPTP服务器创建服务器创建PPTP隧道,隧道,这里的这里的“拨号拨号”并不是拨服务器的电话号码,而是连并不是拨服务器的电话号码,而是连接接PPTP服务器的服务器的TCP 1723端口建立控制连接。控制端口建立控制连接。控制连接负责隧道的建立、维护和断开。连接负责隧道的建立、维护和断开。PPTP控制连接控制连接携带携带PPTP呼叫控制和管理信息,用于维护呼叫控制和管理信息,用于维护PPTP隧道,隧道,其中包括周期性地发送回送请求和回送应答报文,以其中包括周期性地发送回送请求和回送应答报文,以期检测出客户机与服务器之间可能出现的连接中断。期检测出客户机与服务器之间可能出现的连接
47、中断。PPTP控制连接数据包包括一个控制连接数据包包括一个IP报头、一个报头、一个TCP报报头和头和PPTP控制信息,如图控制信息,如图9.5所示。所示。图图9.5 PPTP控制报文控制报文在创建基于在创建基于PPTP的的VPN连接过程中,使用的认证机连接过程中,使用的认证机制与创建制与创建PPP连接时相同。此类认证机制主要有连接时相同。此类认证机制主要有EAP、MS-CHAP、CHAP、SPAP和和PAP。PPTP继承继承PPP有效载荷的加密和压缩。在有效载荷的加密和压缩。在Windows 2000中,由于中,由于PPP帧使用帧使用MPPE(Microsoft Point to Point
48、Encryption,微软点对点加密技术)进行加密,微软点对点加密技术)进行加密,因此认证机制必须采用因此认证机制必须采用EAP或或MS-CHAP。2.数据报文数据报文在隧道建好之后,真正的用户数据经过加密和在隧道建好之后,真正的用户数据经过加密和/或压或压缩之后,再依次经过缩之后,再依次经过PPP、GRE、IP的封装最终得到的封装最终得到一个一个IP包,如图包,如图9.6所示,通过所示,通过IP网络发送到网络发送到PPTP服服务器;务器;PPTP服务器收到该服务器收到该IP后层层解包,得到真正后层层解包,得到真正的用户数据,并将用户数据转发到内部网络上。用户的用户数据,并将用户数据转发到内部
49、网络上。用户的数据可以是多种协议,比如的数据可以是多种协议,比如IP数据包、数据包、IPX数据包数据包或者或者NetBEUI数据包。数据包。PPTP采用采用RSA公司的公司的RC4作作为数据加密算法,保证了隧道通信的安全性。为数据加密算法,保证了隧道通信的安全性。图图9.6 PPTP数据报文数据报文与与L2F相比,相比,PPTP把建立隧道的主动权交给了用户,把建立隧道的主动权交给了用户,但用户需要在其但用户需要在其PC机上配置机上配置PPTP,这样不仅增加了,这样不仅增加了用户的工作量,而且造成网络的安全隐患。另外,用户的工作量,而且造成网络的安全隐患。另外,PPTP只支持只支持IP作为其传输
50、协议。作为其传输协议。L2TP(Layer Two Tunneling Protocol,第二层隧道,第二层隧道协议)由协议)由RFC 2661定义,它结合了定义,它结合了L2F和和PPTP的优的优点,可以让用户从客户端或访问服务器端发起点,可以让用户从客户端或访问服务器端发起VPN连连接。接。L2TP是由是由Cisco、Ascend、Microsoft等公司在等公司在1999年联合制定的,已经成为二层隧道协议的工业标年联合制定的,已经成为二层隧道协议的工业标准,并得到了众多网络厂商的支持。准,并得到了众多网络厂商的支持。L2TP协议支持协议支持IP、X.25、帧中继或、帧中继或ATM等作为传