一: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
二:L2TP隧道的配置
PC上主要配置:
interface Serial1/0
ip address negotiated //通过PPP协商获得IP地址
encapsulation ppp //封装ppp协议
serial restart-delay 0 //默认连续重启延时为0
ppp chap hostname [email protected] //使用chap协议传送l2tp客户端用户名
ppp chap password 0 linuxtro //使用chap协议传送l2tp客户端密码
LAC上主要配置:
interface Ethernet0/0 //LAC的外网口地址
ip address 10.1.1.1 255.255.255.252
full-duplex
interface Serial1/0 //与客户端连接的网口
no ip address //不配置IP地址
encapsulation ppp //封装ppp协议
serial restart-delay 0
ppp authentication chap //使用chap验证
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上主要配置:
interface Ethernet0/0 //LNS的外网口地址
ip address 10.1.1.2 255.255.255.252
full-duplex
interface Loopback1 //启用环回测试端口并配置IP地址
ip address 10.10.10.10 255.255.255.255
interface Virtual-Template1 //建立虚拟账号模板
ip unnumbered Loopback1 //指定隧道端口,也可以是某个IP地址
peer default ip address pool linuxtro //调用地址池,给客户端分配IP地址
ppp authentication chap //LNS端要求发起CHAP认证
ip local pool pool1 100.1.1.1 100.1.1.100 //建立动态地址池
username [email protected] password 0 linuxtro //建立CHAP认证数据库
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隧道是否建立,
切换到pc,可以看到serial端口已经获得IP地址池中的地址
在lac和lns路由器上都可以看到已经建立好的l2tp隧道。
清除隧道的命令为clear vpdn tunnel l2tp all
转载于:https://blog.51cto.com/linuxtro/359956