L2TPv2 VPN
- 1、L2TPv2概述
- 1.1.目的
- 1.2.特点
- 2、L2TP原理
- 2.1.基本概念
- 2.2.工作原理
- 2.2.1.协议架构
- 2.2.2.报文结构
- 2.2.3.报文封装
- 2.2.4.报文传输
- 3、工作过程
- 4、应用场景
- 4.1、远程拨号用户发起L2TP隧道连接
- 4.2、LAC接入拨号请求发起L2TP隧道连接
- 4.3、LAC接入PPPoE用户发起L2TP隧道连接
- 4.4、L2TP Client发起L2TP隧道连接
- 4.5、LAC接入多域用户发起L2TP隧道连接
- 4.6、RADIUS服务器认证VPDN用户
- 4.7、L2TP使用IPSec封装建立安全隧道连接
- 4.8、IPSec使用L2TP封装建立安全隧道连接
——————————————————————————————————————————————————
1、L2TPv2概述
二层隧道协议L2TP是虚拟私有拨号网VPDN隧道协议的一种,扩展了点到点协议PPP的应用,是远程拨号用户接入企业总部网络的一种重要VPN技术。L2TP通过拨号网络,基于PPP的协商,建立企业分支用户到企业总部的隧道,使远程用户可以接入企业总部。
PPPoE技术更是扩展了L2TP的应用范围,通过以太网络连接Internet,建立远程移动办公人员到企业总部的L2TP隧道。
——————————————————————————————————————————————————
1.1.目的
在不同地域成立的分支机构和出差的员工,需要和总部建立快速、安全和可靠的网络连接。为了方便远程用户的接入,产生了基于拨号网络的VPN,即VPDN。通过VPDN技术,远程用户和企业总部网关之间建立了一条点到点虚拟链路。
VPDN有以下3种常用的隧道技术:
点到点隧道协议PPTP
二层转发L2F
二层隧道协议L2TP
L2TP集合了PPTP和L2F两种协议的优点,目前已被广泛接受,主要应用在单个或少数远程终端通过公共网络接入企业内联网的需要。
——————————————————————————————————————————————————
1.2.特点
L2TP对PPP报文进行封装,在公共网络上建立虚拟链路传输企业的私有数据,节省了租用物理专线的高额费用。同时将企业从复杂和专业的网络维护中解放出来,只需要维护私有网络和远程接入的用户,降低了维护成本。
灵活的身份验证机制以及高度的安全性
1、使用PPP提供的安全特性(如PAP、CHAP),对接入用户进行身份认证。
2、定义了控制消息的加密传输方式,支持L2TP隧道的认证。
3、对传输的数据不加密,但可以和IPSec结合应用,为数据传输提供高度的安全保证。
多协议传输
L2TP传输PPP数据包,PPP可以传输多种协议报文,所以L2TP可以在IP网络上使用。
支持Radius服务器的验证
接入用户不仅支持本地认证,还支持将拨号接入的用户名和密码发往RADIUS服务器进行认证。
支持私网地址分配
应用L2TP的企业总部网关,可以为远程用户动态分配私网地址。
可靠性
支持备份LNS,当一个主LNS不可达之后,LAC可以与备份LNS建立连接,增强了VPN服务的可靠性。
——————————————————————————————————————————————————
2、L2TP原理
——————————————————————————————————————————————————
2.1.基本概念
VPDN:承载PPP报文的VPN,可以为企业、小型ISP、移动办公人员提供接入服务。
PPP终端接入拨号网络,拨号到NAS。NAS收到PPP报文后进行L2TP封装,最外层的IP报头经过公网路由转发后到达LNS。LNS收到报文后解封装,还原PPP报文,完成了PPP报文在公共网络上的透明传输,从而在PPP终端和LNS之间建立了VPDN连接。随着以太网络的普及,PPP终端不再受限于传统的拨号网络,使用PPPoE技术,即可通过以太网络接入LAC。
PPP终端:L2TP应用中,PPP终端指发起拨号,将数据封装为PPP类型的设备,如远程用户PC、企业分支网关等。
NAS:网络接入服务器,主要由ISP维护,连接拨号网络,NAS用于传统的拨号网络中,为远程拨号用户提供VPDN服务,和企业总部建立隧道连接。
LAC:访问集中器,是交换网络上具有PPP和L2TP处理能力的设备。LAC根据PPP报文中所携带的用户名或者域名信息,和LNS建立L2TP隧道连接,将PPP协商延展到LNS。
在不同的组网环境中,LAC可以是不同的设备:
在传统的拨号网络中,ISP在NAS上部署LAC。
在企业分支的以太网络中,为PPP终端配备网关设备,网关作为PPPoE服务器,同时部署为LAC。
出差人员使用PC终端接入Internet,在PC上安装L2TP拨号软件,则PC终端为LAC。
LAC可以发起建立多条L2TP隧道使数据流之间相互隔离,即LAC可以承载多条VPDN连接。
LNS:网络服务器,终止PPP会话的一端,通过LNS的认证,PPP会话协商成功,远程用户可以访问企业总部的资源。对L2TP协商,LNS是LAC的对端设备,即LAC和LNS建立了L2TP隧道;对PPP,LNS是PPP会话的逻辑终止端点,即PPP终端和LNS建立了一条点到点的虚拟链路。
**隧道和会话:**在LAC和LNS的L2TP交互过程中存在两种类型的连接,隧道连接和会话连接。
1、L2TP隧道在LAC和LNS之间建立,一对LAC和LNS可以建立多个L2TP隧道,一个L2TP隧道可以包含多个L2TP会话。
2、L2TP会话发生在隧道连接成功之后,L2TP会话表示承载在隧道连接中的一个PPP会话过程。
——————————————————————————————————————————————————
2.2.工作原理
——————————————————————————————————————————————————
2.2.1.协议架构
L2TP协议包含两种类型的消息,控制消息和数据消息,消息的传输在LAC和LNS之间进行。
控制消息
用于L2TP隧道和会话连接的建立、维护和拆除。控制消息承载在L2TP控制通道上,控制通道实现了控制消息的可靠传输,将控制消息封装在L2TP报头内,再经过IP网络传输。
数据消息
用于封装PPP数据帧并在隧道上传输。数据消息是不可靠的传输。不重传丢失的数据报文,不支持对数据消息的流量控制和拥塞控制。
L2TP协议使用UDP端口1701,仅用于初始隧道的建立。隧道发起方任选一个空闲端口向接收方的1701端口发送报文;接收方收到报文后,也任选一个空闲端口,给发起方的选定的端口回送报文。
——————————————————————————————————————————————————
2.2.2.报文结构
远程用户拨号产生的PPP报文经L2TP封装后的报文格式:
L2TP报文进行了多次封装,比原始报文多出38个字节(如果需要携带序列号信息,则比原始报文多出42个字节),封装后报文的长度可能会超出接口的MTU值,协议本身不支持报文分片功能,这时需要设备支持对IP报文的分片功能,还原时进行L2TP报文重组。
——————————————————————————————————————————————————
2.2.3.报文封装
如果组网中只应用PPP,则PPP终端发起的拨号,最远只能到达拨号网络的边缘节点NAS,此时NAS可以称为PPP会话的终止节点。
应用L2TP,则可以使PPP报文在公网透传,到达企业总部的LNS,此时LNS相当于PPP会话的终止节点。
如图,企业分支发送报文到企业总部过程:
1、PPP终端:IP数据报文进行PPP(链路层)封装,发送报文。
2、LAC:收到PPP报文后,根据报文携带的用户名或者域名判断接入用户是否为VPDN用户。
是VPDN用户,对PPP报文进行L2TP封装,根据LNS的公网地址,再对L2TP报文进行UDP和IP封装。封装后的报文最外层为公网IP地址,经过公网路由转发到达LNS。
不是VPDN用户,对PPP报文进行PPP解封装,此时LAC为PPP会话的终止节点。
3、LNS:收到L2TP报文后,依次解除外层的IP封装、L2TP封装、PPP封装,得到PPP承载的信息,即PPP终端发送的IP数据报文。
企业总部回应分支用户时,回应报文到达LNS后查找路由表,根据转发接口进行L2TP处理,报文封装的过程和分支到总部一致。
——————————————————————————————————————————————————
2.2.4.报文传输
L2TP传输PPP报文前,需要建立L2TP隧道和会话的连接。首次发起连接流程:
1、建立L2TP隧道连接
LAC收到远程用户的PPP协商请求时,LAC向LNS发起L2TP隧道请求。通过L2TP的控制消息,协商隧道ID、隧道认证等内容,协商成功后则建立起一条L2TP隧道,由隧道ID进行标识。
2、建立L2TP会话连接
如果L2TP隧道已存在,则在LAC和LNS之间通过L2TP的控制消息,协商会话ID等内容,否则先建立L2TP隧道连接。会话中携带了LAC的LCP协商信息和用户认证信息,LNS对收到的信息认证通过后,则通知LAC会话建立成功。L2TP会话连接由会话ID进行标识。
3、传输PPP报文
L2TP会话建立成功后,PPP终端将数据报文发送至LAC,LAC根据L2TP隧道和会话ID等信息,进行L2TP报文封装,并发送到LNS,LNS进行L2TP解封装处理,根据路由转发表发送至目的主机,完成报文的传输。
——————————————————————————————————————————————————
3、工作过程
VPDN连接在远程用户和LNS之间建立。ISP将距离远程用户地理位置最近的NAS部署为LAC,LAC和LNS之间建立L2TP隧道连接。
1、远程用户在电话网络中拨号,发起PPP连接到ISP部署的本地NAS。
2、NAS接入远程用户的呼叫,和远程用户进行PPP协商。
3、NAS作为LAC,根据远程用户拨号的用户名或者域,判断接入的用户是否为VPDN用户。如果接入用户是VPDN用户,则交由L2TP模块进行封装处理,将PPP报文通过L2TP隧道发送到LNS;
4、LNS从L2TP隧道收到远程用户的接入请求,对远程用户认证后,为远程用户分配IP地址,通过隧道和LAC发送到远程用户。
5、远程用户获取IP地址,向总部主机发送报文进行通信。
6、LNS收到经由隧道传输的报文后,查找路由表,转发报文到内部目的主机。
——————————————————————————————————————————————————
4、应用场景
——————————————————————————————————————————————————
4.1、远程拨号用户发起L2TP隧道连接
企业出差员工的地理位置经常发生移动,并且随时需要和总部通信和访问总部内网资源,直接通过Internet网络虽然可以访问总部网关,但总部网关无法对接入的用户进行辨别和管理,这时将总部网关部署为LNS,出差员工在PC终端上使用L2TP拨号软件,则可以在出差员工和总部网关之间建立虚拟的点到点连接。LNS可以对接入用户进行身份验证,分配私网地址,如果部署ACL还可以管理接入用户的访问权限。
——————————————————————————————————————————————————
4.2、LAC接入拨号请求发起L2TP隧道连接
企业总部在其他城市设有分支机构,分支机构位于传统的拨号网络。分支用户需要和总部用户建立VPDN连接,于是分支向ISP申请L2TP服务,ISP将NAS部署为LAC,将分支用户的拨号连接通过Internet延展到LNS。企业将总部的网关部署为LNS,为分支用户提供接入服务,实现分支用户和总部网关之间的VPDN连接。
——————————————————————————————————————————————————
4.3、LAC接入PPPoE用户发起L2TP隧道连接
企业总部在其他城市设有分支机构,分支机构部署为以太网络,并配备网关设备接入Internet。总部用户需要和分支用户通信,由总部统一管理分支用户的接入,于是使用L2TP功能将总部网关部署为LNS。分支用户的拨号报文无法直接在以太网络中传输,需要使用PPPoE拨号软件部署为PPPoE客户端,而分支网关则作为PPPoE服务器和LAC,使分支用户的呼叫请求到达总部。
——————————————————————————————————————————————————
4.4、L2TP Client发起L2TP隧道连接
企业总部在其他城市设有分支机构,分支机构部署为以太网络,并配备网关设备接入Internet。总部为分支用户提供接入服务,需要在分支和总部网关之间建立VPDN连接。总部允许分支的任意用户接入,则只对分支网关认证,此时总部网关部署为LNS,分支网关部署为L2TP Client,并在分支网关创建虚拟拨号,触发到总部的L2TP隧道连接。通过L2TP Client的方式,在L2TP Client和LNS之间建立虚拟的点到点连接,分支用户的IP报文到达L2TP Client后路由转发到虚拟拨号接口,报文送至LNS后经路由转发到达目的主机。
——————————————————————————————————————————————————
4.5、LAC接入多域用户发起L2TP隧道连接
企业总部和旗下子公司有业务往来,不同的子公司需要访问的总部的不同部门,总部为不同子公司的员工提供接入服务,使用L2TP功能和子公司建立VPDN连接。因接入用户较多,可以配置子公司的网关设备按照域名判断接入用户是否VPDN用户,简化VPDN的部署。子公司之间使用不同的L2TP隧道,获取不同网段的IP地址。子公司用户发起到总部的连接时,因为源地址和目的地址都由总部分配,所以总部可以配置ACL实现对子公司访问权限的管理。
——————————————————————————————————————————————————
4.6、RADIUS服务器认证VPDN用户
企业总部在其他城市设有分支机构,分支机构部署为以太网络,并配备网关设备接入Internet。总部为分支用户提供接入服务,需要在分支和总部网关之间建立VPDN连接。企业将分支网关部署为LAC,总部网关部署为LNS,建立VPDN连接。同时将分支网关部署为PPPoE服务器,和PPPoE客户端(分支用户)在以太网络交换PPP报文。LAC和LNS都可以对分支用户进行认证,但接入用户数目较多时,不便于在设备本地维护,可以部署RADIUS服务器认证接入用户。LAC侧的RADIUS服务器需要支持L2TP认证,判断用户是否为VPDN用户,并反馈结果给LAC。
——————————————————————————————————————————————————
4.7、L2TP使用IPSec封装建立安全隧道连接
企业总部在其他城市设有分支机构,分支机构部署为以太网络,并配备网关设备接入Internet。在企业总部和分支上部署L2TP功能建立VPDN连接,使分支用户可以访问总部。当企业对数据和网络的安全性要求较高时,L2TP无法为报文传输提供足够的保护,这时可以和IPSec功能结合使用,保护传输的数据,有效避免数据被截取或攻击。在LAC上将数据报文先进行IPSec封装,再进L2TP封装,发往总部。在总部网关,部署IPSec策略,最终还原数据。这种方式保护原始的数据报文,可根据需要对接入用户提供保护。
——————————————————————————————————————————————————
4.8、IPSec使用L2TP封装建立安全隧道连接
企业出差用户和总部通信,使用L2TP功能建立VPDN连接,总部部署为LNS对接入的用户进行认证。当出差用户需要向总部传输高机密信息时,L2TP无法为报文传输提供足够的保护,这时可以和IPSec功能结合使用,保护传输的数据。在出差用户的PC终端上运行拨号软件,将数据报文先进行L2TP封装,再进行IPSec封装,发往总部。在总部网关,部署IPSec策略,最终还原数据。这种方式IPSec功能会对所有源地址为LAC、目的地址为LNS的报文进行保护。