news 2026/4/18 13:45:09

8、深入了解PPTP与L2TP:构建虚拟专用网络的关键技术

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
8、深入了解PPTP与L2TP:构建虚拟专用网络的关键技术

深入了解PPTP与L2TP:构建虚拟专用网络的关键技术

1. L2TP、PPTP和L2F概述

L2TP融合了PPTP和L2F的优势,支持客户端发起或远程访问交换机发起的连接。它可在使用PPTP或L2F的场景中使用,且能采用相同的认证协议,如PAP、CHAP和MS - CHAP。推荐使用IPSec作为L2TP的加密机制。尽管L2TP曾被认为会“取代”PPTP,但微软在Windows NT 5.0中仍继续提供PPTP,以满足那些不想维护IPSec所需公钥基础设施的用户。

PPTP在当前的Windows NT Server 4.0和Windows NT Workstation 4.0版本的远程访问服务(RAS)中可用,这是NT的拨号网络软件。微软为Windows 95提供的PPTP支持包含在拨号网络升级版本1.3中,还在“路由和远程访问”软件(代号“Stronghold”)中为Windows NT发布了LAN - to - LAN PPTP连接。Windows 98和Windows NT 5.0也支持PPTP连接。

Network TeleSystems提供了适用于Macintosh的PPTP客户端TunnelBuilder,它提供全面的PPTP支持,包括NT域登录和数据加密。该公司还为Windows 95、Windows 98、Windows for Workgroups和Windows 3.1提供了TunnelBuilder版本,使旧系统用户也能运行PPTP,且这些Windows客户端支持L2TP。此外,Linux现在也能支持PPTP。

有许多硬件设备原生支持PPTP,常见的如远程访问交换机,包括Ascend的MAX系列、3Com/U.S. Robotics Total Control系列和ECI Telematics的Nevada等,这些设备常用于ISP接入点和企业网络中终止调制解调器和ISDN呼叫,PPTP作为这些产品的一部分免费提供。还有一些硬件设备可作为PPTP服务器,但并非标准的远程访问交换机,如Bay Networks Extranet Switch和NTS TunnelMaster。

Cisco在其路由器的IOS软件中支持L2F,Nortel和Shiva等其他供应商也支持。Cisco IOS 11.3(5)AA及更高版本支持L2TP,许多其他硬件设备也支持该协议。微软将在Windows NT 5.0中加入L2TP支持。由于PPTP、L2F和L2TP的操作方式相似,下面将重点介绍PPTP和L2TP。

2. PPTP工作原理

PPTP作为一种隧道协议,将网络协议数据报封装在IP报文中。封装后的数据包会被后续遇到的路由器或设备视为IP数据包。IP封装的好处是允许多种不同的协议通过仅支持IP的介质(如互联网)进行路由。

PPTP围绕Windows NT的Microsoft RAS展开。RAS允许网络管理员将带有调制解调器组的Windows NT服务器设置为远程用户的拨号接入点。RAS用户的认证在NT服务器上进行,并使用PPP协议建立网络会话。通过PPP连接,RAS允许的所有协议(如TCP/IP、NetBEUI和IPX/SPX)都能被传输。对于RAS用户来说,就像直接连接到企业局域网一样,他们在直接拨号接入RAS和通过互联网接入RAS之间感觉不到差异。

PPTP的设计目的是让用户能从互联网的任何位置连接到RAS服务器,并获得与直接拨号相同的认证、加密和企业局域网访问权限。用户无需直接拨号连接到RAS服务器的调制解调器,而是拨号接入他们的ISP,然后使用PPTP通过互联网建立与服务器的“呼叫”。PPTP和RAS使用认证和加密方法创建虚拟专用网络。常见的VPN场景有两种:一是远程用户拨号接入支持PPTP的ISP,该ISP通过远程访问交换机连接到RAS服务器;二是用户接入不提供PPTP的ISP,需在客户端机器上发起PPTP连接。

3. 拨号接入支持PPTP的ISP

拨号接入支持PPTP的ISP需要满足以下三个条件:
- 要建立VPN的网络必须有一个启用PPTP的Windows NT 4.0 RAS服务器。“启用PPTP”意味着安装了PPTP协议,并在RAS中设置了VPN拨号端口,且该服务器能从互联网访问。
- ISP必须使用支持PPTP的远程访问交换机,如Ascend MAX 4000系列或U.S. Robotics Total Control Enterprise Network Hub,这两种产品在ISP拨号硬件市场中占很大份额。
- ISP必须实际向用户提供PPTP服务,并为用户账户启用该服务。

