02-L2TP配置
本章节下载: 02-L2TP配置 (555.31 KB)
目 录
1.8.1 在LNS侧进行如下配置可以发起IMSI/SN捆绑协商。
1.8.2 在LAC端上进行如下配置可以实现与LNS端的IMSI/SN捆绑协商。
1.8.3 在Client上进行如下配置可以实现与LNS端的IMSI/SN捆绑协商。
1.10.1 NAS-Initiated模式L2TP隧道配置举例
1.10.2 Client-Initiated模式L2TP隧道配置举例
1.10.3 LAC-Auto-Initiated模式L2TP隧道配置举例
设备在IRF模式下不支持本特性。
L2TP(Layer 2 Tunneling Protocol,二层隧道协议)是目前使用最为广泛的VPDN(Virtual Private Dial-up Network,虚拟专用拨号网络)隧道协议。L2TP通过在公共网络(如Internet)上建立点到点的L2TP隧道,将PPP(Point-to-Point Protocol,点对点协议)数据帧封装后通过L2TP隧道传输,使得远端用户(如企业驻外机构和出差人员)利用PPP接入公共网络后,能够通过L2TP隧道与企业内部网络通信,访问企业内部网络资源。
L2TP是一种二层VPN(Virtual Private Network,虚拟专用网络)技术,为远端用户接入私有的企业网络提供了一种安全、经济且有效的方式。
图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/ISDN拨入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隧道的建立流程
采用NAS-Initiated方式建立L2TP隧道时,要求远端系统必须通过PPPoE/ISDN等拨号方式拨入LAC,且只有远端系统拨入LAC后,才能触发LAC向LNS发起建立隧道的请求。
如图1-8所示,在LAC-Auto-Initiated模式下,不需要远端系统拨号触发,在LAC上通过执行l2tp-auto-client命令即可触发LAC建立L2TP隧道。远端系统访问LNS连接的内部网络时,LAC将通过L2TP隧道转发这些访问数据。
图1-8 LAC-Auto-Initiated模式L2TP隧道示意图
LAC-Auto-Initiated模式L2TP隧道具有如下特点:
· 远端系统和LAC之间可以是任何基于IP的连接,不局限于拨号连接。
· 不需要远端系统上的拨号接入来触发建立L2TP隧道。
· L2TP隧道创建成功后立即建立L2TP会话,然后在LAC和LNS之间进行PPP协商,LAC和LNS分别作为PPP客户端和PPP服务器端。
· 一条L2TP隧道上只承载一个L2TP会话。
· LNS为LAC分配企业网内部的IP地址,而不是为远端系统分配。
如图1-9所示,LAC-Auto-Initiated模式L2TP隧道的建立过程与NAS-Initiated模式类似,此处不再赘述。
图1-9 LAC-Auto-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-10所示,设备可以同时作为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-10 L2TP隧道交换组网图
PPP用户通过接入认证后,EAD服务器将对其进行安全认证。如果认证通过,用户可以正常访问网络资源;如果认证不通过,用户则只能访问隔离区的资源。
具体流程如下:
(1) iNode客户端(即主机)通过L2TP接入到LNS设备,通过PPP认证后,CAMS/iMC服务器给设备下发隔离ACL,对报文进行入方向防火墙过滤;
(2) 通过IPCP协商后,CAMS/iMC服务器通过设备把自己的IP地址(该IP地址可以通过隔离ACL)等信息通知给iNode客户端;
(3) iNode客户端直接和CAMS/iMC服务器进行EAD认证和安全检查,通过安全检查后,CAMS/iMC服务器针对这个用户给设备下发安全ACL,使用户可以正常使用网络资源。
与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端功能。
表1-2 LAC端配置任务简介(NAS-Initiated和LAC-Auto-Initiated模式)
操作 |
说明 |
详细配置 |
|
配置L2TP基本功能 |
必选 |
||
配置LAC端 |
配置向LNS发起隧道建立请求的触发条件 |
对于NAS-Initiated模式,为必选;LAC-Auto-Initiated模式下无需配置 |
|
配置LNS的IP地址 |
必选 |
||
配置隧道的源端地址 |
可选 |
||
配置AVP数据的隐藏传输 |
可选 |
||
配置LAC侧的AAA认证 |
对于NAS-Initiated模式,为必选;LAC-Auto-Initiated模式下无需配置 |
||
配置LAC自动建立L2TP隧道 |
对于LAC-Auto-Initiated模式,为必选;NAS-Initiated模式下无需配置 |
||
配置L2TP可选参数 |
配置隧道验证 |
可选 |
|
配置隧道Hello报文发送时间间隔 |
|||
开启L2TP会话的流控功能 |
|||
配置隧道报文的DSCP优先级 |
|||
配置隧道对端所属的VPN |
|||
配置LTS设备的TSA ID |
|||
配置L2TP隧道发送窗口的大小 |
|||
配置L2TP支持PPP LCP协商IMSI/SN号 |
可选 |
表1-3 LNS配置任务简介(NAS-Initiated、Client-Initiated和LAC-Auto-Initiated模式)
操作 |
说明 |
详细配置 |
|
配置L2TP基本功能 |
必选 |
||
配置LNS端 |
配置虚拟模板接口 |
必选 |
|
配置VA池 |
可选 |
||
配置LNS接受L2TP隧道建立请求 |
必选 |
||
配置LNS侧的用户验证 |
可选 |
||
配置LNS侧的AAA认证 |
可选 |
||
配置L2TP可选参数 |
配置隧道验证 |
可选 |
|
配置隧道Hello报文发送时间间隔 |
|||
开启L2TP会话的流控功能 |
|||
配置隧道报文的DSCP优先级 |
|||
配置隧道对端所属的VPN |
|||
配置LTS设备的TSA ID |
|||
配置L2TP隧道发送窗口的大小 |
|||
配置基于L2TP接入的EAD功能 |
可选 |
||
配置L2TP支持PPP LCP协商IMSI/SN号 |
可选 |
L2TP基本功能的配置包括如下内容:
· 启用L2TP功能:只有启用L2TP后,设备上的L2TP功能才能正常发挥作用。
· 创建L2TP组:L2TP组用于配置L2TP的相关参数,它不仅增加了L2TP配置的灵活性,还方便地实现了LAC和LNS之间一对一、一对多的组网应用。L2TP组在LAC和LNS上独立编号,只需要保证LAC和LNS之间关联的L2TP组的相关配置(如隧道对端名称、LNS地址等)保持对应关系即可。
· 配置隧道本端的名称:隧道本端的名称在LAC和LNS进行隧道协商时使用,它用来标识本端隧道,以供对端识别。
表1-4 配置L2TP基本功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启L2TP功能 |
l2tp enable |
缺省情况下,L2TP功能处于关闭状态 |
创建L2TP组,指定L2TP组的模式,并进入L2TP组视图 |
l2tp-group group-number mode { lac | lns } |
缺省情况下,设备上未配置任何L2TP组 在LAC侧需要指定L2TP组的模式为lac;在LNS侧需要指定L2TP组的模式为lns |
配置隧道本端的名称 |
tunnel name name |
缺省情况下,隧道本端的名称为设备的名称 LAC侧配置的隧道本端名称要与LNS侧配置的允许接受的L2TP隧道请求的隧道对端名称保持一致 |
LAC负责和相应的LNS建立L2TP隧道,并负责在远端系统和LNS之间转发报文。
本配置用来指定LAC向LNS发起隧道建立请求的触发条件。只有PPP用户的信息与指定的触发条件匹配时,LAC才认为该PPP用户为L2TP用户,向LNS发起L2TP隧道建立请求。
触发条件分为如下两种:
· 完整的用户名(fullusername):只有PPP用户的用户名与配置的完整用户名匹配时,才会向LNS发起L2TP隧道建立请求。
· 带特定域名的用户名(domain):PPP用户的ISP域名与配置的域名匹配时,即向LNS发起L2TP隧道建立请求。
表1-5 配置向LNS发起隧道建立请求的触发条件
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入LAC模式的L2TP组视图 |
l2tp-group group-number [ mode lac ] |
- |
配置向LNS发起隧道建立请求的触发条件 |
user { domain domain-name | fullusername user-name } |
缺省情况下,没有指定本端作为LAC端时向LNS发起隧道建立请求的触发条件 |
LAC上最多可以配置五个LNS地址,即允许存在备用LNS。LAC按照LNS配置的先后顺序依次向每个LNS发送建立L2TP隧道的请求。LAC接收到某个LNS的接受应答后,该LNS就作为隧道的对端;否则,LAC向下一个LNS发起隧道建立请求。
表1-6 配置LNS的IP地址
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入LAC模式的L2TP组视图 |
l2tp-group group-number [ mode lac ] |
- |
配置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-7 配置隧道的源端地址
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入LAC模式的L2TP组视图 |
l2tp-group group-number [ mode lac ] |
- |
配置L2TP隧道的源端地址 |
source-ip ip-address |
缺省情况下,L2TP隧道的源端地址为本端隧道出接口的IP地址 |
L2TP协议通过AVP(Attribute Value Pair,属性值对)来传输隧道协商参数、会话协商参数和用户认证信息等。如果用户不希望这些信息(如用户密码)被窃取,则可以使用本配置将AVP数据的传输方式配置成为隐藏传输,即利用隧道验证密钥(通过tunnel password命令配置)对AVP数据进行加密传输。
只有使能了隧道验证功能,本配置才会生效。隧道验证功能的详细配置,请参见“1.6.1 配置隧道验证”。
表1-8 配置AVP数据的隐藏传输
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入LAC模式的L2TP组视图 |
l2tp-group group-number [ mode lac ] |
- |
配置隧道采用隐藏方式传输AVP数据 |
tunnel avp-hidden |
缺省情况下,隧道采用明文方式传输AVP数据 |
本配置用来通过AAA对远端拨入用户的身份信息(用户名、密码)进行认证。用户身份认证通过后,LAC才能发起建立隧道的请求,否则不会为用户建立隧道。
设备支持的AAA认证包括本地和远程两种认证方式:
· 如果选择本地认证方式,则需要在LAC侧配置本地用户名和密码。LAC通过检查拨入用户的用户名/密码是否与本地配置的用户名/密码相符来验证用户身份。
· 如果选择远程认证方式,则需要在RADIUS/HWTACACS服务器上配置用户名和密码。LAC将拨入用户的用户名和密码发往服务器,由服务器对用户身份进行认证。
AAA相关的配置请参见“安全配置指导”中的“AAA”。
配置LAC侧的AAA认证时,接入用户的接口上需要配置PPP用户的验证方式为PAP或CHAP,配置方法请参见“二层技术-广域网接入配置指导”中的“PPP”。
配置LAC自动建立L2TP隧道,需要进行以下操作:
· 创建虚拟PPP接口,并配置该接口的IP地址。
· 在虚拟PPP接口下,配置PPP验证的被验证方,即通过ppp pap或ppp chap命令指定PPP用户支持的验证方法、PPP用户的用户名和密码,LNS对该PPP用户进行身份验证。详细介绍请参见“二层技术-广域网接入命令参考”中的“PPP”。
· 触发LAC建立L2TP隧道。
表1-9 配置LAC自动建立L2TP隧道
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建虚拟PPP接口,并进入虚拟PPP接口视图 |
interface virtual-ppp interface-number |
缺省情况下,设备上未配置任何虚拟PPP接口 |
配置虚拟PPP接口的IP地址 |
ip address address mask |
二者选其一 缺省情况下,未配置接口的IP地址 |
配置虚拟PPP接口的IP地址可协商属性,使该接口接受PPP协商产生的由对端分配的IP地址 |
ip address ppp-negotiate |
|
配置PPP验证的被验证方 |
配置方法请参见“二层技术-广域网接入命令参考”中的“PPP” |
- |
触发LAC自动建立L2TP隧道 |
l2tp-auto-client l2tp-group group-number |
缺省情况下,LAC没有建立L2TP隧道 触发LAC建立L2TP隧道后,该隧道将始终存在,直到通过undo l2tp-auto-client或undo l2tp-group group-number命令拆除该隧道 |
(可选)配置当前接口的描述信息 |
description text |
缺省情况下,接口的描述信息为“该接口的接口名 Interface”,比如:Virtual-PPP254 Interface |
配置接口的MTU值 |
mtu size |
缺省情况下,虚拟PPP接口的MTU值为1500字节 |
(可选)配置接口发送keepalive报文的周期 |
timer-hold seconds |
缺省情况下,接口发送keepalive报文的周期为10秒 |
(可选)配置接口在多少个keepalive周期内没有收到keepalive报文的应答就拆除链路 |
timer-hold retry retries |
缺省情况下,接口在5个keepalive周期内没有收到keepalive报文的应答就拆除链路 |
(可选)配置处理接口流量的主用slot分布式设备-独立运行模式) |
service slot slot-number |
缺省情况下,没有指定虚拟PPP接口下流量的业务处理板 |
(可选)配置处理接口流量的备用slot(分布式设备-独立运行模式) |
service standby slot slot-number |
缺省情况下,未配置处理接口流量的备用slot |
(可选)配置接口的期望带宽 |
bandwidth bandwidth-value |
缺省情况下,接口的期望带宽=接口的波特率÷1000(kbit/s) |
(可选)恢复当前接口的缺省配置 |
default |
- |
(可选)打开当前接口 |
undo shutdown |
缺省情况下,接口处于打开状态 |
LNS响应LAC的隧道建立请求,负责对用户进行认证,并为用户分配IP地址。
L2TP会话建立之后,LNS需要创建一个VA(Virtual Access,虚拟访问)接口用于和LAC交换数据。VA接口基于VT(Virtual Template,虚拟模板)接口上配置的参数动态创建。因此,配置LNS时需要首先创建VT接口,并配置该接口的参数。
VT接口的参数主要包括:
· 接口的IP地址
· 对PPP用户的验证方式
· LNS为PPP用户分配的IP地址
关于VT接口配置的详细介绍,请参见“二层技术-广域网接入配置指导”中的“PPP和MP”以及“三层技术-IP业务配置指导”中的“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池不生效。
· 系统可能由于资源不足不能创建用户指定容量的VA池,用户可以通过display l2tp va-pool命令查看实际可用的VA池的容量以及VA池的状态。
· VA池会占用较多的系统内存,请用户根据实际情况创建大小合适的VA池。
· 删除VA池时,如果已有在线用户使用该VA池中的VA接口,不会导致这些用户下线。
表1-10 配置VA池
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置VA池 |
l2tp virtual-template template-number va-pool va-volume |
缺省情况下,设备上未配置任何VA池 |
接收到LAC发来的隧道建立请求后,LNS需要检查LAC的隧道本端名称是否与本地配置的隧道对端名称相符合,从而决定是否与对端建立隧道,并确定创建VA接口时使用的VT接口。
表1-11 配置LNS接受L2TP隧道建立请求
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入LNS模式的L2TP组视图 |
l2tp-group group-number [ mode lns ] |
- |
|
配置LNS接受来自指定LAC的隧道建立请求,并指定建立隧道时使用的虚拟模板接口 |
L2TP组号不为1 |
allow l2tp virtual-template virtual-template-number remote remote-name |
二者选其一 缺省情况下,LNS不接受任何LAC的隧道建立请求 使用L2TP组号1时,可以不指定隧道对端名,即在组1下LNS可以接受任何名称的隧道对端的隧道建立请求 |
L2TP组号为1 |
allow l2tp virtual-template virtual-template-number [ remote remote-name ] |
当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验证后,对于NAS-Initiated模式L2TP隧道的用户来说,会经过两次验证:一次是在NAS端的验证,另一次是在LNS端的验证。一些用户可能不支持进行第二次验证,这时,LNS端的CHAP重新验证会失败。在这种情况下,建议不要开启LNS的强制CHAP验证功能。
配置强制CHAP验证时,需要在LNS的VT接口下配置PPP用户的验证方式为CHAP认证。
表1-12 配置强制CHAP验证
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入LNS模式的L2TP组视图 |
l2tp-group group-number [ mode lns ] |
- |
强制LNS重新对用户进行CHAP验证 |
mandatory-chap |
缺省情况下,LNS不会重新对用户进行CHAP验证 本命令只对NAS-Initiated模式的L2TP隧道有效,对Client-Initiated模式和LAC-Auto-Initiated模式的隧道无效 |
对于NAS-Initiated模式L2TP隧道的PPP用户,在PPP会话开始时,先和NAS进行PPP协商。若协商通过,则由NAS触发建立L2TP隧道,并将用户信息传递给LNS,由LNS根据收到的代理验证信息,判断用户是否合法。
但在某些特定的情况下(如LNS不接受LAC的LCP协商参数,希望和用户重新进行参数协商),需要强制LNS与用户重新进行LCP协商,并采用相应的虚拟模板接口上配置的验证方式对用户进行验证。
启用LCP重协商后,如果相应的虚拟模板接口上没有配置验证,则LNS将不对用户进行二次验证(这时用户只在LAC侧接受一次验证)。
表1-13 配置强制本端LCP重新协商
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入LNS模式的L2TP组视图 |
l2tp-group group-number [ mode lns ] |
- |
配置强制LNS与用户重新进行LCP协商 |
mandatory-lcp |
缺省情况下,LNS不会与用户重新进行LCP协商 本命令只对NAS-Initiated模式的L2TP隧道有效,对Client-Initiated模式和LAC-Auto-Initiated模式的隧道无效 |
本配置用来通过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.4.5 配置LAC侧的AAA认证”。
本节中的配置既可以在LAC上执行,也可以在LNS上执行。
用户可根据实际需要,决定是否在创建隧道之前进行隧道验证。
隧道验证请求可由LAC或LNS任何一侧发起。
如果LAC和LNS两端都开启了隧道验证功能,则两端密钥(通过tunnel password命令配置)不为空并且完全一致的情况下,二者之间才能成功建立L2TP隧道。
如果LAC和LNS中的一端开启了隧道验证功能,则另一端可不开启隧道验证功能,但需要两端密钥(通过tunnel password命令配置)不为空并且完全一致,二者之间才能成功建立L2TP隧道。
如果LAC和LNS两端都禁用隧道验证功能,则无论两端是否配置密钥、密钥是否相同,都不影响隧道建立。
需要注意的是:
· 为了保证隧道安全,建议用户不要禁用隧道验证功能。
· 如果用户需要修改隧道验证的密钥,请在隧道开始协商前进行,否则修改的密钥不生效。
表1-14 配置隧道验证
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入L2TP组视图 |
l2tp-group group-number [ mode { lac | lns } ] |
- |
开启L2TP的隧道验证功能 |
tunnel authentication |
缺省情况下,L2TP隧道验证功能处于开启状态 |
配置隧道验证密钥 |
tunnel password { cipher | simple } password |
缺省情况下,未配置隧道验证密钥 |
为了检测LAC和LNS之间隧道的连通性,LAC和LNS会定期向对端发送Hello报文,接收方接收到Hello报文后会进行响应。当LAC或LNS在指定时间间隔内未收到对端的Hello响应报文时,重复发送,如果重复发送5次仍没有收到对端的响应信息则认为L2TP隧道已经断开。
表1-15 配置隧道Hello报文发送时间间隔
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入L2TP组视图 |
l2tp-group group-number [ mode { lac | lns } ] |
- |
配置隧道中Hello报文的发送时间间隔 |
tunnel timer hello hello-interval |
缺省情况下,隧道中Hello报文的发送时间间隔为60秒 |
L2TP会话的流控功能是指在L2TP会话上传递的报文中携带序列号,通过序列号检测是否丢包,并根据序列号对乱序报文进行排序。
L2TP会话的流控功能应用在L2TP数据报文的接收与发送过程中。只要LAC和LNS中的一端开启了流控功能,二者之间建立的L2TP会话就支持流控功能。
表1-16 开启L2TP会话的流控功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入L2TP组视图 |
l2tp-group group-number [ mode { lac | lns } ] |
- |
开启L2TP会话的流控功能 |
tunnel flow-control |
缺省情况下,L2TP会话的流控功能处于关闭状态 |
DSCP(Differentiated Services Code Point,区分服务编码点)携带在IP报文中的ToS字段,用来体现报文自身的优先等级,决定报文传输的优先程度。
通过本配置指定隧道报文的DSCP优先级后,当流量经过L2TP隧道转发时,L2TP将其封装为IP报文并将IP报文头中的DSCP优先级设置为指定的值。
表1-17 配置隧道报文的DSCP优先级
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入L2TP组视图 |
l2tp-group group-number [ mode { lac | lns } ] |
- |
配置隧道报文的DSCP优先级 |
ip dscp dscp-value |
缺省情况下,L2TP隧道报文的DSCP优先级为0 |
缺省情况下,设备在公网上发送L2TP控制消息和数据消息。通过本配置指定隧道对端所属的VPN后,设备将在指定的VPN内发送L2TP控制消息和数据消息,即在指定VPN内查找到达控制消息和数据消息目的地址的路由,根据指定VPN的路由转发控制消息和数据消息。
当L2TP隧道的一个端点位于某个VPN中时,需要在L2TP隧道的另一个端点上通过本配置指定隧道对端属于该VPN,以便正确地在L2TP隧道端点之间转发报文。
执行本配置时需要注意,隧道对端所属的VPN应该与本端设备连接L2TP隧道对端的物理接口所属的VPN(通过ip binding vpn-instance命令配置)相同。
表1-18 配置隧道对端所属的VPN
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入L2TP组视图 |
l2tp-group group-number [ mode { lac | lns } ] |
- |
配置隧道对端所属的VPN |
vpn-instance vpn-instance-name |
缺省情况下,L2TP隧道对端属于公网 |
在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-19 配置LTS设备的TSA ID
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置LTS设备的TSA ID,并开启LTS设备的L2TP环路检测功能 |
l2tp tsa-id tsa-id |
缺省情况下,未指定LTS设备的TSA ID,且LTS设备的L2TP环路检测功能处于关闭状态 |
在某些组网中可能出现对端的报文接收处理能力和对端接收窗口的大小不匹配的情况(例如:对端实际的报文接收处理能力为10,但接收窗口的大小为20),此时可以通过本命令调整本端L2TP隧道发送窗口的大小来适配对端的实际报文接收处理能力,以保证L2TP用户平稳上线。
在L2TP隧道建立时会获取L2TP组视图下配置的发送窗口大小。如果配置的发送窗口大小为0,则按缺省情况处理;如果配置的发送窗口大小非0,则以配置的发送窗口大小为准。隧道建立完成后通过本配置修改L2TP隧道发送窗口的大小对已经建立的隧道发送窗口的大小无影响。
表1-20 配置L2TP隧道发送窗口的大小
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入L2TP组视图 |
l2tp-group group-number [ mode { lac | lns } ] |
- |
配置L2TP隧道发送窗口的大小 |
l2tp window send size |
缺省情况下,L2TP隧道发送窗口的大小为0,即本端发送窗口的大小以隧道建立过程中对端携带的接收窗口大小的属性值为准,如果隧道建立过程中对端没有携带接收窗口大小属性,则本端隧道发送窗口的大小为4 |
配置本功能时,需要注意:
· 如果LNS设备上配置了EAD功能,但是没有配置好认证服务器下发的ACL号或rule,会导致认证不通过。
· 不同的主机用户ACL可以不同,设备根据不同的ACL对不同的用户进行报文过滤。
· 建议只在跨越Internet的远端客户端使用此功能,局域网用户不建议使用此功能,应该使用Portal认证。
完成L2TP、Portal、AAA、RADIUS及安全策略服务器的相关配置。
关于Portal的相关内容,请参见“安全配置指导”中的“Portal”。
关于AAA和RADIUS的相关内容,请参见“安全配置指导”中的“AAA”。
关于安全策略服务器的配置,请参见“CAMS EAD安全策略组件联机帮助”以及“iMC EAD安全策略组件联机帮助”。
表1-21 配置基于L2TP接入的EAD功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建并进入虚拟模板接口 |
interface virtual-template interface-number |
- |
开启基于L2TP接入的EAD功能 |
ppp access-control enable |
必选 缺省情况下,基于L2TP接入的EAD功能处于关闭状态 |
当3G和4G路由器作为Client并按照Client-Initiated模式接入LNS或4G路由器作为LAC端并按照LAC-Auto-Initiated模式自动触发接入LNS时,需要配置LNS可以发起IMSI/SN捆绑协商功能。
表1-22 配置LNS支持PPP LCP协商IMSI/SN号
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入虚拟模板接口视图 |
interface virtual-template interface-number |
- |
配置在LNS侧发起IMSI/SN捆绑协商请求 |
ppp lcp imsi request ppp lcp sn request |
二者选其一 缺省情况下,LNS侧不发起IMSI/SN捆绑协商请求及未配置协商认证时拆分对端用户名使用的分隔符 |
配置协商时拆分对端用户名使用的分隔符 |
ppp user accept-format imsi-sn split splitchart |
|
(可选)配置使用IMSI/SN信息替换用户名进行认证 |
ppp user replace { imsi | sn } |
缺省情况下,使用用户名进行认证 |
仅设备作为4G路由器时支持本功能。设备作为4G路由器的支持情况与设备的型号有关,请以设备的实际情况为准。
4G路由器作为LAC端时,并按照LAC-Auto-Initiated模式自动触发接入LNS时需要配置LAC端支持PPP LCP协商IMSI/SN号。有关4G路由器的详细介绍,请参见“二层技术-广域网接入配置指导”中的“3G Modem和4G Modem管理”。
表1-23 配置LAC端支持PPP LCP协商IMSI/SN号
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建虚拟PPP接口,并进入虚拟PPP接口视图 |
interface virtual-ppp interface-number |
缺省情况下,设备上未配置任何虚拟PPP接口 |
配置LAC端接受LNS侧发起的IMSI捆绑协商请求 |
ppp lcp imsi accept |
缺省情况下,LAC侧不接受LNS侧发起的IMSI捆绑协商请求 |
配置LAC端接受LNS侧发起的SN捆绑协商请求 |
ppp lcp sn accept |
缺省情况下,LAC侧不接受LNS侧发起的SN捆绑协商请求 |
(可选)配置LAC端的IMSI信息 |
ppp lcp imsi string imsi-info |
缺省情况下,IMSI信息从设备上自动获取 |
(可选)配置LAC端的SN信息 |
ppp lcp sn string sn-info |
缺省情况下,SN信息从设备上自动获取 |
(可选)配置协商认证时发送对端用户名使用的分隔符 |
ppp user attach-format imsi-sn split splitchart |
缺省情况下,未配置协商认证时发送对端用户名使用的分隔符 |
退回系统视图 |
quit |
- |
进入Cellular接口视图 |
controller cellular cellular-number |
- |
配置本地SIM卡的IMSI与虚拟PPP接口绑定 |
imsi bind virtual-ppp interface-number |
缺省情况下,本地SIM卡的IMSI未绑定到任何接口 |
仅3G和4G路由器作为Client时支持本功能。有关3G和4G路由器的详细介绍,请参见“二层技术-广域网接入配置指导”中的“3G Modem和4G Modem管理”。
设备作为3G和4G路由器的支持情况与设备的型号有关,请以设备的实际情况为准。
表1-24 配置Clinet支持PPP LCP协商IMSI/SN号
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入Serial接口视图 |
interface serial cellular-number:set-number |
Serial接口是通过在Cellular接口配置serial-set命令后通道化出的一个接口 |
配置Client侧接受LNS侧发起的IMSI捆绑协商请求 |
ppp lcp imsi accept |
缺省情况下,Client侧不接受LNS侧发起的IMSI捆绑协商请求 |
配置Client侧接受LNS侧发起的SN捆绑协商请求 |
ppp lcp sn accept |
缺省情况下,Client侧不接受LNS侧发起的SN捆绑协商请求 |
(可选)配置Client侧的IMSI信息 |
ppp lcp imsi string imsi-info |
缺省情况下,IMSI信息从设备上自动获取 |
(可选)配置Client侧的SN信息 |
ppp lcp sn string sn-info |
缺省情况下,SN信息从设备上自动获取 |
(可选)配置协商认证时发送对端用户名使用的分隔符 |
ppp user attach-format imsi-sn split splitchart |
缺省情况下,未配置协商认证时发送对端用户名使用的分隔符 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后L2TP的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以强制断开指定的L2TP隧道。
表1-25 L2TP显示和维护
操作 |
命令 |
显示当前L2TP隧道的信息 |
display l2tp tunnel [ statistics ] |
显示当前L2TP会话的信息 |
display l2tp session [ statistics ] |
显示当前L2TP非稳态会话的信息 |
display l2tp session temporary |
显示虚拟PPP接口的相关信息 |
display interface [ virtual-ppp [ interface-number ] ] [ brief [ description | down ] ] |
显示L2TP的VA池信息 |
display l2tp va-pool |
强制断开指定的L2TP隧道 |
reset l2tp tunnel { id tunnel-id | name remote-name } |
清除虚拟PPP接口的统计信息 |
reset counters interface [ virtual-ppp [ interface-number ] ] |
PPP用户通过LAC接入LNS,在LAC和LNS之间建立L2TP隧道,以便用户通过该L2TP隧道访问公司总部。
图1-11 NAS-Initiated模式L2TP隧道组网图
(1) LAC侧的配置
# 配置各接口的IP地址(略)。
# 创建本地PPP用户vpdnuser,设置密码为Hello。
<LAC> system-view
[LAC] local-user vpdnuser class network
[LAC-luser-network-vpdnuser] password simple Hello
[LAC-luser-network-vpdnuser] service-type ppp
[LAC-luser-network-vpdnuser] quit
# 配置ISP域system对PPP用户采用本地验证。
[LAC] domain system
[LAC-isp-system] authentication ppp local
[LAC-isp-system] quit
# 配置虚拟模板接口1的参数,采用CHAP认证对端。
[LAC] interface virtual-template 1
[LAC-Virtual-Template1] ppp authentication-mode chap domain system
[LAC-Virtual-Template1] quit
# 在接口GigabitEthernet1/0/2上启用PPPoE Server协议,并将该接口与虚拟模板接口1绑定。
[LAC] interface gigabitethernet 1/0/2
[LAC-GigabitEthernet1/0/2] pppoe-server bind virtual-template 1
[LAC-GigabitEthernet1/0/2] quit
# 开启L2TP功能。
[LAC] l2tp enable
# 创建LAC模式的L2TP组1,配置隧道本端名称为LAC,指定接入的PPP用户的用户名为vpdnuser时LAC向LNS发起隧道建立请求,并指定LNS地址为1.1.2.2。
[LAC] l2tp-group 1 mode lac
[LAC-l2tp1] tunnel name LAC
[LAC-l2tp1] user fullusername vpdnuser
[LAC-l2tp1] lns-ip 1.1.2.2
# 启用隧道验证功能,并设置隧道验证密钥为aabbcc。
[LAC-l2tp1] tunnel authentication
[LAC-l2tp1] tunnel password simple aabbcc
[LAC-l2tp1] quit
(2) LNS侧的配置
# 配置各接口的IP地址。(略)
# 创建本地PPP用户vpdnuser,设置密码为Hello。
<LNS> system-view
[LNS] local-user vpdnuser class network
[LNS-luser-network-vpdnuser] password simple Hello
[LNS-luser-network-vpdnuser] service-type ppp
[LNS-luser-network-vpdnuser] quit
# 配置ISP域system对PPP用户采用本地验证。
[LNS] domain system
[LNS-isp-system] authentication ppp local
[LNS-isp-system] quit
# 开启L2TP功能。
[LNS] l2tp enable
#配置PPP地址池。
[LNS] ip pool aaa 192.168.0.10 192.168.0.20
[LNS] ip pool aaa gateway 192.168.0.1
# 创建接口Virtual-Template1,PPP认证方式为CHAP,并使用地址池aaa为Client端分配IP地址。
[LNS] interface virtual-template 1
[LNS-virtual-template1] ppp authentication-mode chap domain system
[LNS-virtual-template1] remote address pool aaa
[LNS-virtual-template1] quit
# 创建LNS模式的L2TP组1,配置隧道本端名称为LNS,指定接收呼叫的虚拟模板接口为VT1,并配置隧道对端名称为LAC。
[LNS] l2tp-group 1 mode lns
[LNS-l2tp1] tunnel name LNS
[LNS-l2tp1] allow l2tp virtual-template 1 remote LAC
# 启用隧道验证功能,并设置隧道验证密钥为aabbcc。
[LNS-l2tp1] tunnel authentication
[LNS-l2tp1] tunnel password simple aabbcc
[LNS-l2tp1] quit
(3) Remote host侧的配置
在Remote host上配置PPPoE拨号连接,在拨号网络窗口中输入用户名vpdnuser和密码Hello进行拨号。
# 拨号连接成功后,Remote host获取到IP地址192.168.0.10,并可以ping通LNS的私网地址192.168.0.1。
# 在LNS侧,通过命令display l2tp tunnel可查看建立的L2TP隧道。
[LNS] display l2tp tunnel
LocalTID RemoteTID State Sessions RemoteAddress RemotePort RemoteName
196 3542 Established 1 1.1.2.1 1701 LAC
# 在LNS侧,通过命令display l2tp session可查看建立的L2TP会话。
[LNS] display l2tp session
LocalSID RemoteSID LocalTID State
2041 64 196 Established
PPP用户直接与LNS建立L2TP隧道,通过L2TP隧道访问公司总部。
图1-12 Client-Initiated模式L2TP隧道组网图
(1) LNS侧的配置
# 配置接口的IP地址。(略)
# 配置路由,使得LNS与用户侧主机之间路由可达。(略)
# 创建本地PPP用户vpdnuser,设置密码为Hello。
[LNS] local-user vpdnuser class network
[LNS-luser-network-vpdnuser] password simple Hello
[LNS-luser-network-vpdnuser] service-type ppp
[LNS-luser-network-vpdnuser] quit
# 配置ISP域system对PPP用户采用本地验证。
[LNS] domain system
[LNS-isp-system] authentication ppp local
[LNS-isp-system] quit
# 开启L2TP功能。
[LNS] l2tp enable
#配置PPP地址池。
[LNS] ip pool aaa 192.168.0.10 192.168.0.20
[LNS] ip pool aaa gateway 192.168.0.1
# 创建接口Virtual-Template1,PPP认证方式为CHAP,并使用地址池aaa为Client端分配IP地址。
[LNS] interface virtual-template 1
[LNS-virtual-template1] ppp authentication-mode chap domain system
[LNS-virtual-template1] remote address pool aaa
[LNS-virtual-template1] quit
# 创建LNS模式的L2TP组1,配置隧道本端名称为LNS,指定接收呼叫的虚拟模板接口为VT1。
[LNS] l2tp-group 1 mode lns
[LNS-l2tp1] tunnel name LNS
[LNS-l2tp1] allow l2tp virtual-template 1
# 关闭L2TP隧道验证功能。
[LNS-l2tp1] undo tunnel authentication
(2) Remote host侧的配置
配置IP地址为2.1.1.1,并配置路由,使得Remote host与LNS(IP地址为1.1.2.2)之间路由可达。
利用Windows系统创建虚拟专用L2TP网络连接,或安装L2TP客户端软件,如WinVPN Client。
在Remote host上进行如下L2TP配置(设置的过程与相应的客户端软件有关,以下为设置的内容):
· 设置PPP用户名为vpdnuser,密码为Hello。
· 将LNS的IP地址设为安全网关的Internet接口地址(本例中LNS侧与隧道相连接的以太网接口的IP地址为1.1.2.2)。
· 修改连接属性,将采用的协议设置为L2TP,将加密属性设为自定义,并选择CHAP验证。
# 在Remote host上触发L2TP拨号。拨号连接成功后,Remote host获取到IP地址192.168.0.10,并可以Ping通LNS的私网地址192.168.0.1。
# 在LNS侧,通过命令display l2tp session可查看建立的L2TP会话。
[LNS-l2tp1] display l2tp session
LocalSID RemoteSID LocalTID State
89 36245 10878 Established
# 在LNS侧,通过命令display l2tp tunnel可查看建立的L2TP隧道。
[LNS-l2tp1] display l2tp tunnel
LocalTID RemoteTID State Sessions RemoteAddress RemotePort RemoteName
10878 21 Established 1 2.1.1.1 1701 PC
PPP用户接入之前,在LAC和LNS之间采用LAC-Auto-Initiated模式建立L2TP隧道。PPP用户接入后,通过已经建立的L2TP隧道访问公司总部。
图1-13 LAC-Auto-Initiated模式L2TP隧道组网图
(1) LNS侧的配置
# 配置各接口的IP地址(略)。
# 创建本地PPP用户vpdnuser,配置密码为Hello。
<LNS> system-view
[LNS] local-user vpdnuser class network
[LNS-luser-network-vpdnuser] password simple Hello
[LNS-luser-network-vpdnuser] service-type ppp
[LNS-luser-network-vpdnuser] quit
# 创建接口Virtual-Template1,配置VT口IP地址,PPP认证方式为PAP,并指定为Client端分配IP地址为192.168.0.10。
[LNS] interface virtual-template 1
[LNS-virtual-template1] ip address 192.168.0.1 24
[LNS-virtual-template1] ppp authentication-mode pap
[LNS-virtual-template1] remote address 192.168.0.10
[LNS-virtual-template1] quit
# 配置ISP域system对PPP用户采用本地验证。
[LNS] domain system
[LNS-isp-system] authentication ppp local
[LNS-isp-system] quit
# 开启L2TP功能,并创建LNS模式的L2TP组1。
[LNS] l2tp enable
[LNS] l2tp-group 1 mode lns
# 配置LNS侧本端名称为LNS,指定接收呼叫的虚拟模板接口为VT1,并配置隧道对端名称为LAC。
[LNS-l2tp1] tunnel name LNS
[LNS-l2tp1] allow l2tp virtual-template 1 remote LAC
# 启用隧道验证功能,并设置隧道验证密钥为aabbcc。
[LNS-l2tp1] tunnel authentication
[LNS-l2tp1] tunnel password simple aabbcc
[LNS-l2tp1] quit
# 配置私网路由,使得访问PPP用户的报文将通过L2TP隧道转发。
[LNS] ip route-static 10.2.0.0 16 192.168.0.10
(2) LAC侧的配置
# 配置各接口的IP地址(略)。
# 开启L2TP功能。
<LAC> system-view
[LAC] l2tp enable
# 创建LAC模式的L2TP组1。
[LAC] l2tp-group 1 mode lac
# 配置LAC侧本端名称为LAC,并指定LNS的IP地址为3.3.3.2。
[LAC-l2tp1] tunnel name LAC
[LAC-l2tp1] lns-ip 3.3.3.2
# 开启隧道验证功能,并设置隧道验证密钥为aabbcc。
[LAC-l2tp1] tunnel authentication
[LAC-l2tp1] tunnel password simple aabbcc
[LAC-l2tp1] quit
# 创建虚拟PPP接口Virtual-PPP 1,配置PPP用户的用户名为vpdnuser、密码为Hello,并配置PPP验证方式为PAP。
[LAC] interface virtual-ppp 1
[LAC-Virtual-PPP1] ip address ppp-negotiate
[LAC-Virtual-PPP1] ppp pap local-user vpdnuser password simple Hello
[LAC-Virtual-PPP1] quit
# 配置私网路由,访问公司总部的报文将通过L2TP隧道转发。
[LAC] ip route-static 10.1.0.0 16 virtual-ppp 1
# 触发LAC发起L2TP隧道建立请求。
[LAC] interface virtual-ppp 1
[LAC-Virtual-PPP1] l2tp-auto-client l2tp-group 1
(3) Remote host侧的配置
Remote host上应将LAC设置为网关。
# 在LNS侧,通过命令display l2tp session可查看建立的L2TP会话。
[LNS] display l2tp session
LocalSID RemoteSID LocalTID State
21409 3395 4501 Established
# 在LNS侧,通过命令display l2tp tunnel可查看建立的L2TP隧道。
[LNS] display l2tp tunnel
LocalTID RemoteTID State Sessions RemoteAddress RemotePort RemoteName
4501 524 Established 1 3.3.3.1 1701 LAC
# 在LNS侧,可以Ping通LAC的私网地址10.2.0.1,说明10.2.0.0/16和10.1.0.0/16网络内的主机可以通过L2TP隧道通信。
[LNS] ping -a 10.1.0.1 10.2.0.1
Ping 10.2.0.1 (10.2.0.1): 56 data bytes, press CTRL_C to break
56 bytes from 10.2.0.1: icmp_seq=0 ttl=128 time=1.000 ms
56 bytes from 10.2.0.1: icmp_seq=1 ttl=128 time=1.000 ms
56 bytes from 10.2.0.1: icmp_seq=2 ttl=128 time=1.000 ms
56 bytes from 10.2.0.1: icmp_seq=3 ttl=128 time=1.000 ms
56 bytes from 10.2.0.1: icmp_seq=4 ttl=128 time=1.000 ms
--- Ping statistics for 10.2.0.1 ---
5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss
round-trip min/avg/max/std-dev = 1.000/1.000/1.000/0.000 ms
远端系统无法访问企业内部网络。
主要有以下几种原因:
(1) Tunnel建立失败,原因可能是:
· 在LAC端,LNS的地址设置不正确,具体可以查看lns-ip命令的说明。
· LNS端没有设置可以接收该隧道对端的L2TP组,具体可以查看allow命令的说明。
· Tunnel验证不通过,如果配置了验证,应该保证双方都启用了隧道验证并且配置相同的验证密钥。
(2) PPP协商不通过,可能原因有:
· LAC端设置的用户名与密码有误,或者是LNS端没有设置相应的用户。
· LNS端不能分配地址,请检查远端系统和LNS对IP地址协商相关的配置是否正确。
· 密码验证类型不一致。例如,Windows 2000所创建的VPN连接缺省的验证类型为MSCHAP,如果对端不支持MSCHAP,建议改为CHAP。
数据传输失败,在隧道建立后数据不能传输,如Ping不通对端。
可能有如下原因:
(1) 路由问题:LAC和LNS上需要存在到达对端私网的路由,否则会导致数据传输失败。在LAC和LNS上执行display ip routing-table命令,查看设备上是否存在到达对端私网的路由。若不存在,则需要配置静态路由或动态路由协议,在设备上添加该路由。
(2) 网络拥挤:Internet主干网产生拥挤,丢包现象严重。L2TP是基于UDP进行传输的,UDP不对报文进行差错控制。如果是在线路质量不稳定的情况下进行L2TP应用,有可能会产生Ping不通对端的情况。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!