Troubleshooting
clear vpdn tunnel [l2f [nas-name hgw-name] | l2tp
[remote-name local-name]]  →shutdown某一条特定的tunnel和这条tunnel里所有的会话
debug ppp negotiation   →查看PPP协商过程
debug ppp chap     展示CHAP数据包 交换
debug vpdn event [protocol flow-control] →展示L2TP的错误和大事件
debug vpdn packet [control data] [detail] →展示特定协议的数据包头信息
show interface virtual access number →展示关于virtual access interface的一些信息
show vpdn session [all [interface | tunnel username] | packets sequence state timers window]  →展示会话信息,包括接口、tunnel、用户名等
show vpdn tunnel [all [id | local-name remote-name] |
packets state summary transport →查看tunnel信息
vpdn-group 1
! Default L2TP VPDN group
accept dialin l2tp virtual-template 1
当你只是携带了l2tp参数和virtual-template参数,就启用了一个default vpdn-group配置,允许所有的tunnel分享相同的tunnel属性。
clear vpdn tunnel l2tp mugsy sophia
清除特定remote namelocal nametunnel
LAC配置:
! Enable AAA globally
aaa new-model
! Enable AAA authentication for PPP and list the default method to use for PPP authentication
aaa authentication ppp default local
! Define the username as “DJ”
username DJ password 7 030C5E070A00781B
! Enable VPDN
vpdn enable
! Define VPDN group number 1
vpdn-group 1
! Allow the LAC to respond to dialin requests using L2TP from IP address 172.21.9.13 domain “cisco.com”
request dialin l2tp ip 172.21.9.13 domain cisco.com
LNS配置:
! Enable AAA globally
aaa new-model
! Enable AAA authentication for PPP and list the default method to use for PPP authentication
AAA authentication ppp default local
! Define the username as “partner”
username partner password 7 030C5E070A00781B
! create virtual-template 1 and assign all values for virtual access interfaces
interface Virtual-Template1
! Borrow the IP address from interface Ethernet 1
ip unnumbered Ethernet0
! Disable multicast fast switching
no ip mroute-cache
! Use CHAP to authenticate PPP
ppp authentication chap
! Enable VPDN
vpdn enable
! Create vpdn-group number 1
vpdn-group 1
! Accept all dialin l2tp tunnels from virtual-template 1 from remote peer DJ
accept dialin l2tp virtual-template 1 remote DJ
在LNS端我们需要为每一个LAC定义一个VPDN-Group,这样的话就会变得很复杂,所以如果每个tunnel都是相同属性的话,我们就可以运用default配置。
LAC troubleshooting:
show debug
show vpdn
debug vpdn packet control
LAC troubleshooting:
debug vpdn protocol events
sh vpdn
查看CHAP协商问题
debug ppp negotiation 
debug ppp chap
force-local-chap 强制LNSLAC进行重新认证,当开启了这个功能以后,认证挑战将发送两次。
l2tp flow-control receive-window 
l2tp flow-control backoff-queuesize
此处两个命令进行联用,receive-window定义会话窗口的大小,当对端的窗口满了以后,本端可以排队,会话队列大小由queuesize来决定。
l2tp flow-control maximum-ato
这个命令也和receive-window联用,设置发送给对端用来侦测对端窗口大小的数据包间隔时间
Experiment:
R1模拟主机,R2模拟LAC,R3模拟LNS
R1(s1/1--------------------(s1/0)R2(s1/1)--------------------(s1/0)R3
1、R1模拟为主机
PC(config)#no  ip routing
PC(config)#int se1/1
PC(config-if)#ip add negotiated  →通过PPP协商来获得IP地址
PC(config-if)#encap ppp →PPP封装
PC(config-if)#serial restart-delay 0 →默认连续重启延时为0
PC(config-if)#ppp  chap host jerry.chen@cisco.com→作为chap认证的客户端,用户名为jerry.chen@cisco.com
PC(config-if)#ppp chap pass cisco →作为chap认证的客户端,密码为cisco
2、配置R2成为LAC
R2(config)#int se1/0
R2(config-if)#no ip add →此接口不配置IP地址
R2(config-if)#enca ppp →接口运用PPP封装
R2(config-if)#ppp authen chap →运用chap协议进行PPP认证
R2(config)#aaa new-model  →全局启用aaa认证
R2(config)#aaa authentication ppp default local  →为PPP认证指定默认方法,用本地数据库进行认证
R2(config)#vpdn enable →全局开启vpdn ×××功能
R2(config)#vpdn search-order domain →设置被叫号码与域名的先后查找顺序
R2(config)#vpdn-group 1 →建立一个名为1的vpdn组
R2(config-vpdn)#request-dialin →配置为LAC端,可以发起L2TP隧道请求连接
R2(config-vpdn-req-in)#protocol l2tp →启用L2TP协议
R2(config-vpdn-req-in)#domain cisco.com →指定LAC的域名,用于触发VPDN隧道的建立
R2(config-vpdn)#initiate-to ip 23.0.0.3 →指定LNS具体的IP地址
R2(config-vpdn)#local name LAC →配置本地名为jerry
R2(config-vpdn)#l2tp tunnel authentication →开启隧道认证功能
R2(config-vpdn)#l2tp tunnel password cisco →设置隧道认证密码为cisco
R2(config)#ip route 0.0.0.0 0.0.0.0 23.0.0.3 →设置默认路由
4、将R3配置成为LNS
R3(config)#int se1/0
R3(config-if)#ip add 23.0.0.3 255.255.255.0 
R3(config-if)#no  sh
R3(config-if)#int lo1
R3(config-if)#ip add 10.10.10.10 255.255.255.255 →配置环回测试端口
R3(config)#int virtual-template 1 →创建一个虚拟模板接口,并且为这个虚拟模板接口设置一个特征值
R3(config-if)#ip unnumbered loopback 1 →指定隧道接口,向loopback 1接口借IP地址
R3(config-if)#no  ip mroute-cache →关闭组播快速交换
R3(config-if)#peer default ip address pool POOL →调用地址池,为客户端分配IP地址
R3(config-if)#ppp authentication chap 运用PPP chap认证
R3(config)#ip local pool POOL 192.168.1.1 192.168.1.100 →建立动态地址池,为客户端分配IP地址
R3(config)#username PC pass cisco →建立CHAP认证数据库
R3(config)#vpdn enable →开启vpdn 特性
R3(config)#vpdn-group 1 →创建一个名为1的VPDN组
R3(config-vpdn)#accept-dialin →配置为LNS端,接受远端L2TP请求
R3(config-vpdn-acc-in)#protocol l2tp →开启L2TP协议
R3(config-vpdn-acc-in)#virtual-template 1 →调用前面的虚拟接口模板
R3(config-vpdn)#terminate-from hostname LAC →设置LNS响应远端LAC的隧道名,对方的隧道名必须与此处相同,否则无法互通
R3(config-vpdn)#local name lns →配置本地名称为lns
R3(config-vpdn)#l2tp tun authentication →开启隧道认证
3(config-vpdn)#l2tp tunnel password cisco →隧道认证密码为cisco
R3(config-vpdn)#l2tp tunnel receive-window 80 →设置本地接收滑动窗口的大小为80