以销售经理Sara N.为例,丹佛的公司总部设置了运行PPTP和RAS的Windows NT 4.0服务器。Sara N.在亚特兰大参加会议,想拨号接入公司网络查看邮件并复制演示文稿。她使用的是带有28.8Kbps调制解调器的Windows 95笔记本电脑,虽不在办公室本地拨号区域,但她通过支持PPTP的全国性ISP接入网络,该ISP已将公司RAS服务器的IP地址(2.1.1.60)添加到她的用户配置文件中。

当Sara N.拨号接入支持PPTP的ISP时,会发生以下事件:
1. Sara N.使用微软的拨号网络发起对ISP接入点的呼叫,使用用户名“saran”登录,这将启动ISP远程访问交换机与公司办公室NT服务器之间的PPTP会话,服务器IP地址在她的用户配置文件中指定为2.1.1.60。
2. Sara N.的PPP会话通过PPTP流进行隧道传输,NT RAS服务器对她的用户名和密码进行认证,并启动她的PPP会话,就像她直接通过调制解调器拨号接入RAS服务器一样。
3. PPTP会话可以传输拨号用户被允许使用的协议,对于Sara N.来说,TCP/IP是其中之一,NT RAS服务器为她的机器分配内部公司IP地址2.1.1.129。

PPTP完成且销售经理认证通过后,她就能像在局域网内一样访问公司网络,可查看邮件并使用文件共享访问桌面机上的文件。

4. 拨号接入不支持PPTP的ISP

并非所有ISP都支持PPTP,可能是因为未使用支持PPTP的远程访问交换机,或虽有合适硬件但不想提供隧道连接的技术支持。若ISP不支持PPTP,仍可使用PPTP,但需要满足两个条件:一是网络中必须有安装了PPTP的Windows NT 4.0 RAS服务器,且该服务器能从互联网访问;二是Windows NT Workstation、Windows 95或Windows 98客户端机器必须安装PPTP协议和拨号网络。

仍以Sara N.为例,这次她拨号接入不支持PPTP的ISP,且使用的笔记本电脑运行Windows NT 4.0 Workstation。与不支持PPTP的提供商建立隧道会话的事件顺序如下:
1. Sara使用拨号网络配置文件拨号接入ISP,建立标准的PPP连接。
2. PPP连接建立后,Sara再次使用拨号网络“拨号”到公司办公室的PPTP RAS服务器。在这个拨号配置文件中,她将RAS服务器的IP地址(2.1.1.60)填入电话号码字段,并选择通过拨号网络设置的VPN端口作为拨号设备。
3. 通过Sara的PPP连接,在互联网上建立到RAS服务器的PPTP连接。RAS服务器使用她提供的用户名和密码将她登录到公司网络,为她分配内部IP地址2.1.1.129,然后她就可以访问公司网络。

以下是PPTP连接的流程mermaid图:

graph LR classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px; classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px; classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px; A([开始]):::startend --> B{ISP是否支持PPTP}:::decision B -->|是| C(拨号接入ISP):::process B -->|否| D(拨号接入ISP建立PPP连接):::process C --> E(启动PPTP会话):::process D --> F(使用拨号网络连接RAS服务器):::process E --> G(认证并分配IP地址):::process F --> G G --> H(访问公司网络):::process H --> I([结束]):::startend
5. PPTP在场景中的位置

在企业办公室网络通过T1连接到互联网的场景中,连接到互联网的路由器也是数据包过滤防火墙。用户Sara N.想查看公司邮件,拨号接入使用支持PPTP的远程访问交换机的ISP。连接到交换机后,交换机会启动到她用户配置文件中指定的RAS服务器的PPTP呼叫。在公司路由器和防火墙上,PPTP创建套接字的TCP/IP端口(1723)必须对入站和出站流量开放。如果网络的其余部分由禁止入站和出站互联网流量的防火墙保护,则会建立一个由基于用户的认证保护的单一局域网入口点。

6. PPTP数据包剖析

PPTP封装技术基于通用路由封装(GRE)协议,PPTP版本称为GREv2,它为特定功能(如呼叫ID和连接速度)添加了扩展。

PPTP数据包由交付头、IP头、GREv2头和有效负载数据包组成:
| 头部名称 | 作用 |
| ---- | ---- |
| 交付头 | 是数据包传输介质的帧协议,如以太网、帧中继或PPP |
| IP头 | 包含IP数据报的基本信息,如数据包长度、源地址和目的地址 |
| GREv2头 | 包含封装数据包的类型信息,以及与客户端和服务器之间连接相关的PPTP特定数据 |
| 有效负载数据包 | 是被封装的数据报本身,对于PPP,该数据报是客户端和服务器之间发送的原始PPP会话数据,其中可能包含IP、IPX或NetBEUI数据包 |

封装过程

