VPN协议PPTP/L2TP/OpenVPN及SSH的区别与详解
大家在使用VPN的时候都会看到商家有提供PPTP VPN、L2TP VPN、OpenVPN、SSH代理等多种协议选择,但是许多朋友却不知道它们之间有什么区别,也不知道该如何选择,今天整理了一些日常收集来的信息为大家解开这些困惑,要知道在不同的平台和环境下使用协议,其中每一种协议均有独特的功能和优势,在我们选择使用协议时,需要考虑自己的设备是支持什么协议,在安全性和速度之间权衡,以及考虑有没有协议被你的网络阻塞。以下是博主精心收集整理的信息,希望对大家有所帮助。
一、首先介绍下PPTP、L2TP、OpenVPN及SSH这四种协议的不同特点
1:PPTP VPN协议
PPTP协议它是点对点隧道协议,其将控制包与数据包分开,控制包采用TCP控制,用于严格的状态查询及信令信息;数据包部分先封装在PPP协议中,然封后装到GRE V2协议中。简单说,PPTP使用TCP协议,适合在没有防火墙限制的网络中使用。
2:L2TP VPN协议
L2TP它是国际标准隧道协议,它结合了PPTP协议以及第二层转发L2F协议的优点,能以隧道方式使PPP包通过各种网络协议,包括ATM、SONET和帧中继。但是L2TP没有任何加密措施,更多是和IPSec协议结合使用,提供隧道验证。简单说,L2TP使用UDP协议,大多可以穿透防火墙,适合在有防火墙限制及局域网用户,如有公司、网吧、学校等场合使用。PPTP和L2TP二个连接类型在性能上差别不大,如果使用PPTP不正常,那就更换为L2TP。
3:OpenVPN隧道协议
OpenVPN它是一个基于SSL加密的纯应用层的VPN协议,也是SSL VPN的一种,有支持UDP与TCP两种方式(说明:UDP和TCP是2种通讯协议,这里通常UDP的效率会比较高,速度也相对较快。所以尽量使用UDP连接方式,实在UDP没法使用的时候,再使用TCP连接方式)。
由于其运行在纯应用层,避免了PPTP和L2TP在某些NAT设备后面不被支持的情况,并且可以绕过一些网络的封锁(通俗点讲,基本上能上网的地方就能用OpenVPN)。
OpenVPN客户端软件能很方便地配合路由表,实现不同线路(如国内和国外)的路由选择,实现一部分IP走VPN,另一部分IP走原网络。
4:SSH隧道协议
SSH原本是用于UNIX类系统的远程登录和管理,由于SSH可以通过客户端软件在本地做一个SOCKS代理进行加密转发,因此它也被用于网络代理。一些喜欢用SSH的代理的人,会配合浏览器插件(如Firefox的AutoProxy,Chrome的Switchy)和自动列表,可实现对不同网址有选择性地代理。
二、然后介绍下PPTP、L2TP、OpenVPN这三种隧道协议的优缺点比较,暂ssh不列入比较。
1:首先针对PPTP 、L2TP 、 OpenVPN三种隧道协议的易用性进行比较,如下:
易用性:PPTP > L2TP > OpenVPN
2:再针对PPTP 、L2TP 、 OpenVPN三种隧道协议的安全性进行比较,如下:
安全性:OpenVPN > L2TP > PPTP
3:然后针对PPTP 、L2TP 、 OpenVPN三种隧道协议的速度进行比较,如下:
速度:PPTP > OpenVPN UDP > L2TP > OpenVPN TCP
4:针对PPTP 、L2TP 、 OpenVPN三种隧道协议的稳定性进行比较,如下:
稳定性:OpenVPN > L2TP > PPTP
5:最后针对PPTP 、L2TP 、 OpenVPN三种隧道协议的网络适应性进行比较,如下:
网络适用性:OpenVPN > PPTP > L2TP
三、最后说说该选择哪种VPN协议进行连接?
电脑上优先使用PPTP,无法使用可以尝试L2TP,如果你对安全性要求高的话就优先使用OpenVPN。手持设备推荐使用L2TP;
如果你对VPN隧道协议不了解,那么,请按照以下顺序进行尝试连接
1:PPTP——最常用,设置最简单,大多数设备都支持
2:L2TP——支持PPTP的设备基本都支持此种方式,设置略复杂,需要选择L2TP/IPSec PSK方式,且设置预共享密钥PSK
3:OpenVPN——最稳定,适用于各种网络环境,但需要安装第三方软件和配置文件,较复杂
特别提醒:
XP系统启用L2TP需要重启电脑,Vista,Win 7则无需重启。
PPTP与L2TP2个连接类型在性能上差别不大,如果使用PPTP不正常,那就更换为L2TP
个人使用经验
在使用VPN的时候应该首先尝试PPTP模式,若连接不了再用L2TP模式,一般来说都是可以连接成功的。另外,某些移动地区无法使用PPTP,必须得用L2TP。
VPN协议PPTP/L2TP/OpenVPN及SSH的区别与详解的更多相关文章
- SSH免密登录详解
SSH免密登录详解 SSH(Security Shell)安全外壳协议,是较为可靠的,专为远程登录会话和其他网络服务提供安全保证的协议. 对于传统的网络服务程序(例如,FTP,Telnet等)来说 ...
- [转帖]IP /TCP协议及握手过程和数据包格式中级详解
IP /TCP协议及握手过程和数据包格式中级详解 https://www.toutiao.com/a6665292902458982926/ 写的挺好的 其实 一直没闹明白 网络好 广播地址 还有 网 ...
- Linux实现利用SSH远程登录服务器详解
Linux实现利用SSH远程登录服务器详解 http://www.111cn.net/sys/linux/55152.htm
- SSH 概念及使用详解
注意:转载请注明出处:http://www.programfish.com/blog/?p=124 SSH 基本概念 SSH 英文全称是secure shell,字面意思:安全的shell. SSH协 ...
- AWS 搭建 VPN 服务(PPTP & L2TP) 整理
只为记录和整理在AWS上假设VPN服务器帮助过我的资料,环境使用AWS EC2 东京区域, OS为ubuntu, PPTP和L2TP各自建立一个, 从speed test上看, 下载有2mbps左右, ...
- windows 2008 VPN(PPTP/L2TP)搭建
PPTP和L2TP只差一步配置,现在苹果已经不支持PPTP,所以只能使用L2TP连接.废话不多说,下面开始搭建: 1.PPTP VPN 配置 新安装好的OS,进入系统,首先添加角色 勾选添加网络策略和 ...
- ssh秘钥交换详解与实现 diffie-hellman-group-exchange-sha
ssh的DH秘钥交换是一套复合几种算法的秘钥交换算法.在RFC4419中称为diffie-hellman-groupX-exchange-shaX 的算法(也有另一种单纯的 rsaX-shaX 交换算 ...
- ssh服务配置文件---sshd_config详解
关于 SSH Server 的整体设定,包含使用的 port 啦,以及使用的密码演算方式 Port 22 # SSH 预设使用 22 这个 port,您也可以使用多的 port ! # 亦即重复使 ...
- (十四)UDP协议的两个主要方法sendto和recvfrom详解
在网络编程中,UDP运用非常广泛.很多网络协议是基于UDP来实现的,如SNMP等.大家常常用到的局域网文件传输软件飞鸽传书也是基于UDP实现的. 本篇文章跟大家分享linux下UDP的使用和实现,主要 ...
随机推荐
- Linux之select系统调用_1
SYNOPSIS /* According to POSIX.1-2001 */ #include <sys/select.h> /* According to earlier stand ...
- 记一段使用node对mysql数据库做处理
所用到的存储过程如下: temp_get_userCount: BEGIN #Routine body goes here... SELECT COUNT(id) as num FROM tbl_us ...
- Android 基于Socket的聊天应用(二)
很久没写BLOG了,之前在写Android聊天室的时候答应过要写一个客户(好友)之间的聊天demo,Android 基于Socket的聊天室已经实现了通过Socket广播形式的通信功能. 以下是我写的 ...
- 290. Word Pattern
题目: Given a pattern and a string str, find if str follows the same pattern. Here follow means a full ...
- java异常——RuntimeException和User Define Exception
1.RuntimeException public class RuntimeException { public static void main(String[] args) { // TODO ...
- Docker基础技术:Linux Namespace(下)
在 Docker基础技术:Linux Namespace(上篇)中我们了解了,UTD.IPC.PID.Mount 四个namespace,我们模仿Docker做了一个相当相当山寨的镜像.在这一篇中,主 ...
- 使用 node-odata 轻松创建基于 OData 协议的 RESTful API
前言 OData, 相信身为.NET程序员应该不为陌生, 对于他的实现, 之前也有童鞋进行过介绍(见:这里1,这里2). 微软的WCF Data Service即采用的该协议来进行通信, ASP.NE ...
- CEdit的简单用法
今晚闲来无事,写篇博文聊解解闷~ CEdit这个空间类,我之前倒是用过,不过那个时候用的还比较菜,现在么,依旧比较菜~ 首先,因为我今天刚做完了一个局域网聊天软件,用的就是CEdit来显示和获取数据的 ...
- Ubuntu下搭建java开发环境
JDK安装: 1. 在http://www.oracle.com/technetwork/java/javase/downloads/index.html上下载相应版本的JDK环境,这里我使用的是jd ...
- Ubuntu Server搭建svn服务以及迁移方法【转】
转自:http://www.linuxidc.com/Linux/2013-05/84693.htm Ubuntu Server搭建svn服务以及迁移方法 采用apache+svn,http访问方式. ...