实验完成后,发现可以成功连接,但是无法访问到Web服务器,如果知道什么问题,可以评论区留言。
一、L2TP概述
1. L2TP基本概念
L2TP(Layer 2 Tunneling Protocol)是虚拟私有拨号网VPDN(Virtual Private Dial-up Network)隧道协议的一种,它扩展了点到点协议PPP的应用,是一种在远程办公场景中为出差员工或企业分支远程访问企业内网资源提供接入服务的V*N。L2TP组网架构中包括LAC(L2TP Access Concentrator,L2TP访问集中器)和LNS(L2TP Network Server,L2TP网络服务器)。
1.1 LAC
L2TP访问集中器LAC是交换网络上具有PPP和L2TP协议处理能力的设备。LAC根据PPP报文中所携带的用户名或者域名信息,和LNS建立L2TP隧道连接,将PPP协商延展到LNS。在不同的组网环境中,LAC可以是不同的设备:
- NAS-Initiated场景:在传统的拨号网络中,ISP在NAS上部署LAC,或在企业分支的以太网络中,为PPP终端配备网关设备,网关作为PPPoE服务器,同时部署为LAC。
- L2TP Client-Initiated场景:企业分支在网关设备配置可以主动向LNS发起L2TP隧道连接请求的L2TP Client,不需要远端系统拨号触发,L2TP Client为LAC。
- Client-Initiated场景:出差人员使用PC或移动终端接入Internet,在PC或移动终端上使用L2TP拨号软件,则PC或移动终端终端为LAC。

1.2 LNS
L2TP网络服务器LNS是终止PPP会话的一端,通过LNS的认证,PPP会话协商成功,远程用户可以访问企业总部的资源。对L2TP协商,LNS是LAC的对端设备,即LAC和LNS建立了L2TP隧道;对PPP,LNS是PPP会话的逻辑终止端点,即PPP终端和LNS建立了一条点到点的虚拟链路。LNS位于企业总部私网与公网边界,通常是企业总部的网关设备。必要时,LNS还兼有网络地址转换(NAT)功能,对企业总部网络内的私有IP地址与公共IP地址进行转换。
二、L2TP部署
实验需求和拓扑图
- 总公司部署了Web服务,移动用户存在访问该Web服务的需求
- 将总公司Web服务器的出口路由器R1作为LNS响应移动用户的L2TP请求。
- 移动用户接入Internet后,通过UniVPN客户端,向LNS发起L2TP连接的请求。

1. Web服务器搭建
[Step1]: 在WindowServer2022中安装Web服务器(IIS)功能。


[Step2]: 其余参数保持默认,安装Web服务器(IIS)。

2. NAT部署
[Step1]: R1上配置EasyIP和默认路由实现总公司网段访问Internet。
[R1]acl 2000
[R1-acl-basic-2000]rule permit source 192.168.10.0 0.0.0.255
[R1-acl-basic-2000]quit
[R1]interface GigabitEthernet 0/0/0
[R1-GigabitEthernet0/0/0]nat outbound 2000
[R1-GigabitEthernet0/0/0]quit
[R1]ip route-static 0.0.0.0 0 12.1.1.2
[Step2]: R2上配置EasyIP和默认路由实现移动用户访问Internet。
[R3]acl 2000
[R3-acl-basic-2000]rule permit source 172.16.10.0 0.0.0.255
[R3-acl-basic-2000]quit
[R3]interface GigabitEthernet 0/0/2
[R3-GigabitEthernet0/0/2]nat outbound 2000
[R3-GigabitEthernet0/0/2]quit
[R3]ip route-static 0.0.0.0 0 23.1.1.2
[Step2]: 验证:总公司Web服务器能够正常访问R3,但是无法直接访问移动用户。
powershell
C:\Users\Administrator>ping 23.1.1.1
C:\Users\Administrator>ping 172.16.10.1

[Step3]: 验证:移动用户能够正常访问R1,但是无法直接访问Web服务器。
powershell
C:\Windows\system32>ping 12.1.1.1
C:\Windows\system32>ping 192.168.10.1