用户拨号接入支持PPTP的ISP时,封装过程如下:
1. 用户使用PPP拨号接入ISP的远程访问交换机,客户端和远程访问交换机之间传输的PPP数据包被PPP协议特定的帧包围。
2. 在交换机处,特定介质的帧被剥离,呼叫触发远程访问交换机在互联网上与用户配置文件中指定的启用PPTP的NT RAS服务器建立PPTP隧道会话。远程访问交换机将PPP有效负载数据包封装在GREv2头中,然后是IP头,最后在数据包离开交换机前添加交付头。在数据包传输过程中,交付头可能会根据传输介质的类型而变化。
3. RAS服务器将传入的PPTP连接视为传入呼叫,就像通过调制解调器传入一样。它从有效负载数据包中剥离交付头、IP头和GREv2头,然后像处理通过调制解调器连接的用户一样处理PPP连接。RAS服务器使用所需的认证方法(如微软加密认证、加密认证或任何认证类型,包括明文)验证PPP客户端。
4. 在客户端数据包到达局域网之前,从封装的IP、NetBEUI或IPX数据报中移除PPP帧。

如果RAS用户拨号接入不支持PPTP的ISP,大部分过程相同,唯一的变化在步骤2。此时不是远程访问交换机与RAS服务器启动PPTP会话,而是客户端使用拨号网络与RAS服务器建立PPTP连接。PPTP数据包通过客户端与ISP远程访问交换机建立的标准PPP连接发送。在连接的这一点上,客户端的PPP数据报被PPTP封装,而PPTP又被PPP再次封装。在远程访问交换机处,第一层PPP被剥离,留下交付头、IP头、GREv2头和有效负载数据包。

尽管上述描述了PPTP呼叫的初始建立过程,但客户端和服务器之间的通信将按照相同的封装顺序进行,主要区别是不再需要进行认证。

深入了解PPTP与L2TP:构建虚拟专用网络的关键技术

7. PPTP安全机制

PPTP作为一种网络协议,其安全机制主要包含两个关键部分:一是用于防止非法连接的认证环节,二是在连接建立后对传输数据进行加密保护。

7.1 RAS认证方法

PPTP采用Windows NT RAS认证方式,RAS服务器可接受的不同认证类型选项位于RAS属性的“加密设置”中。该设置能让用户指定RAS服务器针对客户端登录尝试进行认证的级别,主要有以下几种选择:
-标准加密认证:在RAS中,加密认证实际上就是互联网认证标准CHAP(挑战握手认证协议)。CHAP是PPP的扩展,避免了在客户端和服务器之间传递明文密码。具体认证过程如下:
1. 当客户端尝试连接时,服务器会向客户端发出“挑战”,要求其进行身份识别。
2. 客户端将预共享的密码(即“secret”)通过单向哈希算法RSA的MD5进行处理。该算法利用数学公式和随机因子生成哈希值。由于哈希过程是单向的,无法从哈希值反推原始密码,且随机因子的使用降低了攻击者通过嗅探获取相同值的概率。客户端将生成的哈希值发送给服务器。
3. 服务器将收到的哈希值与自身计算得到的哈希值进行比较。若两者匹配,则认证通过,允许连接;若不匹配,则终止连接。
4. CHAP的一个重要优势是在连接过程中可多次进行认证,这降低了连接被中断并被冒名顶替的风险。在PPTP中,这个“secret”就是用户登录NT域的密码,RAS服务器也知晓该密码(可通过NT域服务获取)。
-微软增强加密认证:微软增强加密认证即MS - CHAP,它执行RSA的MD4哈希以及DES哈希技术。Windows 95/98和Windows NT RAS客户端使用MD4哈希,无需在客户端或服务器端使用明文密码。DES技术则保证了与旧版RAS客户端(如Windows for Workgroups 3.11和RAS 1.1a)的向后兼容性。MS - CHAP的工作原理与CHAP类似,但并非所有平台的PPP客户端都支持它。如果远程用户都使用Windows系统,MS - CHAP是较好的选择,并且使用它还能获得PPTP数据加密的额外优势。
-允许任何类型的认证:选择此选项意味着RAS服务器将接受MS - CHAP、CHAP或密码认证协议(PAP)。PAP是一种常见的PPP连接认证方式,许多ISP在其PPP拨号连接中使用PAP认证。然而,PAP的主要缺点是它以明文形式在连接中传输密码,这使得攻击者有可能通过监控客户端和服务器之间的连接获取登录信息,进而冒用用户身份登录。因此,PAP不适合用于VPN,建议在PPTP服务器上要求使用CHAP或MS - CHAP认证。但如果远程用户使用多种不同平台,可能并非所有客户端都支持CHAP或MS - CHAP认证。

