Chinaunix首页 | 论坛 | 博客
  • 博客访问: 188752
  • 博文数量: 64
  • 博客积分: 1451
  • 博客等级: 上尉
  • 技术积分: 665
  • 用 户 组: 普通用户
  • 注册时间: 2009-08-24 10:07
文章分类

全部博文(64)

文章存档

2010年(7)

2009年(57)

我的朋友

分类: LINUX

2010-04-12 11:48:04

转自:http://blog.sina.com.cn/s/blog_45288d2b010088he.html

L2TP(Layer Two Tunneling Protocol,第二层通道协议)是VPDN(虚拟专用拨号网络)技术的一种,专门用来进行第二层数据的通道传送,即将第二层数据单元,如点到点协议(PPP)数据单元,封装在IP或UDP载荷内,以顺利通过包交换网络(如Internet),抵达目的地。

     L2TP提供了一种远程接入访问控制的手段,其典型的应用场景是:某公司员工通过PPP拨入公司本地的网络访问服务器(NAS),以此接入公司内部网络, 获取IP地址并访问相应权限的网络资源;该员工出差到外地,此时他想如同在公司本地一样以内网IP地址接入内部网络,操作相应网络资源,他的做法是向当地 ISP申请L2TP服务,首先拨入当地ISP,请求ISP与公司NAS建立L2TP会话,并协商建立L2TP隧道,然后ISP将他发送的PPP数据通道化 处理,通过L2TP隧道传送到公司NAS,NAS就从中取出PPP数据进行相应的处理,如此该员工就如同在公司本地那样通过NAS接入公司内网。

     从上述应用场景可以看出L2TP隧道是在ISP和NAS之间建立的,此时ISP就是L2TP访问集中器(LAC),NAS也就是L2TP网络服务器 (LNS)。LAC支持客户端的L2TP,用于发起呼叫,接收呼叫和建立隧道,LNS则是所有隧道的终点。在传统的PPP连接中,用户拨号连接的终点是 LAC,L2TP使得PPP协议的终点延伸到LNS。

     L2TP本质上是一种隧道传输协议,它使用两种类型的消息:控制消息和数据隧道消息。控制消息负责创建、维护及终止L2TP隧道,而数据隧道消息则负责用 户数据的真正传输。L2TP支持标准的安全特性CHAP和PAP,可以进行用户身份认证。在安全性考虑上,L2TP仅定义了控制消息的加密传输方式,对传 输中的数据并不加密。

     IPsec(IP Security),顾名思义,是保障IP层安全的网络技术,它并不是指某一项具体的协议,而是指用于实现IP层安全的协议套件集合。IPsec实质上也 是一种隧道传输技术,它将IP分组或IP上层载荷封装在IPsec报文内,并根据需要进行加密和完整性保护处理,以此保证数据在公共网络中传输过程的安 全。

     IPsec支持两种协议标准,鉴别首部(Authenticaion Header,AH)和封装安全有效载荷(Encapsulation Security Payload,ESP):

AH可证明数据的起源地(数据来源认证)、保障数据的完整性以及防止相同的数据包不断重播(抗重放攻击);
ESP能提供的安全服务则更多,除了上述AH所能提供的安全服务外,还能提供数据机密性,这样可以保证数据包在传输过程中不被非法识别;
AH与ESP提供的数据完整性服务的差别在于,AH验证的范围还包括数据包的外部IP头。
     为正确实施IPsec封装及解封装IP数据包,必须建立IPsec隧道,也就是需要定义加密或鉴别算法、算法使用的密钥、密钥保持有效的生命期以及授权可用的数据访问策略等信息,这也被称为"安全联盟(Security Association,SA)"。

     通常采用IKE(Internet Key Exchange,因特网密钥交换)协议来协商建立IPsec隧道。IKE协商实际上有两个阶段:

