文档章节

Linux系统中VPN协议PPTP、L2TP、OpenVPN区别

LionelShen
 LionelShen
发布于 2015/10/29 15:18
字数 1501
阅读 2114
收藏 12

一、PPTP、L2TP、OpenVPN三种隧道协议的概念

1、PPTP(Point to Point Tunneling Protocol,点对点隧道协议)默认端口号:1723

PPTP,即PPTF协议。该协议是在PPP协议的基础上开发的一种新的增强型安全协议,支持多协议虚拟专用网(VPN),可以通过密码身份验证协议 (PAP)、可扩展身份验证协议(EAP)等方法增强安全性。可以使远程用户通过拨入ISP、通过直接连接Internet或其他网络安全地访问企业网。

点对点隧道协议(PPTP)是一种支持多协议虚拟专用网络的网络技术,它工作在第二层。 通过该协议,远程用户能够通过 Microsoft Windows NT工作站、Windows xp 、Windows 2000 和windows2003、windows7操作系统以及其它装有点对点协议的系统安全访问公司网络,并能拨号连入本地ISP,通过Internet 安全链接到公司网络。

PPTP协议是点对点隧道协议,其将控制包与数据包分开,控制包采用TCP控制。PPTP使用TCP协议,适合在没有防火墙限制的网络中使用。

2、L2TP(Layer 2 Tunneling Protocol,第二层隧道协议)

L2TP是一种工业标准的Internet隧道协议,功能大致和PPTP协议类似,比如同样可以对网络数据流进行加密。不过也有不同之处,比如PPTP要求网络为IP网络,L2TP要求面向数据包的点对点连接;PPTP使用单一隧道,L2TP使用多隧道;L2TP提供包头压缩、隧道验证,而PPTP不支持。

L2TP是一个数据链路层协议,基于UDP。其报文分为数据消息和控制消 息两类。数据消息用投递 PPP 帧,该帧作为L2TP报文的数据区。L2TP不保证数据消息的可靠投递,若数据报文丢失,不予重传,不支持对数据消息的流量控制和拥塞控制。控制消息用以 建立、维护和终止控制连接及会话,L2TP确保其可靠投递,并支持对控制消息的流量控制和拥塞控制。

L2TP是国际标准隧道协议,它结合了PPTP协议以及第二层转发L2F协议的优点,能以隧道方式使PPP包通过各种网络协议,包括ATM、SONET和帧中继。但是L2TP没有任何加密措施,更多是和IPSec协议结合使用,提供隧道验证。

L2TP使用UDP协议,一般可以穿透防火墙,适合在有防火墙限制、局域网用户,如公司、网吧、学校等场合使用。

PPTP和L2TP二个连接类型在性能上差别不大,如果使用PPTP不正常,那就更换为L2TP。

百度百科:http://baike.baidu.com/link?url=t6G3hu_r6-pfi-GN8cCXg5Vx3F_Rk4fEdvXS80l2zstTub7gXMNQzOIPTKfjd_FU

3、OpenVPN

OpenVpn的技术核心是虚拟网卡,其次是SSL协议实现。

虚拟网卡是使用网络底层编程技术实现的一个驱动软件,安装后在主机上多出现一个网卡,可以像其它网卡一样进行配置。服务程序可以在应用层打开虚拟网卡,如 果应用软件(如IE)向虚拟网卡发送数据,则服务程序可以读取到该数据,如果服务程序写合适的数据到虚拟网卡,应用软件也可以接收得到。虚拟网卡在很多的 操作系统下都有相应的实现,这也是OpenVpn能够跨平台一个很重要的理由。

OpenVPN使用OpenSSL库加密数据与控制信息:它使用了OpenSSL的加密以及验证功能,意味着,它能够使用任何OpenSSL支持的算法。它提供了可选的数据包HMAC功能以提高连接的安全性。此外,OpenSSL的硬件加速也能提高它的性能。

OpenVPN所有的通信都基于一个单一的IP端口,默认且推荐使用UDP协议通讯,同时TCP也被支持。

在选择协议时候,需要注意2个加密隧道之间的网络状况,如有高延迟或者丢包较多的情况下,请选择TCP协议作为底层协议,UDP协议由于存在无连接和重传机制,导致要隧道上层的协议进行重传,效率非常低下。

OpenVPN是一个基于SSL加密的纯应用层VPN协议,是SSL VPN的一种,支持UDP与TCP两种方式(说明:UDP和TCP是2种通讯协议,这里通常UDP的效率会比较高,速度也相对较快。所以尽量使用UDP连接方式,实在UDP没法使用的时候,再使用TCP连接方式)。

由于其运行在纯应用层,避免了PPTP和L2TP在某些NAT设备后面不被支持的情况,并且可以绕过一些网络的封锁(通俗点讲,基本上能上网的地方就能用OpenVPN)。

