常用VPN技术
VPN指的是虚拟专用网络(Virtual Private Network ,简称VPN)指的是在公用网络上建立专用网络的技术。VPN属于远程访问技术,简单地说就是利用公网链路架设私有网络。VPN主要采用了隧道技术、加解密技术、密钥管理技术和使用者与设备身份认证技术。
实现VPN,最关键部分是在公网上建立虚信道,而建立虚信道是利用隧道技术实现的,IP隧道的建立可以是在链路层和网络层。第二层隧道主要是PPP连接,如PPTP,L2TP,其特点是协议简单,易于加密,适合远程拨号用户;第三层隧道是IPinIP,如IPSec,其可靠性及扩展性优于第二层隧道,但没有前者简单直接。
隧道协议
1)PPTP(点到点隧道协议)是一种用于让远程用户拨号连接到本地的ISP,通过因特网安全远程访问公司资源的新型技术。它能将PPP(点到点协议)帧封装成IP数据包,以便能够在基于IP的互联网上进行传输。PPTP使用TCP(传输控制协议)连接的创建,维护,与终止隧道,并使用GRE(通用路由封装)将PPP帧封装成隧道数据。被封装后的PPP帧的有效载荷可以被加密或者压缩或者同时被加密与压缩。
2) L2TP协议:L2TP是PPTP与L2F(第二层转发)的一种综合,他是由思科公司所推出的一种技术。
3)IPSec协议:是一个标准的第三层安全协议,它是在隧道外面再封装,保证了在传输过程中的安全。IPSec的主要特征在于它可以对所有IP级的通信进行加密。
4)OpenVPN的技术核心是虚拟网卡,其次是SSL协议实现。OpenVPN使用通用网络协议(TCP与UDP)的特点使它成为IPsec等协议的理想替代,尤其是在ISP(Internet service provider)过滤某些特定VPN协议的情况下。
PPTP VPN、L2TP/IPSec VPN、OpenVPN(SSL VPN)是最常用的三种VPN形式。
-------------------------------------------------------------------------------------
PPTP (Point to Point Tunneling Protocol) —— 点对点隧道协议
技术背景: PPTP是一个基于PPP的很基本的协议。PPTP (点对点隧道协议)是微软Windows平台第一个支持的VPN协议。
数据加密: 基于拨号使用的PPP协议使用PAP或CHAP之类的加密算法,或者使用 Microsoft 的点对点加密算法MPPE。PPTP 标准并没有实际描述加密和授权特性,并且依赖于 PPP 协议的隧道来实现安全功能。PPP负载是使用微软点对点协议(Microsoft’s Point-to-Point Encryption protocol,MPPE)加密。MPPE 实现了 RSA RC4加密算法,并使用最长 128 位密钥。
安装配置: Windows 所有版本和大多数其他操作系统包括移动平台都内建了对 PPTP 的支持。PPTP 只需要一个 用户名和密码,以及一个服务器地址,所以安装和配置相当简单。
速度效率: 由于使用 128 位密钥,加密开销相比 OpenVPN 使用 256位密钥要小,所以速度感觉稍快一点,但这个差异微不足道。
协议端口: PPTP 使用 TCP 1723 端口和 GRE(协议 47)。
稳定性/兼容性: 通过限制 GRE 协议,PPTP 可以轻易地被封锁。PPTP 不如 OpenVPN 可靠,也不能像 OpenVPN 那样在不稳定网络中快速恢复。另外还有部分同 GRE 协议和一些路由器的兼容性问题。
安全弱点: 微软实现的 PPTP 有一个严重的安全问题(serious security vulnerabilities)。对于词典攻击来说 MSCHAP-v2 是很脆弱的,并且 RC4 算法也会遭到“位翻转攻击( bit-flipping attack )”。如果保密是重要的,微软也强烈建议升级到 IPSec。
兼容性: Windows、 Mac OS X、Linux、Apple iOS、Android、DD-WRT。
评价结论: 由于主要的安全漏洞,除了兼容性以外没有好的理由选择使用 PPTP。如果你的设备既不支持 L2TP/IPSec 又不支持 OpenVPN,那么 PPTP 是一个合理的选择。如果关心快速安装和简易配置,那么 L2TP/IPSec 值得考虑。
------------------------------------------------------------------------------------
L2TP(Layer 2 Tunneling Protocol) —— 第二层隧道协议
技术背景: L2TP 是一个在 IETF RFC 3193 中被正式标准化的高级协议。推荐在需要安全加密的地方用来替代 PPTP。L2TP第 2 层隧道协议 (L2TP) 是IETF基于L2F (Cisco的第二层转发协议)开发的PPTP的后续版本。是一种工业标准 Internet 隧道协议,其可以为跨越面向数据包的媒体发送点到点协议 (PPP) 框架提供封装。PPTP和L2TP都使用PPP协议对数据进行
封装,然后添加附加包头用于数据在互联网络上的传输。PPTP只能在两端点间建立单一隧道。L2TP支持在两端点间使用多隧道,用户可以针对不同的服务质量创建不同的隧道。L2TP可以提供隧道验证,而PPTP则不支持隧道验证。但是当 L2TP 或PPTP与IPSEC共同使用时,可以由IPSEC提供隧道验证,不需要在第2层协议上验证隧道使用L2TP。PPTP要求互联网络为IP网络。L2TP只要求隧道媒介提供面向数据包的点对点的连接,L2TP可以在IP(使用UDP),桢中继永久虚拟电路 (PVCs),X.25虚拟电路(VCs)或ATM VCs网络上使用。
数据加密: L2TP 负载使用标准的 IPSec 协议加密。在 RFC 4835 中指定了使用 3DES 或 AES 加密算法作为保密方式。
安装配置: 从 2000/XP 起的所有 Windows 平台和 Mac OS X 10.3+ 都内建了 L2TP/IPSec 的支持。大多数现代的移动平台比如 iPhone 和 Android 也有内建的客户端。
速度效率: L2TP/IPSec 将数据封装两次,所以相比其他竞争者效率稍低,速度也慢一些。
协议端口: L2TP/IPSec 使用 UDP 500 端口用来初始化密钥交换,使用协议 50 用来传输 IPSec 加密的数据( ESP ),使用 UDP 1701 端口用来初始化 L2TP 的配置,还使用 UDP 4500 端口来穿过 NAT。
稳定性/兼容性: L2TP/IPSec 相比 OpenVPN 容易封锁,因为它依赖于固定的协议和端口。L2TP/IPSec 比 OpenVPN 更复杂,为了使在 NAT 路由器下的设备可靠地使用,配置可以会更加困难。但是,只要服务器和客户端都支持 NAT 穿越,那么就没什么问题了。
安全弱点: IPSec 没有明显的漏洞,当和安全加密算法如 AES 一起使用时,被认为是很安全的。
兼容性: Windows、Mac OS X、Linux、Apple iOS、Android。
评价结论: L2TP/IPSec 是优秀的,但相比 OpenVPN 的高效和杰出的稳定性要落后一点。如果你使用运行 iOS 或 Android 的移动设备,那么这就是最佳的选择,因为 OpenVPN 目前还不支持这些平台。
另外,如果需要快速安装,L2TP/IPSec 也是一个较佳的选择。IPSec 隧道模式隧道是封装、路由与解封装的整个过程。隧道将原始数据包隐藏(或封装)在新的数据包内部。该新的数据包可能会有新的寻址与路由信息,从而使其能够通过网络传输。隧道与数据保密性结合使用时,在网络上窃听通讯的人将无法获取原始数据包数据(以及原始的源和目标)。封装的
数据包到达目的地后,会删除封 装,原始数据包头用于将数据包路由到最终目的地。当以隧道模式使用 IPSec 时,其只为 IP 通讯提供封装。使用 IPSec 隧道模式主要是为了与其他不支持 IPSec 上的 L2TP 或 PPTP VPN 隧道技术的路由器、网关或终端系统之间的相互操作。
-----------------------------------------------------------------------------------
OpenVPN —— Linux下开源VPN
技术背景: OpenVPN 是一个高级的开源 VPN 解决方案,由 “OpenVPN technologies” 支持,并且已经成为开源网络领域里的事实标准。OpenVPN 使用成熟的 SSL/TLS 加密协议。
数据加密: OpenVPN 使用 OpenSSL 库来提供加密。OpenSSL 支持好几种不同的加密算法,如:3DES,AES,RC5 等。
安装配置: OpenVPN 不包含在任何操作系统中,需要安装客户端软件,但安装也是相当简单,基本上 协议端口: 分钟可以完成。
ssl协议是指什么速度效率: 当使用默认的 UDP 模式,OpenVPN 的表现是最佳的。
协议端口: OpenVPN 可以很容易的配置为使用任何端口运行,也可以使用 UDP 或 TCP 协议。为了顺利穿越限制性的防火墙,可以将 OpenVPN 配置成使用 TCP 443 端口,因为这样就无法和标准的 HTTPS 无法区分,从而极难被封锁。
稳定性/兼容性: 无论是无线网络、蜂窝网络,还是丢包和拥塞经常发生的不可靠网络,OpenVPN 都非常稳定、快速。对于那些相当不可以的连接,OpenVPN 有一个 TCP 模式可以使用,但是要牺牲一点速度,因为将 TCP 封装在 TCP 时效率不高。
安全弱点: OpenVPN 也没有明显漏洞,当和安全加密算法如 AES 一起使用时,也被认为是相当安全的。
兼容性: Windows、Mac OS X、Linux。
评价结论: 对于所有的 Windows, Mac OS X 以及 Linux 桌面用户来说,OpenVPN 是最好的选择。OpenVPN 速度快,并且安全可信。但劣势是缺乏对移动设备的支持,另外还需要安装第三方客户端。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论