一:L2TP隧道的规划

实验环境:Dynamips 2.8 SecureCRT

实验所用IOS镜像文件:c3640-ik9o3s-mz.124-10.bin

实验拓扑图:

基于L2TP的×××实验有三种实现方式。

分别是:Intranet ×××、Extranet ×××和Access ×××

 

L2TP的三要素:LNS、LAC、Client分别有三个独立的主机设备担当,各自完成不同的任务。

隧道的呼叫建立流程过程为:

(1)用户端机发起呼叫连接请求;
(2) PC机和LAC端进行协商;
(3)对机提供的用户信息进行或CHAP认证;
(4) LAC将认证信息(用户名、密码)发送给服务器进行认证;
(5) RADIUS服务器认证该用户,如果认证通过则返回该用户对应的地址等相关信息,并且准备发起连接请求;
(6)LAC端向指定发起连接请求;
(7)LAC端向指定发送信息,回送该响应消息,并发送LNS侧的CHAP challenge,LAC返回该challenge

           的响应消息CHAP response;
(8)隧道验证通过;
(9)LAC端将用户CHAP response、response identifier和PPP协商参数传送给LNS;
(10) LNS将接入请求信息发送给RADIUS服务器进行认证;
(11)RADIUS服务器认证该请求信息,如果认证通过则返回响应信息;
(12)若用户在LNS侧配置强制本端CHAP认证,则LNS对用户进行认证,发送CHAP           challenge,用户侧回应CHAP response;
(13)LNS再次将接入请求信息发送给服务器进行认证;
(14) RADIUS服务器认证该请求信息,如果认证通过则返回响应信息;
(15)验证通过,用户访问企业内部资源。

在实验环境下,我们用三台路由器来模拟PC、LCA和LNS

clip_p_w_picpath004

二:L2TP隧道的配置

PC上主要配置:

clip_p_w_picpath006

interface Serial1/0

ip address negotiated //通过PPP协商获得IP地址

encapsulation ppp //封装ppp协议

serial restart-delay 0              //默认连续重启延时为0

ppp chap hostname linuxtro@cisco.com //使用chap协议传送l2tp客户端用户名

ppp chap password 0 linuxtro //使用chap协议传送l2tp客户端密码

 

LAC上主要配置:

clip_p_w_picpath007

interface Ethernet0/0 //LAC的外网口地址

ip address 10.1.1.1 255.255.255.252

full-duplex

 

clip_p_w_picpath009

interface Serial1/0 //与客户端连接的网口

no ip address //不配置IP地址

encapsulation ppp //封装ppp协议

serial restart-delay 0

ppp authentication chap //使用chap验证

 

clip_p_w_picpath011

vpdn enable //启动L2TP/VPDN

vpdn search-order domain //设置被叫号码与域名的查找先后顺序

vpdn-group lac //建立名为lac的VPDN组

request-dialin //配置为LAC端,发起L2TP隧道请求连接

protocol l2tp //启用L2TP协议,也可以使用PPTP

domain cisco.com //指定VPDN域名,用于触发VPDN隧道的建立

initiate-to ip 10.1.1.2 //指定LNS具体的IP地址

local name lac //配置本地名为lac

no l2tp tunnel authentication //不启用l2tp隧道验证

ip route 0.0.0.0 0.0.0.0 10.1.1.2 //配置静态路由

 

LNS上主要配置:

clip_p_w_picpath012

interface Ethernet0/0 //LNS的外网口地址

ip address 10.1.1.2 255.255.255.252

full-duplex

 

clip_p_w_picpath014

interface Loopback1 //启用环回测试端口并配置IP地址

ip address 10.10.10.10 255.255.255.255

 

clip_p_w_picpath016

interface Virtual-Template1 //建立虚拟账号模板

ip unnumbered Loopback1 //指定隧道端口,也可以是某个IP地址

peer default ip address pool linuxtro //调用地址池,给客户端分配IP地址

ppp authentication chap //LNS端要求发起CHAP认证

 

clip_p_w_picpath018

ip local pool pool1 100.1.1.1 100.1.1.100 //建立动态地址池

username linuxtro@cisco.com password 0 linuxtro //建立CHAP认证数据库

 

clip_p_w_picpath020

vpdn enable //启动L2TP/VPDN

vpdn-group lns //建立名为lns的VPDN组

accept-dialin //配置为LNS端,接受远端呼叫

protocol l2tp //指定使用二层隧道协议,也可以使用PPTP协议

virtual-template 1 //调用前面建立的虚拟拨号模板

terminate-from hostname lac //设置LNS响应远端LAC的隧道名,对方LAC的hostname必须和此处匹配,否则无法互通,这也一定程度上提供了安全性!

local name lns //配置本地名称为lns

no l2tp tunnel authentication //不启用l2tp隧道验证

l2tp tunnel receive-window 80 //设置本地接收滑动窗口的大小。默认值为4

三:L2TP的验证

在lac路由器上show vpdn session来查看l2tp隧道是否建立,

clip_p_w_picpath022

切换到pc,可以看到serial端口已经获得IP地址池中的地址

clip_p_w_picpath024

在lac和lns路由器上都可以看到已经建立好的l2tp隧道。

clip_p_w_picpath026

clip_p_w_picpath028

clip_p_w_picpath030

清除隧道的命令为clear vpdn tunnel l2tp all

clip_p_w_picpath032