11-L2TP配置
本章节下载: 11-L2TP配置 (427.56 KB)
目 录
L2TP(Layer 2 Tunneling Protocol,二层隧道协议)通过在公共网络(如Internet)上建立点到点的L2TP隧道,将PPP(Point-to-Point Protocol,点对点协议)数据帧封装后通过L2TP隧道传输,使得远端用户(如企业驻外机构和出差人员)利用PPP接入公共网络后,能够通过L2TP隧道与企业内部网络通信,访问企业内部网络资源,从而为远端用户接入私有的企业网络提供了一种安全、经济且有效的方式。
图1-1 L2TP典型组网
如图1-1所示,L2TP的典型组网中包括以下三个部分:
· 远端系统
远端系统是要接入企业内部网络的远端用户和远端分支机构,通常是一个拨号用户的主机或私有网络中的一台设备。
· LAC(L2TP Access Concentrator,L2TP访问集中器)
LAC是具有PPP和L2TP协议处理能力的设备,通常是一个当地ISP的NAS(Network Access Server,网络接入服务器),主要用于为PPP类型的用户提供接入服务。
LAC作为L2TP隧道的端点,位于LNS和远端系统之间,用于在LNS和远端系统之间传递报文。它把从远端系统收到的报文按照L2TP协议进行封装并送往LNS,同时也将从LNS收到的报文进行解封装并送往远端系统。
· LNS(L2TP Network Server,L2TP网络服务器)
LNS是具有PPP和L2TP协议处理能力的设备,通常位于企业内部网络的边缘。
LNS作为L2TP隧道的另一侧端点,是LAC通过隧道传输的PPP会话的逻辑终点。L2TP通过在公共网络中建立L2TP隧道,将远端系统的PPP连接由原来的NAS延伸到了企业内部网络的LNS设备。
L2TP协议定义了两种消息:
· 控制消息:用于L2TP隧道和L2TP会话的建立、维护和拆除。控制消息的传输是可靠的,并且支持流量控制和拥塞控制。
· 数据消息:用于封装PPP帧,其格式如图1-2所示。数据消息的传输是不可靠的,若数据消息丢失,不予重传。数据消息支持流量控制,即支持对乱序的数据消息进行排序。
图1-2 L2TP数据消息格式
如图1-3所示,L2TP控制消息和L2TP数据消息均封装在UDP报文中。
图1-3 L2TP消息封装结构图
L2TP隧道是LAC和LNS之间的一条虚拟点到点连接。控制消息和数据消息都在L2TP隧道上传输。在同一对LAC和LNS之间可以建立多条L2TP隧道。每条隧道可以承载一个或多个L2TP会话。
L2TP会话复用在L2TP隧道之上,每个L2TP会话对应于一个PPP会话。当远端系统和LNS之间建立PPP会话时,LAC和LNS之间将建立与其对应的L2TP会话。属于该PPP会话的数据帧通过该L2TP会话所在的L2TP隧道传输。
L2TP隧道包括NAS-Initiated、Client-Initiated和LAC-Auto-Initiated三种模式。
如图1-4所示,NAS-Initiated模式L2TP隧道的建立由LAC(即NAS)发起。远端系统的拨号用户通过PPPoE拨入LAC后,由LAC向LNS发起建立L2TP隧道的请求。
图1-4 NAS-Initiated模式L2TP隧道示意图
NAS-Initiated模式L2TP隧道具有如下特点:
· 远端系统只需支持PPP协议,不需要支持L2TP。
· 对远端拨号用户的身份认证与计费既可由LAC代理完成,也可由LNS完成。
图1-5 NAS-Initiated模式L2TP隧道的建立流程
如图1-5所示,NAS-Initiated模式L2TP隧道的建立过程为:
(1) 远端系统Host A发起呼叫,请求建立连接。
(2) Host A和LAC(Device A)进行PPP LCP协商。
(3) LAC对Host A提供的PPP用户信息进行PAP或CHAP认证。
(4) LAC将认证信息(用户名、密码)发送给RADIUS服务器进行认证。
(5) RADIUS服务器认证该用户,并返回认证结果。
(6) 如果认证通过,且根据用户名或用户所属ISP域判断该用户为L2TP用户,则LAC向LNS(Device B)发起L2TP隧道建立请求。
(7) 在需要对隧道进行认证的情况下,LAC和LNS分别发送CHAP challenge信息,以验证对方身份。隧道验证通过后,LAC和LNS之间成功建立了L2TP隧道。
(8) LAC和LNS在L2TP隧道上协商建立L2TP会话。
(9) LAC将PPP用户信息和PPP协商参数等传送给LNS。
(10) LNS将认证信息发送给RADIUS服务器进行认证。
(11) RADIUS服务器认证该用户,并返回认证结果。
(12) 认证通过后,LNS为Host A分配一个企业网内部的IP地址。
(13) 获得IP地址后,PPP用户可以通过Host A访问企业内部资源。
在步骤(12)和(13)中,LAC负责在Host A和LNS之间转发报文。Host A和LAC之间交互的是PPP数据帧,LAC和LNS之间交互的是L2TP数据报文。
如图1-6所示,Client-Initiated模式L2TP隧道的建立直接由LAC client(指本地支持L2TP协议的远端系统)发起。LAC client具有公网地址,并能够通过Internet与LNS通信后,如果在LAC client上触发L2TP拨号,则LAC client直接向LNS发起L2TP隧道建立请求,无需经过LAC设备建立隧道。
图1-6 Client-Initiated模式L2TP隧道示意图
Client-Initiated模式L2TP隧道具有如下特点:
· L2TP隧道在远端系统和LNS之间建立,具有较高的安全性。
· Client-Initiated模式L2TP隧道对远端系统要求较高(远端系统必须是支持L2TP协议的LAC client,且能够与LNS通信),因此它的扩展性较差。
如图1-7所示,Client-Initiated模式L2TP隧道的建立过程与NAS-Initiated模式类似,此处不再赘述。
图1-7 Client-Initiated模式L2TP隧道的建立流程
L2TP协议本身并不提供连接的安全性,但它可依赖于PPP提供的认证(比如CHAP、PAP等),因此具有PPP所具有的所有安全特性。
L2TP还可以与IPsec结合起来实现数据安全,使得通过L2TP所传输的数据更难被攻击。
L2TP传输PPP数据包,在PPP数据包内可以封装多种协议。
LAC和LNS可以将用户名和密码发往RADIUS服务器,由RADIUS服务器对用户身份进行认证。
LNS可以对远端系统的地址进行动态的分配和管理,可支持私有地址应用(RFC 1918)。为远端系统分配企业内部的私有地址,可以方便地址的管理并增加安全性。
可在LAC和LNS两处同时计费,即ISP处(用于产生帐单)及企业网关(用于付费及审计)。L2TP能够提供数据传输的出/入包数、字节数以及连接的起始、结束时间等计费数据,AAA服务器可根据这些数据方便地进行网络计费。
L2TP协议支持备份LNS,当主LNS不可达之后,LAC可以与备份LNS建立连接,增加了L2TP服务的可靠性。
L2TP隧道采用NAS-Initiated模式时,LAC上的L2TP隧道属性可以通过RADIUS服务器来下发。此时,在LAC上只需开启L2TP服务,并配置采用AAA远程认证方式对PPP用户进行身份验证,无需进行其他L2TP配置。
当L2TP用户拨入LAC时,LAC作为RADIUS客户端将用户的身份信息发送给RADIUS服务器。RADIUS服务器对L2TP用户的身份进行验证。RADIUS服务器将验证结果返回给LAC,并将该用户对应的L2TP隧道属性下发给LAC。LAC根据下发的隧道属性,创建L2TP隧道和会话。
目前,RADIUS服务器可以为LAC下发的属性如表1-1所示。
表1-1 RADIUS服务器为LAC下发的属性列表
属性编号 |
属性名称 |
描述 |
64 |
Tunnel-Type |
隧道类型,目前只支持L2TP隧道类型 |
65 |
Tunnel-Medium-Type |
隧道的传输媒介类型,目前只支持IPv4 |
67 |
Tunnel-Server-Endpoint |
LNS的IP地址 |
69 |
Tunnel-Password |
隧道验证密钥 |
81 |
Tunnel-Private-Group-ID |
隧道的Group ID LAC将该值发送给LNS,以便LNS根据该值进行相应的处理 |
82 |
Tunnel-Assignment-ID |
隧道的Assignment ID 用来标识会话承载在哪条隧道上,具有相同Tunnel-Assignment-ID、Tunnel-Server_Endpoint和Tunnel-Password的L2TP用户共用同一条L2TP隧道 |
90 |
Tunnel-Client-Auth-ID |
隧道的名称 用来标识本端隧道 |
目前,仅支持通过RADIUS服务器下发一组L2TP隧道属性,不支持同时下发多组隧道属性。
如果既通过RADIUS服务器为LAC下发了隧道属性,又在LAC上通过命令行手工配置了隧道属性,则以RADIUS服务器下发的属性为准。
如图1-8所示,设备可以同时作为LNS和LAC,终结来自LAC的L2TP报文后,再将其通过L2TP隧道发送给最终的LNS,实现L2TP隧道的交换,即多跳L2TP隧道。同时作为LNS和LAC的设备称为LTS(L2TP Tunnel Switch,L2TP隧道交换)设备。
L2TP隧道交换功能具有如下作用:
· LAC和LNS位于不同的管理域时,可以简化LAC和LNS的配置与部署。所有的LAC都将LTS当作LNS,不需要感知网络中是否存在多个LNS,不需要区分LNS;所有LNS都将LTS当作LAC,不需要感知LAC的新增和删除。
· 不同用户可以共用LAC和LTS之间的L2TP隧道,由LTS将不同用户的数据分发给不同的LNS。
图1-8 L2TP隧道交换组网图
与L2TP相关的协议规范有:
· RFC 1661:The Point-to-Point Protocol (PPP)
· RFC 1918:Address Allocation for Private Internets
· RFC 2661:Layer Two Tunneling Protocol "L2TP"
· RFC 2868:RADIUS Attributes for Tunnel Protocol Support
配置L2TP时,需要执行以下操作:
(1) 根据实际组网环境,判断需要的网络设备。
¡ 对于NAS-Initiated和LAC-Auto-Initiated模式,需要配置LAC和LNS两台网络设备。
¡ 对于Client-Initiated模式,只需要配置LNS一台网络设备。
(2) 规划好设备在网络中的角色,然后分别进行LAC或LNS端的相关配置,使设备具有LAC或LNS端功能。
LAC端配置任务如下:
(1) 配置L2TP基本功能
(2) 配置LAC端
仅NAS-Initiated模式下为必选,LAC-Auto-Initiated模式下不建议配置。
¡ (可选)配置AVP数据的隐藏传输
仅NAS-Initiated模式下为必选,LAC-Auto-Initiated模式下不建议配置。
(3)
(4) (可选)配置L2TP公共参数
¡ 配置隧道验证
LNS端配置任务如下:
(1) 配置L2TP基本功能
(2) 配置LNS端
¡ 配置虚拟模板接口
¡ (可选)配置VA池
¡ (可选)配置LNS端的用户验证
¡ (可选)配置LNS端的AAA认证
¡ (可选)配置LNS端每秒能处理ICRQ报文的最大数目
(3) (可选)配置L2TP公共参数
¡ 配置隧道验证
L2TP基本功能的配置包括如下内容:
· 启用L2TP功能:只有启用L2TP后,设备上的L2TP功能才能正常发挥作用。
· 创建L2TP组:L2TP组用于配置L2TP的相关参数,它不仅增加了L2TP配置的灵活性,还方便地实现了LAC和LNS之间一对一、一对多的组网应用。L2TP组在LAC和LNS上独立编号,只需要保证LAC和LNS之间关联的L2TP组的相关配置(如隧道对端名称、LNS地址等)保持对应关系即可。
· 配置隧道本端的名称:隧道本端的名称在LAC和LNS进行隧道协商时使用,它用来标识本端隧道,以供对端识别。
(1) 进入系统视图。
system-view
(2) 开启L2TP功能。
l2tp enable
缺省情况下,L2TP功能处于关闭状态。
(3) 创建L2TP组,指定L2TP组的模式,并进入L2TP组视图。
l2tp-group group-number mode { lac | lns }
在LAC端需要指定L2TP组的模式为lac;在LNS端需要指定L2TP组的模式为lns。
(4) 配置隧道本端的名称。
tunnel name name
缺省情况下,隧道本端的名称为设备的名称。
LAC端配置的隧道本端名称要与LNS端配置的允许接受的L2TP隧道请求的隧道对端名称保持一致。
本配置用来指定LAC向LNS发起隧道建立请求的触发条件。只有PPP用户的信息与指定的触发条件匹配时,LAC才认为该PPP用户为L2TP用户,向LNS发起L2TP隧道建立请求。
触发条件分为如下两种:
· 完整的用户名(fullusername):只有PPP用户的用户名与配置的完整用户名匹配时,才会向LNS发起L2TP隧道建立请求。
· 带特定域名的用户名(domain):PPP用户的ISP域名与配置的域名匹配时,即向LNS发起L2TP隧道建立请求。
(1) 进入系统视图。
system-view
(2) 进入LAC模式的L2TP组视图。
l2tp-group group-number [ mode lac ]
(3) 配置向LNS发起隧道建立请求的触发条件。
user { domain domain-name | fullusername user-name }
缺省情况下,没有指定本端作为LAC端时向LNS发起隧道建立请求的触发条件。
LAC上最多可以配置五个LNS地址,即允许存在备用LNS。LAC按照LNS配置的先后顺序依次向每个LNS发送建立L2TP隧道的请求。LAC接收到某个LNS的接受应答后,该LNS就作为隧道的对端;否则,LAC向下一个LNS发起隧道建立请求。
(1) 进入系统视图。
system-view
(2) 进入LAC模式的L2TP组视图。
l2tp-group group-number [ mode lac ]
(3) 配置LNS的IP地址。
lns-ip { ip-address }&<1-5>
缺省情况下,没有指定LNS的IP地址。
在LAC上配置了L2TP隧道的源端地址后,LAC会将该地址作为封装后L2TP隧道报文的源IP地址。
建议将L2TP隧道的源端地址配置为设备上某LoopBack接口的IP地址,以减小物理接口故障对L2TP业务造成的影响。但当LAC和LNS之间存在等价路由时,必须将L2TP隧道的源端地址通过source-ip命令配置或通过RADIUS服务器授权为设备上某LoopBack接口的IP地址。
(1) 进入系统视图。
system-view
(2) 进入LAC模式的L2TP组视图。
l2tp-group group-number [ mode lac ]
(3) 配置L2TP隧道的源端地址。
source-ip ip-address
缺省情况下,L2TP隧道的源端地址为本端隧道出接口的IP地址。
L2TP协议通过AVP(Attribute Value Pair,属性值对)来传输隧道协商参数、会话协商参数和用户认证信息等。如果用户不希望这些信息(如用户密码)被窃取,则可以使用本配置将AVP数据的传输方式配置成为隐藏传输,即利用隧道验证密钥(通过tunnel password命令配置)对AVP数据进行加密传输。
只有使能了隧道验证功能,本配置才会生效。隧道验证功能的详细配置,请参见“1.7.1 配置隧道验证”。
(1) 进入系统视图。
system-view
(2) 进入LAC模式的L2TP组视图。
l2tp-group group-number [ mode lac ]
(3) 配置隧道采用隐藏方式传输AVP数据。
tunnel avp-hidden
缺省情况下,隧道采用明文方式传输AVP数据。
本配置用来通过AAA对远端拨入用户的身份信息(用户名、密码)进行认证。用户身份认证通过后,LAC才能发起建立隧道的请求,否则不会为用户建立隧道。
设备支持的AAA认证包括本地和远程两种认证方式:
· 如果选择本地认证方式,则需要在LAC端配置本地用户名和密码。LAC通过检查拨入用户的用户名/密码是否与本地配置的用户名/密码相符来验证用户身份。
· 如果选择远程认证方式,则需要在RADIUS/HWTACACS服务器上配置用户名和密码。LAC将拨入用户的用户名和密码发往服务器,由服务器对用户身份进行认证。
AAA相关的配置请参见“安全配置指导”中的“AAA”。
配置LAC端的AAA认证时,接入用户的接口上需要配置PPP用户的验证方式为PAP或CHAP,配置方法请参见“网络互通配置指导”中的“PPP”。
L2TP会话建立之后,LNS需要创建一个VA(Virtual Access,虚拟访问)接口用于和LAC交换数据。VA接口基于VT(Virtual Template,虚拟模板)接口上配置的参数动态创建。因此,配置LNS时需要首先创建VT接口,并配置该接口的参数。
VT接口的参数主要包括:
· 接口的IP地址
· 对PPP用户的验证方式
· LNS为PPP用户分配的IP地址
关于VT接口配置的详细介绍,请参见“网络互通配置指导”中的“PPP”以及“IP地址”。
VA池是在建立L2TP连接前事先创建的VA接口的集合。VA池可以用来解决大量用户同时上线/下线,无法及时创建/删除VA接口,以至于影响L2TP连接建立和拆除性能的问题。
创建VA池后,当需要创建VA接口时,直接从VA池中获取一个VA接口,加快了L2TP连接的建立速度。当用户下线后,直接把VA接口放入VA池中,不需要删除VA接口,加快了L2TP连接的拆除速度。当VA池中的VA接口耗光后,仍需在建立L2TP连接时再创建VA接口,在用户下线后删除VA接口。
每个虚拟模板接口只能关联一个VA池。如果想要修改使用的VA池的大小,只能先删除原来的配置,然后重新配置VA池。
创建/删除VA池需要花费一定的时间,请用户耐心等待。在VA池创建/删除过程中(还没创建/删除完成)允许用户上线/下线,但正在创建/删除的VA池不生效。
系统可能由于资源不足不能创建用户指定容量的VA池,用户可以通过display l2tp va-pool命令查看实际可用的VA池的容量以及VA池的状态。
VA池会占用较多的系统内存,请用户根据实际情况创建大小合适的VA池。
删除VA池时,如果已有在线用户使用该VA池中的VA接口,不会导致这些用户下线。
(1) 进入系统视图。
system-view
(2) 配置VA池。
l2tp virtual-template template-number va-pool va-volume
接收到LAC发来的隧道建立请求后,LNS需要检查LAC的隧道本端名称是否与本地配置的隧道对端名称相符合,从而决定是否与对端建立隧道,并确定创建VA接口时使用的VT接口。
(1) 进入系统视图。
system-view
(2) 进入LNS模式的L2TP组视图。
l2tp-group group-number [ mode lns ]
(3) 配置LNS接受来自指定LAC的隧道建立请求,并指定建立隧道时使用的虚拟模板接口。请选择其中一项进行配置。
¡ L2TP组号不为1。
allow l2tp virtual-template virtual-template-number remote remote-name
¡ L2TP组号为1。
allow l2tp virtual-template virtual-template-number [ remote remote-name ]
缺省情况下,LNS不接受任何LAC的隧道建立请求。
使用L2TP组号1时,可以不指定隧道对端名,即在组1下LNS可以接受任何名称的隧道对端的隧道建立请求。
当LAC对用户进行验证后,为了增强安全性,LNS可以再次对用户进行验证。在这种情况下,将对用户进行两次验证,第一次发生在LAC端,第二次发生在LNS端,只有两次验证全部成功后,L2TP隧道才能建立。
在L2TP组网中,LNS端对用户的验证方式有三种:
· 代理验证:由LAC代替LNS对用户进行验证,并将用户的所有验证信息及LAC端本身配置的验证方式发送给LNS。LNS根据接收到的信息及本端配置的验证方式,判断用户是否合法。
· 强制CHAP验证:强制在LAC代理验证成功后,LNS再次对用户进行CHAP验证。
· LCP重协商:忽略LAC端的代理验证信息,强制LNS与用户间重新进行LCP(Link Control Protocol,链路控制协议)协商。
验证方式的优先级从高到底依次为:LCP重协商、强制CHAP验证和代理验证。
· 如果在LNS上同时配置LCP重协商和强制CHAP验证,L2TP将使用LCP重协商。
· 如果只配置强制CHAP验证,则在LAC代理验证成功后,LNS再次对用户进行CHAP验证。
· 如果既不配置LCP重协商,也不配置强制CHAP验证,则对用户进行代理验证。
强制CHAP验证和LCP重协商两种验证方式仅对NAS-Initiated模式的L2TP隧道有效。
配置强制CHAP验证时,需要在LNS的VT接口下配置PPP用户的验证方式为CHAP认证。
在某些特定的情况下(如LNS不接受LAC的LCP协商参数,希望和用户重新进行参数协商),需要强制LNS与用户重新进行LCP协商,并采用相应的虚拟模板接口上配置的验证方式对用户进行验证时可配置LCP重协商验证方式。
(1) 进入系统视图。
system-view
(2) 进入LNS模式的L2TP组视图。
l2tp-group group-number [ mode lns ]
(3) 强制LNS重新对用户进行CHAP验证。
mandatory-chap
缺省情况下,LNS不会重新对用户进行CHAP验证。
对于不支持进行第二次验证的用户,不建议配置本功能,否则将因LNS端的CHAP重新验证失败而导致L2TP隧道无法建立。
(4) 退回系统视图。
quit
(5) 进入VT接口并在该接口下配置PPP用户的验证方式为CHAP认证。
关于VT接口配置的详细介绍,请参见“网络互通配置指导”中的“PPP”。
(1) 进入系统视图。
system-view
(2) 进入LNS模式的L2TP组视图。
l2tp-group group-number [ mode lns ]
(3) 配置强制LNS与用户重新进行LCP协商。
mandatory-lcp
缺省情况下,LNS不会与用户重新进行LCP协商。
启用LCP重协商后,如果相应的虚拟模板接口上没有配置验证,则LNS将不对用户进行二次验证(这时用户只在LAC端接受一次验证)。
本配置用来通过AAA对远端拨入用户的身份信息(用户名、密码)进行认证。认证通过后,远端系统可以通过LNS访问企业内部网络。
对于NAS-Initiated隧道模式,当LNS端没有配置强制LCP重新协商时,必须在LNS端配置AAA认证;或者当LNS端配置了强制LCP重新协商,并且虚拟模板接口上配置了需要对PPP用户进行验证时,也必须在LNS端配置AAA认证。对于Client-Initiated和LAC-Auto-Initiated隧道模式,当虚拟模板接口上配置了需要对PPP用户进行验证时,必须在LNS端配置AAA认证。其他情况下无需在LNS端配置AAA认证。
LNS端支持的AAA配置与LAC端的相同,具体介绍及配置方法请参见“1.5.5 配置LAC端的AAA认证”。
为避免大量L2TP用户的突发上线请求对设备性能造成影响,同时又确保L2TP用户能够平稳上线,可以通过本节配置调整设备接收处理ICRQ报文的速率。
(1) 进入系统视图。
system-view
(2) 配置LNS端每秒能处理ICRQ报文的最大数目。
l2tp icrq-limit number
缺省情况下,未限制LNS端每秒能处理ICRQ报文的最大数目。
隧道验证请求可由LAC或LNS任何一端发起。
如果LAC和LNS两端都开启了隧道验证功能,则两端密钥(通过tunnel password命令配置)不为空并且完全一致的情况下,二者之间才能成功建立L2TP隧道。
如果LAC和LNS中的一端开启了隧道验证功能,则另一端可不开启隧道验证功能,但需要两端密钥(通过tunnel password命令配置)不为空并且完全一致,二者之间才能成功建立L2TP隧道。
如果LAC和LNS两端都禁用隧道验证功能,则无论两端是否配置密钥、密钥是否相同,都不影响隧道建立。
为了保证隧道安全,建议用户不要禁用隧道验证功能。
隧道建立成功后,修改隧道验证的密钥不影响当前隧道的正常通信;当隧道断开后重新建立时使用修改后的密钥进行隧道验证。
(1) 进入系统视图。
system-view
(2) 进入L2TP组视图。
l2tp-group group-number [ mode { lac | lns } ]
(3) 开启L2TP的隧道验证功能。
tunnel authentication
缺省情况下,L2TP隧道验证功能处于开启状态。
(4) 配置隧道验证密钥。
tunnel password { cipher | simple } password
缺省情况下,未配置隧道验证密钥。
为了检测LAC和LNS之间隧道的连通性,LAC和LNS会定期向对端发送Hello报文,接收方接收到Hello报文后会进行响应。当LAC或LNS在指定时间间隔内未收到对端的Hello响应报文时,重复发送,如果重复发送5次仍没有收到对端的响应信息则认为L2TP隧道已经断开。
(1) 进入系统视图。
system-view
(2) 进入L2TP组视图。
l2tp-group group-number [ mode { lac | lns } ]
(3) 配置隧道中Hello报文的发送时间间隔。
tunnel timer hello hello-interval
缺省情况下,隧道中Hello报文的发送时间间隔为60秒。
L2TP会话的流控功能是指在L2TP会话上传递的报文中携带序列号,通过序列号检测是否丢包,并根据序列号对乱序报文进行排序。
L2TP会话的流控功能应用在L2TP数据报文的接收与发送过程中。只要LAC和LNS中的一端开启了流控功能,二者之间建立的L2TP会话就支持流控功能。
(1) 进入系统视图。
system-view
(2) 进入L2TP组视图。
l2tp-group group-number [ mode { lac | lns } ]
(3) 开启L2TP会话的流控功能。
tunnel flow-control
缺省情况下,L2TP会话的流控功能处于关闭状态。
DSCP(Differentiated Services Code Point,区分服务编码点)携带在IP报文中的ToS字段,用来体现报文自身的优先等级,决定报文传输的优先程度。
通过本配置指定隧道报文的DSCP优先级后,当流量经过L2TP隧道转发时,L2TP将其封装为IP报文并将IP报文头中的DSCP优先级设置为指定的值。
(1) 进入系统视图。
system-view
(2) 进入L2TP组视图。
l2tp-group group-number [ mode { lac | lns } ]
(3) 配置隧道报文的DSCP优先级。
ip dscp dscp-value
缺省情况下,L2TP隧道报文的DSCP优先级为0。
在L2TP隧道交换组网中,LTS通过ICRQ(Incoming Call Request,入呼叫请求)报文中的TSA(Tunnel Switching Aggregator,隧道交换聚合)ID AVP来避免环路。
LTS接收到ICRQ报文后,将报文中携带的所有TSA ID AVP中的TSA ID逐一与本地配置的TSA ID进行比较。如果TSA ID AVP中存在与本地相同的TSA ID,则表示存在环路,LTS立即拆除会话。否则,LTS将自己的TSA ID封装到新的TSA ID AVP中,LTS向它的下一跳LTS发送ICRQ报文时携带接收到的所有TSA ID AVP及本地封装的TSA ID AVP。
需要为不同LTS设备配置的不同的TSA ID,否则会导致环路检测错误。
(1) 进入系统视图。
system-view
(2) 配置LTS设备的TSA ID,并开启LTS设备的L2TP环路检测功能。
l2tp tsa-id tsa-id
缺省情况下,未指定LTS设备的TSA ID,且LTS设备的L2TP环路检测功能处于关闭状态。
如果乱序报文过多,可以通过调整L2TP接收窗口的大小进行缓解。当出现乱序报文的时候,如果乱序报文NS(L2TP报文中用于标识当前报文序列号的字段)在接收窗范围内,设备会先将报文缓存起来,等待NS等于接收窗下沿的报文到达。当收到NS等于接收窗下沿的报文时,则对其(NS等于接收窗下沿的报文)进行处理,处理完该报文后,接收窗下沿加1;如果此时缓存中存在NS等于接收窗下沿的报文,则继续处理;如不存在,则继续等待NS等于接收窗下沿的报文到达;依次类推。对于超过接收窗范围的报文进行丢弃。
在L2TP隧道建立时,接收窗口大小以L2TP组视图下配置的接收窗口大小为准。隧道建立完成后通过本特性修改L2TP隧道接收窗口的大小对已经建立的隧道接收窗口的大小无影响。
(1) 进入系统视图。
system-view
(2) 进入L2TP组视图。
l2tp-group group-number [ mode { lac | lns } ]
(3) 配置L2TP隧道接收窗口的大小。
tunnel window receive size
缺省情况下,L2TP隧道接收窗口的大小为1024。
在某些组网中可能出现对端的报文接收处理能力和对端接收窗口的大小不匹配的情况(例如:对端实际的报文接收处理能力为10,但接收窗口的大小为20),此时可以通过本特性调整本端L2TP隧道发送窗口的大小来适配对端的实际报文接收处理能力,以保证L2TP用户平稳上线。
在L2TP隧道建立时会获取L2TP组视图下配置的发送窗口大小。如果配置的发送窗口大小为0,则按缺省情况处理;如果配置的发送窗口大小非0,则以配置的发送窗口大小为准。隧道建立完成后通过本配置修改L2TP隧道发送窗口的大小对已经建立的隧道发送窗口的大小无影响。
(1) 进入系统视图。
system-view
(2) 进入L2TP组视图。
l2tp-group group-number [ mode { lac | lns } ]
(3) 配置L2TP隧道发送窗口的大小。
tunnel window send size
缺省情况下,L2TP隧道发送窗口的大小为0,即本端发送窗口的大小以隧道建立过程中对端携带的接收窗口大小的属性值为准,如果隧道建立过程中对端没有携带接收窗口大小属性,则本端隧道发送窗口的大小为4。
在完成上述配置后,在任意视图下执行display命令可以显示配置后L2TP的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以强制断开指定的L2TP隧道。
表1-2 L2TP显示和维护
操作 |
命令 |
显示当前L2TP隧道的信息 |
display l2tp tunnel [ statistics ] |
显示当前L2TP会话的信息 |
display l2tp session [ statistics ] |
显示当前L2TP非稳态会话的信息 |
display l2tp session temporary |
显示L2TP的VA池信息 |
display l2tp va-pool |
显示VT接口产生的PPP会话的动态防火墙的统计信息 |
display ppp access-control interface virtual-template interface-number |
强制断开指定的L2TP隧道 |
reset l2tp tunnel { id tunnel-id | name remote-name } |
清除虚拟PPP接口的统计信息 |
reset counters interface [ virtual-ppp [ interface-number ] ] |
远端系统无法访问企业内部网络。
主要有以下几种原因:
· 可能是如下原因导致Tunnel建立失败:
¡ 在LAC端,LNS的地址设置不正确。
¡ LNS端没有设置可以接收该隧道对端的L2TP组。
¡ 只有一端启用Tunnel验证或两端均启用Tunnel验证但验证密码不一致。
· 可能是如下原因导致PPP协商不通过:
¡ LAC端设置的用户名与密码有误,或者是LNS端没有设置相应的用户。
¡ 密码验证类型不一致。
(1) 检查在LAC端配置的LNS的IP地址是否正确,具体可以查看lns-ip命令的说明。
(2) 检查在LNS端配置的接受来自LAC的L2TP隧道建立请求是否正确,具体可查看allow l2tp命令的说明。
(3) 如果配置了验证,检查并保证双方都启用了隧道验证并且配置相同的验证密钥。
(4) 检查LAC端配置的用户名和密码是否正确,以及LNS端是否配置了相应的用户。
(5) 检查远端系统和LNS对IP地址协商相关的配置是否正确。
(6) 检查密码验证类型是否一致。例如,Windows 2000所创建的VPN连接缺省的验证类型为MSCHAP,如果对端不支持MSCHAP,建议改为CHAP。
数据传输失败,在隧道建立后数据不能传输,如Ping不通对端。
可能有如下原因:
· 路由问题:LAC和LNS上需要存在到达对端私网的路由,否则会导致数据传输失败。
· 网络拥挤:Internet主干网产生拥挤,丢包现象严重。L2TP是基于UDP进行传输的,UDP不对报文进行差错控制。如果是在线路质量不稳定的情况下进行L2TP应用,有可能会产生Ping不通对端的情况。
(1) 在LAC和LNS上执行display ip routing-table命令,查看设备上是否存在到达对端私网的路由。若不存在,则需要配置静态路由或动态路由协议,在设备上添加该路由。
(2) 增加链路带宽,提高线路质量。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!