防火墙L2TP VPN技术
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 客户端通过NAS与VPDN网关建立隧道的方式。
这种方式将客户的PPP连
接直接连到企业的网关上,目前可使用的协议有L2F与L2TP等。
其好处在于:
对用户是透明的,用户只需要登录一次就可以接入企业网络,由企业网进行用户
认证和地址分配,而不占用公共地址,用户可使用各种平台上网。
这种方式需要
NAS 支持VPDN 协议,需要认证系统支持VPDN 属性,网关一般使用防火墙
或VPN 专用服务器。
2. 客户端与VPDN 网关直接建立隧道的方式。
这种方式由客户机先建立与
Internet的连接,再通过专用的客户软件(如Windows系统支持的L2TP客户端)
与网关建立通道连接。
其好处在于:用户上网的方式和地点没有限制,不需ISP
介入。
缺点是:用户需要安装专用的软件,受用户使用平台的限制,而且VPN
维护难度较大。
PDF 文件使用 "pdfFactory Pro" 试用版本创建w
络自身的不足。
另外,L2TP协议还结合了L2F协议和PPTP协议的各自优点,
成为IETF有关二层隧道协议的工业标准。
PDF 文件使用 "pdfFactory Pro" 试用版本创建w
幻灯片 8
作为L2TP隧道的另一侧端点,是LAC的对端设备,是LAC进行隧道传输的PPP会话的逻辑终止端点。
远程拨号用户发起。
用户通过PSTN/ISDN接入NAS,获得访问Internet权限然后直接向远端LNS 服务器发起L2TP连接。
此时客户可直接向LNS发起通道连接请求,无需再经过一个单独的LAC设备。
LAC客户地址的分配由LNS来完成。
这种方式的L2TP协议允许移动用户直接发起L2TP隧道连接,要求移动用户安装VPDN的客户端软件,需要知道LNS的IP地址。
客户端软件可以是windows 自带的L2TP VPN拨号软件,也可以是华赛的secoway VPNClient。
此类组网适用于单人上网访问企业网。
各组件的工作如下:
VPN Client: 首先获得公网地址,与LNS之间保持连通,向LNS发起建立隧道请求;
LNS: 为用户分配私网地址,准许用户接入内部网络。
幻灯片 9
当在LAC设备上对用户的用户名、密码进行验证的时候,根据用户名就可以知道是L2TP隧道用户,然后自动向LNS设备发起连接,用户自然就接入到了自己的企业VPN中了。
此方案适用于小型局域网访问公司总部网络。
各组件的工作如下:
VPN Client: 向LAC设备发起PPP连接;
LAC: 判断用户是否是L2TP用户,如果是,判断用户向哪个LNS发起隧道请求;
LNS:为用户分配私网地址,准许用户接入内部网络。
对于这种方式的VPDN接入,主要有如下几个特点:
用户必须采用PPP的方式接入到Internet,比如PPPOE或者是传统的PPP拨号方式等。
在运营商的接入设备上(主要是BAS设备)需要开通相应的VPN服务。
用户需要到运营商出申请这个业务。
对客户端没有任何要求,用户自己也感知不到已经接入到了企业网,完全是运营商来提供L2TP隧道服务。
一个隧道承载多个会话。
幻灯片 10
3. 封装公网IP头:用于该报文在IP网(Internet)转发,注意LAC使用L2TP 隧道的起点和终点地址来封装公网IP头.
LNS收到L2TP报文以后,解封装过程如下:
1. 检查公网IP头和UDP头信息:LNS首先通过UDP端口标识该报文为L2TP 报文,然后检查公网IP头的源目的地址是否和本地已经建立成功的L2TP隧道源目的地址相同,如果相同则解封装公网IP头和UDP头,否则丢弃报文。
2. 检查L2TP头信息:LNS读取L2TP头中的Tunnel ID和Session ID信息,检查其是否和本地已经建立成功的L2TP Tunnel ID和L2TP Session ID相同,如果相同则解封装,否则丢弃报文。
3. 检查PPP头信息:LNS检查PPP头中的相关信息是否正确,然后解封装PPP 头。
4. 得到私网IP报文:此时LNS处理报文的过程就和收到一个普通的IP报文处理过程一致,将私网IP报文送入上层模块或者进行路由处理。
LNS发往LAC的报文封装和解封装过程和上面类似,主要区别是LAC解封装过程中将公网IP头、UDP头和L2TP头解封装以后,不再解封装PPP头,而是直接将PPP报文通过PPP Session发往Client。
幻灯片 11
T:标识了消息类型,0为数据消息,1为控制消息。
L:对于控制消息必须为1,如果L为1,则Length字段必须存在。
X:保留用于以后扩展。
S:对于控制消息必须为1,如果S为1,则Ns和Nr字段必须存在。
O:对于控制消息必须为0,如果O为1,则Offset字段必须存在。
P:对于控制消息必须为1,之用于数据消息,表明该报文应该优先处理,对于某些时延或者丢包敏感的应用必须将其设为1,例如PPP的LCP Echo Requests 等消息。
Version:必须为2,标识版本号。
Length:表明报文的整个长度。
Tunnel ID:标识一个控制连接。
L2TP的Tunnel是在本地用ID消息标识的,并且是本地有效的。
对于同一个Tunnel,本地ID和远端的ID完全可能不同。
注意Tunnel ID是由接收者收到报文以后来定义的,而不是由发送者定义的。
Tunnel ID的选择和交换是在Tunnel建立时通过Tunnel ID AVP完成的。
Session ID:标识在一个Tunnel内部不同Session,和Tunnel ID一样,Session ID也是本地定义本地有效的。
Session ID的选择和交换是在Session建立时通过Session ID AVP完成的。
Ns:标识了数据或者控制消息的序列号,第一个消息Ns应该为0,然后每次增加1。
Nr:控制消息使用,标识希望收到的下一个控制消息的序列号,Nr为上一次收到的Ns号码加1。
对于数据消息,Nr保留,如果数据消息收到了Nr则必须将其忽略。
Offset Size:标识Payload相对于L2TP报文头偏移量。
Offset pad:偏移填充项,填充内容无具体定义。
该字段仅仅是为了格式需要。
幻灯片 12
6. LAC端向指定LNS发起Tunnel连接请求。
7. LAC端向指定LNS发送CHAP challenge 信息,LNS回送该challenge响应消息CHAPresponse,并发送LNS 侧的CHAP challenge,LAC返回该challenge 的响应消息CHAPresponse。
8. 隧道验证通过。
9. LAC端将用户CHAP response、response identifier和PPP协商参数传送给LNS。
10. LNS将接入请求信息发送给RADIUS服务器进行认证。
11. RADIUS服务器认证该请求信息,如果认证通过则返回响应信息。
12. 若用户在LNS侧配置强制本端CHAP认证,则LNS对用户进行认证,发送CHAPchallenge,用户侧回应CHAP response。
幻灯片 13
通过使用扩展验证协议(EAP),第2层隧道协议能够支持多种验证方法,包括一次性口令(One-Time Password),加密计算器(Cryptographic Calculator)和智能卡等。
第3层隧道协议也支持使用类似的方法,例如,IPSec协议通过ISAKMP/Oakley协商确定公共密钥证书验证。
动态地址分配
第2层隧道协议支持在网络控制协议(NCP)协商机制的基础上动态分配客户地址。
第3层隧道协议通常假定隧道建立之前已经进行了地址分配。
目前IPSec 隧道模式下的地址分配
数据压缩
第2层隧道协议支持基于PPP的数据压缩方式。
例如,微软的PPTP和L2TP 方案使用微软点对点加密协议(MPPE)。
IETP正在开发应用于第3层隧道协议的类似数据压缩机制。
数据加密
第2层隧道协议支持基于PPP的数据加密机制。
微软的PPTP方案支持在RSA/RC4算法的基础上选择使用MPPE。
第3层隧道协议可以使用类似方法,例如,IPSec通过ISAKMP/Oakley协商确定几种可选的数据加密方法。
微软的L2TP协议使用IPSec加密保障隧道客户端和服务器之间数据流的安全。
密钥管理
作为第2层协议的MPPE依靠验证用户时生成的密钥,定期对其更新。
IPSec 在ISAKMP交换过程中公开协商公用密钥,同样对其进行定期更新。
多协议支持
第2层隧道协议支持多种负载数据协议,从而使隧道客户能够访问使用IP, IPX 或NetBEUI等多种协议企业网络。
相反,第3层隧道协议,如IPSec隧道模式只能支持使用IP协议的目标网络。