由于L2TP协议的实现与其他许多模块相关,而且LAC和LNS两端的不尽相同,在实际时,与其他模块的配合比较容易出现的故障。另外,和Cisco的配置也存在一些差别,因此互通过程中可能也会产生一些问题。常见问题描述如下:
1、路由器之间无法正确建立隧道
在路由器之间不能正确建立隧道(Tunnel),可能是以下几种原因造成的:
(1) LAC与LNS之间相连的接口在网络层无法互通(即接口处于Down状态)。这种情况是经常出现的,在配置VPN参数前,建议首先在LAC端使用ping命令测试是否能ping通对端LNS,确保网络通达能力。
(2) LAC或LNS上没有启动VPDN服务(即未配置l2tp enable命令)。
(3) VPDN未通过LAC端的认证,造成这种情况出现的可能原因如下:
LAC与VPDN用户的接口上未配置PPP认证;
从VPDN用户接收来的认证方式信息与LAC对应接口上配置的认证信息不一致;
LAC上没有配置相应的VPDN用户,或从VPDN用户接收来的密码与配置的密码不一致。
(4) VPDN组中的相关参数配置错误。
在LAC侧
首先查看start l2tp { ip ip-addr [ ip ip-addr ] [ ip ip-addr ] ... } { domain domain-name | fullusername user-name }命令中的LNS地址是否配置正确。如果采用fullusername方式接入,应确保user-name与用户端输入的全用户名一致;如果采用 domain方式接入,应明确已经配置了此domain域。
在LNS 端
查看allow l2tp virtual-template virtual-template-number remote remote-name [ domain domain-name ]命令中remote-peer-name与LAC端tunnel name name命令中的name是否一致。
对于LAC和LNS配合参数
查看两端是否同时都配置了隧道认证,或同时都未配置认证,应避免一端配置而另一端没有配置。如果两端都配置了认证,应确保两端的隧道密码一致(命令tunnel password { simple | cipher } ),为了安全性考虑,建议两端同时配置认证。
2、路由器与Cisco路由器之间无法正确建立隧道
(1) Cisco路由器作为LAC
如果某路由器设备做为VPDN用户端,则首先确保该路由器用户与LAC(Cisco路由器)对应接口在链路层上封装PPP协议,当正确为接口配置IP地址后,检查两端接口是否能够UP,如果不能则必须在其中一端配置波特率(一般在Cisco路由器侧配置)。
目前,Cisco 路由器不支持全用名fullusername方式接入。如果Cisco路由器采用域名domain方式接入,则必须在启动VPDN服务后配置l2tp domain { prefix-separator | suffix-separator } delimiters命令。另外,Cisco路由器作为LAC时可以不对用户进行代理认证,即可以不配置用户名,但必须在与用户相连的接口上配置PPP认 证,从而确保正常发起L2TP隧道连接。
由于Cisco路由器支持多种二层隧道协议,因此进入VPDN组配置模式后,应再进入request-dialin配置模式,并配置protocol l2tp命令。其它故障处理思路可以参照Quidway路由器的VPDN组故障处理方法进行。
(2) Cisco路由器作为LNS
配置与Cisco路由器作为LAC时的基本相同,区别仅在于:Cisco侧隧道协议必须配置为L2TP,并在VPDN组配置模式下的accept-dialin模式下配置。
3、能正确建立Tunnel,但无法正确建立Session
在配置的两台路由器之间能正确建立隧道 ,但不能建立会话(此处不分Quidway系列之间还是Quidway与Cisco之间,因为原因是相同的),可能是以下几种原因造成的:
(1) VPDN用户没有通过LNS端的验证,可能有以下几种原因:
在LNS端的Virtual Template上配置了认证,但没有配置相关的用户身份信息(如本地用户或RADIUS用户)。
LAC端采用PAP认证,而在LNS端的Virtual Template上配置的是CHAP认证。LNS端的VPDN组视图下启动了LCP重协商(mandatory-lcp命令),而VPDN用户端却没有发送CHAP认证信息。
LAC端采用PAP认证,LNS端启动了强制CHAP验证(mandatory-chap命令),而VPDN用户端却没有发送CHAP认证信息。
(2) VPDN用户为PC机时,如果用户端采用IP地址重协商,但LNS端的Virtual Template上却没有指定给对方分配IP地址所用的地址池(remote address { ip-address | pool [ pool-number ] }命令)。
(3) VPDN用户为PC机时,在LNS端的Virtual Template上配置了给对方分配IP地址所用的地址池,但指定地址池中没有足够IP地址用来分配给用户端。
(4) VPDN用户为路由器时,用户端既没有被指定IP地址,同时也没有配置为采用IP地址重协商。
(5) LNS 端同时作为LAC,即LNS的VPDN组中配置了start l2tp { ip ip-addr [ ip ip-addr ] [ ip ip-addr ] ... } { domain domain-name | fullusername user-name }命令,并且user-name或domain-name与LAC端配置的用户信息相同,相当于目前充当LNS的路由器又作为新LAC使用。这样进行配 置,新LAC(旧LNS)会向新LNS(旧LAC)发起L2TP隧道连接,但连接不通,即不允许LNS与LAC之间存在呼叫环路。这种现象配置时较为常 见,请多多注意。
4、L2TP问题
当L2TP的一个会话(Session)数无法达到Session最大会话数1024时,可能原因如下:
(1) 地址池中的IP地址数目少于VPN用户数,即没有足够的地址分给用户。 通过增加地址池中的IP地址数量解决该问题。
(2) L2TP中所有会话结构占用的内存容量超过了路由器实际内存容量,即没有空闲内存资源供新建会话使用。没有都比较大,所以达不到最大数,可能是内存不够所致。通过增加物理内存的方式解决该问题。
5、其他相关问题
(1) VPDN用户不能访问企业网内部
当VPDN用户与LNS之间建立了会话(相当于VPDN用户与LNS之间在网络层直连)后,VPDN用户端和LNS端都会新增一条路由。如果VPDN用户不能正常访问企业网内部服务器,可能的原因如下:
如果LNS端分给用户的地址与企业网内部网段不属于同一个子网段,则在VPDN用户端将缺少到企业网内部网段的路由。
LNS端没有增加相应的路由信息。
安全IE备考之- CISCO Devices Security
文章转载至