在PPP(点到点协议)中,1层物理链路建立和2层数据链路信息是可分离的。VPDN应用上述原理,使ISP可以通过3层网络把用户之间通过2层设备(链路访问集中器,LAC),并通过IP封装PPP帧转发到真正的PPP终结设备(链路网络服务器,LNS),从而建立完整的PPP链路。在用户端看来,该PPP链路是直接连接到后端二层终接设备的,其间没有三层信息交换。
虚拟拨号专网(VPDN)属于LAC与LNS之间的隧道协议。LAC与LNS是三层设备,因此上述两者可以部署在IP网络内。VPDN包含有两种技术,其中一种就是本文的核心部分:L2TP(2层隧道协议)。
如图,Client需要与远程网络LNS建立PPP二层连接,但2层链路的终结点在LAC上。一方面,Client与LAC继续保持PPP链路的建立;另一方面,LAC通过VPDN,在3层链路上与LNS建立L2TP隧道,并在Client和LNS之间转发通过IP封装的PPP帧。
(一)物理端口
interface phy-intf
l 以太网口
pppoe enable
pppoe dialer-pool-member pool-number
l 其它口
encapsulation ppp
dialer pool pool-number
(二)拨号访问列表
dialer-list dialer-list-number protocol ip permit
(三)拨号端口
interface dialer 0
ip address negotiated
#dialer参数
dialer pool-number pool-number
dialer-group dialer-list-number
#ppp参数
ppp authentication chap callin
//注意,这里设置的domain必须与LAC的VPDN-GROUP内设置的domain参数一致,否则LAC无法激活到达LNS的VPDN隧道
ppp chap hostname name@domain
ppp chap password ppp-password
(一)物理端口配置
interface phy-intf
l 以太网口
pppoe enable
pppoe-client dialer-pool-member pool-number
l 其它端口
encapsulation ppp
dialer pool-member pool-number
若使用以太网口,需要添加bba组,引用一个虚拟模板进行配置;使用其它口忽略该步骤
bba-group bba-gp-name global
virtual-template intf-vt-num
interface virtual-template intf-vt-num
ppp authentication chap
(二)拨号访问列表
dialer-list dialer-list-number protocol ip permit
(三)拨号虚拟端口
interface dialer0
encapsulation ppp
#dialer配置
dialer pool pool-number//物理端口引用的dial pool
dialer-group dialer-list-number
#ppp验证。这里只配置chap验证命令,不配置具体验证账号。验证账号在LNS上
ppp authentication chap
(四)VPDN
vpdn enable
vpdn-group group-name
request-dialin
protocol l2tp
domain domain//必须与Client的Dialer口所配置的domain一样。否则无法激活VPDN隧道。
initiate-to ip ip-address
下面两条命令必须配至少其中一条:
l l2tp tunnel password l2tp-password
l local name local-host-name
(五)AAA认证
aaa new-model
aaa authentication ppp default local
aaa authorization network default local
(六)本地访问账号
username LAC password vpdn-peer-password
username LNS password vpdn-peer-password
#绿色字体必须完全一致
(一)AAA认证
对PPP链路进行认证,通过后授权访问本地网络
aaa new-model
aaa authentication ppp default local
aaa authorization network default local
(二)本地访问账号
3个账号,2个是与LAC建立VPDN隧道的,1个是与Client建立PPP链路的
user LNS password vpdn-peer-password
user LAC password vpdn-peer-password
user name@domain password ppp-password
(三)分配给对端拨号客户的地址池
ip local pool ppp_pool_num 192.168.0.1 192.168.0.100
(四)VPDN配置
vpdn enable
vpdn-group l2cp-vg-name
接收连接,所以只能
accept-dialin
protocol l2tp
该参数与之后的l2tp-vt-num必须一致
virtual-template 1000
#accept-dialer只能指定对方主机名
terminate from host HOST
下面两条命令必须配至少其中一条:
l l2tp tunnel password l2tp-password
l local name local-host-name
(五)虚拟模板
interface virtual-template intf-vt-num
ip unnumbered Loopback
peer default ip address pool POOL-NAME
ppp authentication chap
(一)在Client中可以使用show pppoe session检查PPPOE链路状态:
(二)在LAC/LNS中可以使用show vpdn session l2tp检查L2TP的隧道状态
(三)在LAC/LNS中使用debug vpdn l2x-events可以看到L2TP隧道建立过程。可以看到L2TP建立所经过的三个过程:IDLE、WAIT-CTL-REPLY、ESTABLISHED
本文出自 “苦瓜” 博客,请务必保留此出处http://golehuang.blog.51cto.com/7499/1613520
原文地址:http://golehuang.blog.51cto.com/7499/1613520