L2TP ***介绍 二层隧道协议L2TP(Layer 2 Tunneling Protocol)是虚拟私有拨号网VPDN(Virtual Private Dial-up Network)隧道协
.
L2TP ***介绍
二层隧道协议L2TP(Layer 2 Tunneling Protocol)是虚拟私有拨号网VPDN(Virtual Private Dial-up Network)隧道协议的一种,扩展了点到点协议PPP(Point-to-Point Protocol)的应用,是远程拨号用户接入企业总部网络的一种重要***技术
L2TP通过拨号网络,基于PPP的协商,建立企业分支用户到企业总部的隧道,使远程用户可以接入企业总部。PPPoE(PPP over Ethernet)技术更是扩展了L2TP的应用范围,通过以太网络连接Internet,建立远程移动办公人员到企业总部的L2TP隧道
VPDN有以下3种常用的隧道技术:
点到点隧道协议PPTP(Point-to-Point Tunneling Protocol)
二层转发L2F(Layer 2 Forwarding)
二层隧道协议L2TP(Layer 2 Tunneling Protocol)
L2TP集合了PPTP和L2F两种协议的优点,目前已被广泛接受,主要应用在单个或少数远程终端通过公共网络接入企业内联网的需要
L2TP组件介绍
LAC
L2TP访问集中器LAC(L2TP Access Concentrator)是交换网络上具有PPP和L2TP处理能力的设备。LAC根据PPP报文中所携带的用户名或者域名信息,和LNS建立L2TP隧道连接,将PPP协商延展到LNS
LNS
L2TP网络服务器LNS(L2TP Network Server)是终止PPP会话的一端,通过LNS的认证,PPP会话协商成功,远程用户可以访问企业总部的资源。对L2TP协商,LNS是LAC的对端设备,即LAC和LNS建立了L2TP隧道;对PPP,LNS是PPP会话的逻辑终止端点,即PPP终端和LNS建立了一条点到点的虚拟链路
LNS位于企业总部私网与公网边界,通常是企业总部的网关设备。必要时,LNS还兼有网络地址转换(NAT)功能,对企业总部网络内的私有IP地址与公共IP地址进行转换
L2TP技术的优点
灵活的身份验证机制以及高度的安全性
L2TP使用PPP提供的安全特性(如PAP、CHAP),对接入用户进行身份认证
L2TP定义了控制消息的加密传输方式,支持L2TP隧道的认证
L2TP对传输的数据不加密,但可以和因特网协议安全协议IPSec(Internet Protocol Security)结合应用,为数据传输提供高度的安全保证
多协议传输
L2TP传输PPP数据包,PPP可以传输多种协议报文,所以L2TP可以在IP网络,帧中继永久虚拟电路(PVCs),X.25虚拟电路(VCs)或ATM VCs网络上使用
支持RADIUS(Remote Authentication Dial-in User Service)服务器的验证
L2TP对接入用户不仅支持本地认证,还支持将拨号接入的用户名和密码发往RADIUS服务器进行认证,为企业管理接入用户提供了更多的选择
支持私网地址分配
应用L2TP的企业总部网关,可以为远程用户动态分配私网地址
可靠性
L2TP协议支持备份LNS,当一个主LNS不可达之后,LAC可以与备份LNS建立连接,增强了***服务的可靠性
L2TP工作原理
PPP终端:IP数据报文进行PPP(链路层)封装,发送报文
LAC:收到PPP报文后,根据报文携带的用户名或者域名判断接入用户是否为VPDN用户是VPDN用户:对PPP报文进行L2TP封装,根据LNS的公网地址,再对L2TP报文进行UDP和IP封装。封装后的报文最外层为公网IP地址,经过公网路由转发到达LNS
非VPDN用户:对PPP报文进行PPP解封装,此时LAC为PPP会话的终止节点
LNS:收到L2TP报文后,依次解除外层的IP封装、L2TP封装、PPP封装,得到PPP承载的信息,即PPP终端发送的IP数据报文。根据报文中的目的地址,查找路由表使报文达到企业总部的目的主机
企业总部回应分支用户时,回应报文到达LNS后查找路由表,根据转发接口进行L2TP处理,报文封装的过程和分支到总部一致
L2TP报文传输
L2TP传输PPP报文前,需要建立L2TP隧道和会话的连接。对于首次发起的L2TP连接,有如下流程:
建立L2TP隧道连接
LAC收到远程用户的PPP协商请求时,LAC向LNS发起L2TP隧道请求。LAC和LNS之间通过L2TP的控制消息,协商隧道ID、隧道认证等内容,协商成功后则建立起一条L2TP隧道,由隧道ID进行标识
建立L2TP会话连接
如果L2TP隧道已存在,则在LAC和LNS之间通过L2TP的控制消息,协商会话ID等内容,否则先建立L2TP隧道连接。会话中携带了LAC的LCP协商信息和用户认证信息,LNS对收到的信息认证通过后,则通知LAC会话建立成功。L2TP会话连接由会话ID进行标识
传输PPP报文
L2TP会话建立成功后,PPP终端将数据报文发送至LAC,LAC根据L2TP隧道和会话ID等信息,进行L2TP报文封装,并发送到LNS,LNS进行L2TP解封装处理,根据路由转发表发送至目的主机,完成报文的传输
L2TP的配置
LAC设备是电脑上面的一个***客户端软件 SecoClient软件
LNS设备是ensp当中的USG5500设备 S1为S5700设备
第一步:基本配置
LNS设备配置(用USG5500设备模拟)
#interface GigabitEthernet0/0/0 alias GE0/MGMT ip address 212.1.1.1 255.255.255.0 service-manage enable service-manage ping permit#interface GigabitEthernet0/0/1 ip address 192.168.1.1 255.255.255.0 service-manage enable service-manage ping permit#firewall zone local set priority 100#firewall zone trust set priority 85 add interface GigabitEthernet0/0/1#firewall zone untrust set priority 5 add interface GigabitEthernet0/0/0#firewall zone dmz set priority 50#[LNS]ip route-static 10.1.1.0 255.255.255.0 192.168.1.2[LNS]firewall packet-filter default permit all ---放行所有安全策略00:01:39 2020/02/28Warning:Setting the default packet filtering to permit poses security risks. You are advised to configure the security policy based on the actual data flows. Are you sure you want to continue?[Y/N]y
S1设备的配置
#vlan batch 10 20#interface Vlanif10 ip address 192.168.1.2 255.255.255.0#interface Vlanif20 ip address 10.1.1.254 255.255.255.0#interface GigabitEthernet0/0/1 port link-type access port default vlan 10#interface GigabitEthernet0/0/2 port link-type access port default vlan 20#ip route-static 172.16.123.0 255.255.255.0 192.168.1.1#
测试一下LNS的内网服务器的连通
[LNS]ping 10.1.1.10023:59:06 2020/02/27 PING 10.1.1.100: 56 data bytes, press CTRL_C to break Reply from 10.1.1.100: bytes=56 Sequence=1 ttl=127 time=260 ms Reply from 10.1.1.100: bytes=56 Sequence=2 ttl=127 time=90 ms Reply from 10.1.1.100: bytes=56 Sequence=3 ttl=127 time=220 ms Reply from 10.1.1.100: bytes=56 Sequence=4 ttl=127 time=60 ms Reply from 10.1.1.100: bytes=56 Sequence=5 ttl=127 time=150 ms --- 10.1.1.100 ping statistics --- 5 packet(s) transmitted 5 packet(s) received 0.00% packet loss round-trip min/avg/max = 60/156/260 ms[LNS]
测试一下LNS的外网用户的连通
[LNS]ping 212.1.1.25423:59:35 2020/02/27 PING 212.1.1.254: 56 data bytes, press CTRL_C to break Reply from 212.1.1.254: bytes=56 Sequence=1 ttl=128 time=190 ms Reply from 212.1.1.254: bytes=56 Sequence=2 ttl=128 time=110 ms Reply from 212.1.1.254: bytes=56 Sequence=3 ttl=128 time=160 ms Reply from 212.1.1.254: bytes=56 Sequence=4 ttl=128 time=50 ms Reply from 212.1.1.254: bytes=56 Sequence=5 ttl=128 time=110 ms --- 212.1.1.254 ping statistics --- 5 packet(s) transmitted 5 packet(s) received 0.00% packet loss round-trip min/avg/max = 50/124/190 ms[LNS]
第二步:在LNS设备上创建验证用户名和密码
配置本地用户名和密码,作为VPDN用户信息保存在设备中,用于验证接入的远程用户 配置本地用户类型,L2TP协议基于PPP协商,需要指定用户类型为ppp 用于为远程用户分配地址
#aaa local-user key password cipher Huawei@123 local-user key service-type ppp ip pool 1 172.16.123.100 172.16.123.200#
需要在S1设备上写到达172.16.123.0网段的静态路由
ip route-static 172.16.123.0 255.255.255.0 192.168.1.1
第三步:配置L2TP参数
全局使能L2TP功能 创建VT虚拟接口模板 配置PPP认证方式为chap
# l2tp enable#interface Virtual-Template1 ppp authentication-mode chap alias Virtual-Template1 ip address 1.1.1.1 255.255.255.0 remote address pool 1#
需要将Virtual-Template1加入到安全区域当中
#firewall zone untrust set priority 5 add interface GigabitEthernet0/0/0add interface Virtual-Template1#
第四步:创建L2TP组
配置L2TP组作为LNS侧,响应LAC发起的连接请求
配置L2TP隧道的密码,需要和LNS保持一致。缺省情况下,L2TP使能了隧道认证功能,未配置隧道认证字
配置隧道名称,用于发起L2TP连接时,LNS根据LAC的隧道名称接入。缺省情况下,如果未指定隧道名称,则设备名称作为隧道名称
#l2tp-group 1 allow l2tp virtual-template 1 tunnel password cipher 123456 tunnel name LNS#
第五步:在外网用户进行测试
在华为官网上面下载SecoClient软件
https://support.huawei.com/enterprise/zh/software/22854327-ESW2000009406
在外网用户电脑ping公司内网服务器
在LNS设备的G0/0/0接口抓包和G0/0/1接口抓包