3. 配置LNS
[Step1]: 在R1上配置地址池,创建一个全局IP地址池,该地址用于为远程用户分配地址。
[R1]ip pool l2tp
Info: It's successful to create an IP address pool.
[R1-ip-pool-l2tp]network 192.168.99.0 mask 24
[R1-ip-pool-l2tp]gateway-list 192.168.99.1
[R1-ip-pool-l2tp]quit
[Step2]: 在R1上配置AAA认证和用户信息。
[R1]aaa
// 配置本地用户和密码,米作为VPDN用户信息保存在设备中,用于验证接入的远程用户,密文保存密码
[R1-aaa]local-user user01 password cipher Huawei@123
[R1-aaa]local-user user01 service-type ppp // 配置本地用户类型,L2TP协议基于PPP协商,需要指定用户类型为PPP
[R1-aaa]quit
[Step3]: 在R1上配置VT虚拟接口。
[R1]interface Virtual-Template 1 // 创建虚拟接口模板
[R1-Virtual-Template1]ip address 192.168.99.1 24 // 配置远程用户访问总部的网关地址
[R1-Virtual-Template1]ppp authentication-mode chap // 配置PPP认证方式为chap,对远程用户进行认证
[R1-Virtual-Template1]remote address pool l2tp // 指定地址池,为远程用户动态分配IP地址
[R1-Virtual-Template1]quit
[Step4]: 验证:查看当前Virtual-Template 1接口的详细信息,可以看到线路协议状态为DOWN。
[R1]display interface Virtual-Template 1

[Step5]: 在R1上配置L2TP Group。
[R1]l2tp enable // 全局使能L2TP功能
[R1]l2tp-group 1 // 创建L2TP组
[R1-l2tp1]tunnel name l // 配置隧道名称,用于响应L2TP连接时建立隧道的协商参数,缺省为设备名称
[R1-l2tp1]allow l2tp virtual-template 1 // 配置LNS绑定虚拟接口模板
[R1-l2tp1]tunnel authentication // 使能L2TP隧道认证功能
[R1-l2tp1]tunnel password cipher Huawei@456 // 配置L2TP隧道的密码,需要和LAC保持一致
[R1-l2tp1]tunnel avp-hidden // 对L2TP报文中的AVP参数加密,提高安全性
[R1-l2tp1]quit
4. 安装Uni客户端
[Step1]: 以前比较常用的是SecoClient,但是目前SecoClient 客户端已不再升级,无法从华为支持网站下载,请下载下一代客户端Uni 客户端。这里我们使用Uni VPN客户端。

[Step2]: 双击安装程序"univpn-win-full-10781.19.0.1009-signed.exe"安装Uni VPN客户端。


5. 配置UniVPN客户端
[Step1]: 打开UniVPN客户端,进入主界面后点击"新建连接"。

[Step2]: 点击左侧导航栏中的"L2TP/IPSec",配置相关参数。

[Step3]: 配置完成后,点击"连接"。

[Step4]: 输入LNS设备R1时间创建的本地用户及用户密码。

[Step5]: 点击登录后,此时会显示"协商成功"。

[Step6]: 在UniVPN客户端中查看VPN连接信息,可以看到上下行数据总量、连接时长、虚拟IP地址等相关信息。

[Step7]: 同时LSN设备R1上会显示log信息,提示Virtual-Template1接口的线路协议进入up状态,且线路协议状态变更为UP。
[R1]display interface Virtual-Template 1


[Step8]: VPN连接成功后,会在本地新建一个"本地连接"网卡,查看该连接信息可以查看更详细的网络参数。
powershell
C:\Windows\system32>ipconfig /all

6. 效果验证
[Step1]: 在R1上查看隧道的具体连接参数。
[R1]display l2tp tunnel tunnel-item 1

[Step2]: 在R1上查看指定会话的具体连接参数。
[R1]display l2tp session session-item 1
