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的使用和实现,主要 ...
随机推荐
- C# 与C/C++相互调用
C++调用C#的DLLhttp://www.csharpwin.com/csharpspace/11385r8940.shtml C#调用C/C++动态库必须注意的几个问题http://www.rob ...
- HDU 1026 Ignatius and the Princess I (BFS)
题目链接 题意 : 从(0,0)点走到(N-1,M-1)点,问最少时间. 思路 : BFS..... #include <stdio.h> #include <string.h> ...
- 消除ComponentOne(C1StudioNet_2013v2) 的注册提示
以后大家如果遇到还有提示,在License文件里添加:C1.Win.C1Command.C1OutBar, C1.Win.C1Command.4, Version=4.0.20132.19568, ...
- SIOCADDRT: No such process
配置Ubuntu靶机遇到的问题 如果你添加/修改默认网关时遇到这个问题. 原因:你要添加的网关不在你主机所在的网段. 解决方法: 比如你要添加的网关是10.57.50.1 sudo route add ...
- WordPress主题制作教程2:导航菜单制作
实现自定义菜单,需要用到的函数是wp_nav_menu(); 在主题目录下的functions.php的 <?php ….. ?> 之间,添加以下菜单注册代码,这样你就可以在主题文件中使用 ...
- Ubuntu 升级内核
1. 升级下 sudo apt-get update && sudo apt-get dist-upgrade && sudo apt-get autoremove 2 ...
- Git教程之安装配置(1)
1.Git是什么? Git是目前世界上最先进的分布式版本控制系统. 2.SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以 ...
- 从WeUI学习到的知识点
WeUI是微信Web服务开发的UI套件, 目前包含12个模块 (Button, Cell, Toast, Dialog, Progress, Msg, Article, ActionSheet, Ic ...
- ubuntu安装postgresql与postgis
版本信息 ubuntu 14.04.1LTS postgresql 9.3.5 postgis 2.1.2 今天尝试着安装了postgis 2.1.2,(较简便的包安装,不是源码 ...
- ES6入门之Generator函数
Generator Generator函数是ES6提供的一种异步编程解决方案,Generator函数是一个状态机,封装了多个内部状态. 执行Generator函数会返回一个遍历器对象,也就是说,Gen ...