第一阶段协商,是在IPsec通信双方之间建立IKE的安全通道,即建立IKE SA,这个过程有两种模式,一种是常用的主模式(Main Mode),能提供身份保护服务,但需要较多的消息交互(多达六条消息),另一种是比较迅速的积极模式(Aggressive Mode),但协商能力较弱,也不能提供身份保护功能;
第二阶段协商是在IKE SA的保护下进行的,其目的是为特定的通信流协商IPsec安全通道,即建立IPsec SA。
     由此可以看出IKE的主要作用是负责建立、维护和终止IPsec安全通道,通过其他的一些消息交换过程,可以帮助维持IPsec通道的可用性和安全性,服务于IPsec数据的安全传输。

     这与L2TP控制消息帮助建立和维护L2TP数据传输通道的作用有异曲同工之妙。两者都可以提供通信双方之间的身份认证,并且都可以在提供完整性保护和机 密性服务的环境下进行安全的有关参数协商和消息交互;同时还能根据各自的特点,提供一种保活(keepalive)机制来负责协调隧道双方的状态的同步, 提高隧道的容错性和稳定性,所不同的是,IKE是充分利用IPsec通信流存在即对方活跃状态的证明的特点,以此减少保活报文通信量,这种方式也被称 为"DPD(Dead Peer Detection,死亡对端探测)"。此外IKE的协商能力也远大于L2TP控制消息交互。

     L2TP与IPsec的一个最大的不同在于它不对隧道传输中的数据进行加密,从而没法保证数据传输过程中的安全。因此这个时候,L2TP常和IPsec结 合使用,先使用L2TP封装第二层数据,再使用IPsec封装对数据进行加密和提供完整性保护,由此保证通信数据安全传送到目的地。

     L2TP由于封装的是第二层协议数据,因此可以认为是一种L2VPN(第二层VPN)技术。最新的L2TP协议草案(L2TP v3)表明,L2TP不仅可以封装PPP数据单元,还可以封装其他第二层协议数据,如Ethernet(以太网)、Frame Relay(帧中继)等。因此L2TP的作用已经扩展到将异地的局域网通过L2TP隧道跨越公共网络连接在一起,也就是实现异地局域网互联,这样可以将某 些局域网技术如VLAN(虚拟局域网)应用到异地局域网之间,从而利用公共网络来模拟局域网。当然其数据传输过程中的安全性仍然依赖于IPsec来提供。 同时由于对数据进行了层层封装,这样难免影响效率,导致性能不高。

     IPsec封装的是IP层数据,或是IP上层协议载荷,因此可以认为是一种构建L3VPN(第三层VPN)的技术。其最大的特点是为数据传输过程提供了机 密性、完整性保护和数据源验证,从而确保承载于公共网络的VPN的安全性和可靠性,同时由于添加的协议头并不多,且还可以利用硬件加密卡加速IPsec报 文的处理,因而效率上得到了很大的提高;此外IKE协商过程能提供比较完备的用户身份认证,这就使得可以对IPsec用户访问实施有力控制,从而进一步保 证了网络的安全。

    因此就一般企业用户构建安全的VPN而言,应该使用IPsec技术,当然如果需要实现安全的VPDN,就应该采用L2TP+IPsec组合技术。


转自:http://blog.chinaunix.net/u/26185/showart_1386458.html

L2TP隧道的呼叫建立流程过程为:
(1)        用户端PC机发起呼叫连接请求;
(2)        PC机和LAC端(Eudemon_A)进行PPP LCP协商;
(3)        LAC对PC机提供的用户信息进行PAP或CHAP认证;
(4)        LAC将认证信息(用户名、密码)发送给RADIUS服务器进行认证;
(5)        RADIUS服务器认证该用户,如果认证通过则返回该用户对应的LNS地址等相关信息,并且LAC准备发起Tunnel连接请求;
(6)        LAC端向指定LNS发起Tunnel连接请求;
(7)        LAC端向指定LNS发送CHAP challenge信息,LNS回送该challenge响应消息CHAP response,并发送LNS侧的CHAP challenge,LAC返回该challenge的响应消息CHAP response;
(8)        隧道验证通过;
(9)        LAC端将用户CHAP response、response identifier和PPP协商参数传送给LNS;
(10)    LNS将接入请求信息发送给RADIUS服务器进行认证;
(11)    RADIUS服务器认证该请求信息,如果认证通过则返回响应信息;
(12)    若用户在LNS侧配置强制本端CHAP认证,则LNS对用户进行认证,发送CHAP challenge,用户侧回应CHAP response;
(13)    LNS再次将接入请求信息发送给RADIUS服务器进行认证;
(14)    RADIUS服务器认证该请求信息,如果认证通过则返回响应信息;
(15)    验证通过,用户访问企业内部资源。

阅读(3205) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~