OpenVPN客户端软件可以很方便地配合路由表,实现不同线路(如国内和国外)的路由选择,实现一部分IP走VPN,另一部分IP走原网络。

二、PPTP、L2TP、OpenVPN三种隧道协议的优缺点对比

易用性: PPTP > L2TP > OpenVPN

速度: PPTP > OpenVPN UDP > L2TP > OpenVPN TCP

安全性: OpenVPN > L2TP > PPTP

稳定性: OpenVPN > L2TP > PPTP

网络适用性:OpenVPN > PPTP > L2TP

三、VPN协议的选择

电脑上优先使用PPTP,无法使用可以尝试L2TP,对安全性要求高的优先使用OpenVPN。手持设备推荐使用L2TP。

PPTP: 最常用,设置最简单,大多数设备都支持;

L2TP: 支持PPTP的设备基本都支持此种方式,设置略复杂,需要选择L2TP/IPSec PSK方式,且设置预共享密钥PSK;

OpenVPN:最稳定,适用于各种网络环境,但需要安装第三方软件和配置文件,较复杂。

本文转载自:http://www.itjsxx.com/linux/PPTP_L2TP_OpenVPN_vpn.html

共有 人打赏支持
LionelShen
粉丝 72
博文 153
码字总数 92530
作品 0
海淀
程序员
私信 提问
15 个免费的 VPN 服务用于安全网页浏览

VPN 是什么?嗯,VPN —— 虚拟专用网,是一个可以创建一个安全的网络连接到一个公共网络如互联网的网络技术。它允许主机发送和接收数据通过共享或公共网络,就像它们在私有网络的一样,功能...

oschina
2013/05/20
67.2K
43
centos---pptp openvpn l2tp radius重启

pptp openvpn l2tp radius重启 2012年03月17日 ⁄ linux ⁄ 暂无评论 pptp 重启 service pptpd restart openvpn 重启 service openvpn restart l2tp 重启 service l2tp restart radius 重启s......

durban
2012/03/20
0
0
OpenVPN可以工作的第一种(IP隧道路由模式)是VPN的第几层隧道协议。具体是哪个协议,谢谢

OpenVPN可工作于两种模式:一种是IP隧道路由模式,主要用于点对点的连接;另一种是基于以太网的隧道桥模式,主要用于点对多点的连接。 其中,第一种(IP隧道路由模式)是第几层隧道协议? 据...

薛涛
2012/02/06
1K
2
在Iphone上怎么用openvpn

如何在Iphone上设置openvpn呢?下面就为大家介绍一下,只需简单几步即可完成配置。 关于安装,大家可以IOS设备中打开apple store,并搜索到openvpn,找到之后点击安装就好了,也可以用itunes下载...

SuSugar
2014/06/01
0
1
关于OpenVPN文章的目录

一.基本理论篇 1. vpn原理及实现--一般理论 2. vpn原理及实现--隧道的一种实现 3. vpn原理及实现--虚拟网卡构建vpn 4. vpn原理及实现--tcp还是udp 5. Linux平台VPN技术概论 6. Linux平台VPN...

晨曦之光
2012/04/10
514
0

没有更多内容

加载失败,请刷新页面

加载更多

border实现等高布局

效果图 实现上图效果的全部html+css代码 <div class="box"> <nav> <h3 class="nav">导航1</h3> <h3 class="nav">导航2</h3> </nav> <section> <div cla......

呵呵闯
9分钟前
0
0
MaxCompute 表(Table)设计规范

表的限制项 表(Table)设计规范 表设计主要目标 表设计的影响 表设计步骤 表数据存储规范 按数据分层规范数据生命周期 按数据的变更和历史规范数据的保存 数据导入通道与表设计 分区设计与逻辑...

阿里云云栖社区
16分钟前
0
0
局域网共享文件读写的实现方式

代码片段 首先是设置共享目录,支持用户和密码等权限控制 然后我们可以使用Windows资源管理器操作共享目录下的文件 这中间隐藏了资源管理器帮我们建立目录映射和连接的过程,如果设置了用户名...

夏至如沫
25分钟前
2
0
Elasticsearch安装与配置

一、Docker安装ES 开发模式 可以使用以下命令快速启动Elasticsearch以进行开发或测试: $ docker run -p 9200:9200 -p 9300:9300 -d --name es -e "discovery.type=single-node" docker.ela...

吴伟祥
31分钟前
1
0
移动页面滚动穿透解决方案(荐)

移动页面滚动穿透解决方法目前有多种解决方案,我介绍下几种方案: 解决方案1:阻止冒泡。 //关键代码$(".sliders,.modals").on("touchmove",function(event){    event.preventDefau...

壹峰
32分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部