[NetWork] L2TP VPN

2022-12-04 15:45:50 浏览数 (3)

产生背景

传统VPN需要接入专线以及长途拨号 费用过于昂贵

L2TP 简介

隧道可以传输PPP的帧 因此他工作在数据链路层 支持IP地址动态分配以及验证 拥有点对网络特性(点到多点) 不过现在基本上不用L2TP,取而代之的是SSL VPN

L2TP的会话以及LAC结构

  • 一个L2TP隧道对应一个L2TP控制连接
  • 一个L2TP会话,对应多个L2TPTP呼叫
  • ISP提供LAC设备
  • 可以由LAC设备提供附加的用户控制和管理
  • 远程系统不依赖IP接入点
  • 通过会话(session)来区别不同用户接入,

客户LAC拓扑结构

  • 不需要ISP提供LAC服务
  • 用户自建,不依赖IP接入点
  • 可由LAC设备提供附附加的用户控制和管理,灵活性比较强
  • 在使用人数较多的场景下,LNS的节点压力较大,需要性能较强的设备。

L2TP的封装

L2TP的连接模型

其中,控制连接由PPP触发 LAC用任意的UDP端口向LNS的UDP端口1701发起连接 连接建立完成后,进入会话建立阶段

会话的建立前提就是我们的连接已经建立 会话和PPP的连接一一对应 同一个隧道中可以承载多个会话 会话建立后即可转发PPP帧 通过Tunnel ID和Session ID来区分不同隧道和不同会话

关闭会话和连接的流程

如果还有会话在连接中,则不进行中断 直到所有会话关闭连接之后,再关闭连接

L2TP的验证

L2TP的基本配置

代码语言:javascript复制
l2tp enable
/*开启L2TP*/
l2tp-group [id] mode [lnc/lns]
/*创建l2ttp组并指定l2tp组的模式是lnc还是lns*/
tunnel name [id]
/*设置隧道名称*/
user [domain [domain-name] | fullusername [user-name]]
/*配置LAC发起的L2TP连接请求触发的条件*/
lns-ip [ip-address] <number>
/*配置LNS的IP地址*/
interface virtual-template [id]
/*创建虚拟模板*/
[Virtual-template-id]ip address [ip-address] mask [mask] sub
/*配置虚拟模板接口的IP地址*/
[Virtual-template-id]remote address [ip-address | pool [pool-name]] 
/*配置为用户侧分配的IP的地址池*/
[Virtual-template-id]ppp authentication-mode {chap | ms-chap | ms-chap-v2 | pap } * [[call-in] domain isp-name]
/*配置PPP验证*/

1 人点赞