以下是不同认证方式的对比表格:
| 认证方式 | 特点 | 安全性 | 适用场景 |
| ---- | ---- | ---- | ---- |
| CHAP | 基于挑战握手,不传输明文密码,可多次认证 | 高 | 通用场景,对安全性要求较高 |
| MS - CHAP | 执行MD4和DES哈希,支持旧版客户端 | 高 | Windows系统用户 |
| PAP | 明文传输密码 | 低 | 不适合VPN |

8. 总结与建议

PPTP作为一种广泛应用的隧道协议,为用户提供了通过互联网安全连接到企业网络的有效方式。它围绕Windows NT RAS构建,结合了认证和加密机制,确保了连接的安全性和数据的保密性。

在实际应用中,选择合适的认证方式至关重要。对于安全性要求较高的企业网络,建议优先考虑CHAP或MS - CHAP认证,避免使用PAP认证。同时,在配置PPTP连接时,要确保RAS服务器的相关设置正确,包括端口开放、认证级别设置等。

此外,随着网络技术的不断发展,虽然PPTP仍然具有一定的应用价值,但也需要关注其他更先进的VPN技术,如L2TP/IPSec等,以满足不断变化的安全需求。

下面是PPTP安全认证流程的mermaid图:

graph LR classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px; classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px; classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px; A([客户端发起连接]):::startend --> B{选择认证方式}:::decision B -->|CHAP| C(服务器发送挑战):::process B -->|MS - CHAP| C B -->|PAP| D(客户端发送明文密码):::process C --> E(客户端计算哈希值并发送):::process E --> F(服务器比较哈希值):::process D --> F F -->|匹配| G(认证通过,建立连接):::process F -->|不匹配| H(认证失败,终止连接):::process G --> I([连接成功]):::startend H --> J([连接失败]):::startend

通过对PPTP的深入了解和合理配置,可以更好地利用其优势,构建安全可靠的虚拟专用网络。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 1:22:46

5分钟快速上手Deep-Live-Cam:实时图像处理的终极指南

5分钟快速上手Deep-Live-Cam:实时图像处理的终极指南 【免费下载链接】Deep-Live-Cam real time face swap and one-click video deepfake with only a single image 项目地址: https://gitcode.com/GitHub_Trending/de/Deep-Live-Cam Deep-Live-Cam是一款功…

作者头像 李华
网站建设 2026/4/18 7:52:05

35、文本编辑器 Elvis 与 Vile 的特性与使用指南

文本编辑器 Elvis 与 Vile 的特性与使用指南 1. Elvis 编辑器概述 Elvis 是一款功能丰富的文本编辑器,其格式大多易于理解,并且在在线文档中有详细说明。它将字体和颜色与文件语法的不同部分关联起来,目的是能够像在屏幕上显示的那样打印文件。 1.1 语法着色 在非位图显…

作者头像 李华
网站建设 2026/4/18 1:35:33

36、《Vile编辑器全解析:功能、使用与界面操作》

《Vile编辑器全解析:功能、使用与界面操作》 Vile是一款独特的编辑器,它融合了Micro - EMACS的多窗口特性和vi的操作手感,为用户带来了不一样的编辑体验。下面将详细介绍Vile的各项功能、使用方法以及界面操作等内容。 命令行选项 Vile有一些命令行选项可以帮助用户更高效…

作者头像 李华
网站建设 2026/4/18 7:53:26

27、趣味Shell脚本游戏大揭秘

趣味Shell脚本游戏大揭秘 1. 美国州首府问答游戏 当你拥有从文件中随机选择一行的工具时,你可以编写的问答游戏类型便没有限制了。这里有一个美国50个州首府的问答游戏脚本。 - 数据准备 :从 http://www.nostarch.com/wcss2/ 下载 state.capitals.txt 文件,并将其保存…

作者头像 李华
网站建设 2026/4/18 7:53:22

助农农商|基于Java+ vue助农农商系统(源码+数据库+文档)

助农农商 目录 基于springboot vue助农农商系统 一、前言 二、系统功能演示 三、技术选型 四、其他项目参考 五、代码参考 六、测试参考 七、最新计算机毕设选题推荐 八、源码获取: 基于springboot vue助农农商系统 一、前言 博主介绍:✌️大…

作者头像 李华
网站建设 2026/4/18 7:50:44

商城后台管理系统 04 商品添加-规格参数回显

我们将数据做一个显示&#xff0c;回显&#xff0c;我们将规格参数和我们的商品列表做一个关联。有类目规格配置参数 将数据存储&#xff0c;在页面做回显监听的时候去读取编辑的数据商品添加-规格参数回显 实现代码如下1, src/views/Goods/GoodsList/GoodsDialog.vue <temp…

作者头像 李华