【好奇心驱动力】内网搭建L2TP服务器及抓包数据分析

1.网络拓扑

192.168.2.109 win7虚拟机(客户端)
192.168.2.108 centos7双网卡虚拟机(NAT为10.10.10.136)
10.10.10.131 win7虚拟机(Web服务器)

目的:
客户端和L2TP服务器在同一网段
L2TP服务器和Web服务器在同一网段
实现客户端通过拨号连接L2TP服务器,访问Web服务器
在这里插入图片描述

2.环境搭建及连接

针对L2TP服务器(192.168.2.108/10.10.10.136)

#下载l2tp.sh
https://download.csdn.net/download/m0_46622606/12530874
#放到要配的服务器上并给权限
chmod +x l2tp.sh
#运行
sudo ./l2tp.sh

运行l2tp.sh后,需要填入配置信息(可选表示自带默认值)
IP-Range(可选)
IP-Range为L2TP服务器给客户端分配的内网IP(如图中192.168.18.2)
L2TP服务器本身为该网段的首个IP(192.168.18.1)

PSK(可选)
PSK为指定的预共享秘钥(如图中fuckyou)

Username(可选)
Username为连接用户名(如图中test)

password(可选)
password为连接密码(如图中test)
在这里插入图片描述
配置后,按任意键继续运行
成功运行
在这里插入图片描述
针对Client(192.168.2.109)

新建一个网络连接–连接到工作区
在这里插入图片描述
使用我的Internet连接(VPN)
在这里插入图片描述
后续填写服务器IP地址(192.168.2.108)
用户名/口令(test/test)
设置完成
在这里插入图片描述
在连接属性中选择–安全–使用L2TP隧道协议
选择–高级设置–使用预共享秘钥(PSK)–填入PSK(即fuckyou)
在这里插入图片描述
连接成功
在这里插入图片描述
针对WebServer(10.10.10.131)
安装phpstudy(或者wamp之类的都可以,随便设置一个主页)
在这里插入图片描述

3.查看各主机IP及连通性原理分析

L2TP服务器共3个地址除了自身的双网卡IP(192.168.2.108/10.10.10.136)用于连通两侧的主机外
L2TP服务器和客户端之间隧道通信还有一个内网网段
即最开始配置L2TP服务器时指定的192.168.18.0/24
L2TP服务器默认为192.168.18.1
客户端为192.168.18.2
L2TP隧道之间是由该IP段进行通信,对数据进行封装

客户端即有自身IP(192.168.2.109)和L2TP服务器分配IP(192.168.18.2)
Web服务器即自身IP(10.10.10.131)

针对L2TP服务器(192.168.2.108/10.10.10.136)
在这里插入图片描述
针对Client(192.168.2.109)
在这里插入图片描述
针对WebServer(10.10.10.131)
在这里插入图片描述

4.数据抓包分析

4.1在Client一侧进行抓包(在红线处进行抓包)
重新设计结构进行抓包
实体机(192.168.2.106)
在这里插入图片描述
物理机(192.168.2.106)连接L2TP服务器(192.168.2.108)
访问HTTP网站(http://www.gov.cn)111.43.166.145
能够看到协议内层客户端真实IP地址(192.168.2.106)连接L2TP服务器(192.168.2.108)的1701端口

外层实际上显示的是:
L2TP服务器给客户端分配的IP地址(192.168.18.4)–Web服务器(111.43.166.145)之间的通信
在这里插入图片描述
整体的通信协议结构如下:
在这里插入图片描述
4.2在WebServer一侧进行抓包(在红线处进行抓包)
拓扑结构同环境搭建时的结构
在这里插入图片描述
在WebServer(10.10.10.131)处抓包,只能看到从L2TP服务器发送的HTTP请求
从L2TPServer(10.10.10.136)–WebServer(10.10.10.131)之间通信
在这里插入图片描述

5.问题及解决

  • 【已解决】L2TP服务器搭建后,客户端连接报错
    (Win10:L2TP连接尝试失败:因为安全层在初始化与远程计算机的协商时遇到了一个处理错误)
    (Win7:错误720,不能建立到远程计算机的连接)
    解决方法:
    修改注册表,如图中位置
    添加一个名称为ProhibitIpSec(DWORD32位)值设为1,
    修改AllowL2TP2WeakCrypto值为1
    重启(Win7如果仍无法连接,尝试关闭防火墙)
    在这里插入图片描述

  • 【已解决】L2TP服务器搭建后,手机连接报错
    (IOS端:L2TP服务器没有响应。请尝试重新连接。如果仍然有问题,请验证您的设置并与管理员联系)
    解决方法:
    参考:https://blog.csdn.net/sinat_27634939/article/details/104201678
    添加了sudo vim /etc/ppp/options文件,依然无法连接
    删除了该options文件,重启L2TP服务,成功连接

  • 【未解决】L2TP设置加密的作用
    ①在进行 4.1在Client一侧进行抓包(在红线处进行抓包) 时,无论选择是否加密,抓包数据都能够看到内层IP(即客户端真实IP192.168.2.106),那此处的数据加密指的是哪部分数据加密?
    ②在选择 允许使用这些协议 时,其中PAP/CHAP/MS-CHAP v2分别是什么意思,起到什么作用?
    在这里插入图片描述

6.后续

LAC(L2TP Access Concentrator)
之前一直没搞懂LAC(L2TP Access Concentrator)这个设备到底在哪,仔细查了一下,L2TP VPN连接根据是否有独立的设备充当LAC,工作模式分为独立LAC模式和客户LAC模式,
独立LAC模式,即用户的PC只是充当普通的拨号设备使用。
客户LAC模式,即用户的PC既作为拨号设备又作为LAC设备,如本文搭建的拓扑

7.其他学习资料

其他详解L2TP通信协议的参考资料
https://zhuanlan.zhihu.com/p/41667553?from_voters_page=true
https://blog.csdn.net/qq_38265137/article/details/100005648

猜你喜欢

转载自blog.csdn.net/m0_46622606/article/details/106864306