科学上网原理节点VPN协议PPTP/L2TP/OpenVPN及SSH的区别与讲解

在使用VPN科学上网的时候,会看到商家提供PPTP VPN、L2TP VPN、OpenVPN、SSH代理等协议…

L2TP(Layer 2 Tunneling Protocol,第二层隧道协议)和PPTP(Point-to-Point Tunneling Protocol,点对点隧道协议)是两种不同的VPN协议,它们之间存在一些显著的差异


VPN隧道协议PPTP、L2TP、IPSec和SSLVPN介绍及区别

PPTP是点对点隧道协议,建立在PPP协议上的VPN隧道技术。它已有20多年的历史。目前有这些广泛使用的VPN协议。

VPN虚拟专用网络发展至今已经不在是一个单纯的经过加密的访问隧道了,它已经融合了访问控制、传输管理、加密、路由选择、可用性管理等多种功能,并在全球的 信息安全体系中发挥着重要的作用。使用VPN代理时我们常常会碰到PPTP、L2TP、IPSec和SSLVPN等选项,到底这些词汇的意思是什么,它们之间有何区别呢?下面借用一下中国IT实验室的一篇文章,里面详细介绍了PPTP、L2TP、IPSec和SSLVPN的定义和它们之间的不同之处和相同的地方。如果您想对此有一个比较深入的了解,那么请继续往下阅读。

PPTP

点对点隧道协议 (PPTP) 是由包括微软和3Com等公司组成的PPTP论坛开发的一种点对点隧道协,基于拨号使用的PPP协议使用PAP或CHAP之类的加密算法,或者使用 Microsoft的点对点加密算法MPPE。其通过跨越基于 TCP/IP 的数据网络创建 VPN 实现了从远程客户端到专用企业服务器之间数据的安全传输。PPTP 支持通过公共网络(例如 Internet)建立按需的、多协议的、虚拟专用网络。PPTP 允许加密 IP 通讯,然后在要跨越公司 IP 网络或公共 IP 网络(如 Internet)发送的 IP 头中对其进行封装。

L2TP

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网络上使用。

IPSec

IPSec 隧道模式隧道是封装、路由与解封装的整个 过程。隧道将原始数据包隐藏(或封装)在新的数据包内部。该新的数据包可能会有新的寻址与路由信息,从而使其能够通 过网络传输。隧道与数据保密性结合使用时,在网络上窃听通讯的人将无法获取原始数据包数据(以及原始的源和目标)。封装的数据包到达目的地后,会删除封 装,原始数据包头用于将数据包路由到最终目的地。

隧道本身是封装数据经过的逻辑数据路径,对原始的源和目的端,隧道是不可见的,而只能看到网络路径中的点对点连接。连接双方并不关心隧道起点和终点之间的任何路由器、交换机、代理服务器或其他安全网关。将隧道和数据保密性结合使用时,可用于提供VPN。

封装的数据包在网络中的隧道内部传输。在此示例中,该网络是 Internet。网关可以是外部 Internet 与专用网络间的周界网关。周界网关可以是路由器、防火墙、代理服务器或其他安全网关。另外,在专用网络内部可使用两个网关来保护网络中不信任的通讯。

当以隧道模式使用 IPSec 时,其只为 IP 通讯提供封装。使用 IPSec 隧道模式主要是为了与其他不支持 IPSec 上的 L2TP 或 PPTP VPN 隧道技术的路由器、网关或终端系统之间的相互操作。

SSLVPN

SSL VPNSSL VPN, SSL协议提供了数据私密性、端点验证、信息完整性等特性。SSL协议由许多子协议组成,其中两个主要的子协议是握手协议和记录协议。握手协议允许服务器 和客户端在应用协议传输第一个数据字节以前,彼此确认,协商一种加密算法和密码钥匙。在数据传输期间,记录协议利用握手协议生成的密钥加密和解密后来交换的数据。

SSL独立于应用,因此任何一个应用程序都可以享受它的安全性而不必理会执行细节。SSL置身于网络结构体系的 传输层和应用层之间。此外,SSL本身就被几乎所有的Web浏览器支持。这意味着客户端不需要为了支持SSL连接安装额外的软件。这两个特征就是SSL能 应用于VPN的关键点。

WP Hostz目前提供的VPN虚拟网络代理服务支持PPTP和L2TP两种协议,如果您也需要VPN代理

VPN(全称:VirtualPrivate Network)虚拟专用网络,是依靠ISP和其他的NSP,在公共网络中建立专用的数据通信的网络技术,可以为企业之间或者个人与企业之间提供安全的数据传输隧道服务。

在使用VPN科学上网的时候,会看到商家提供PPTP VPN、L2TP VPN、OpenVPN、SSH代理等协议…

L2TP(Layer 2 Tunneling Protocol,第二层隧道协议)和PPTP(Point-to-Point Tunneling Protocol,点对点隧道协议)是两种不同的VPN协议,它们之间存在一些显著的差异


VPN隧道协议PPTP、L2TP、IPSec和SSLVPN介绍及区别

PPTP是点对点隧道协议,建立在PPP协议上的VPN隧道技术。它已有20多年的历史。目前有这些广泛使用的VPN协议。

VPN虚拟专用网络发展至今已经不在是一个单纯的经过加密的访问隧道了,它已经融合了访问控制、传输管理、加密、路由选择、可用性管理等多种功能,并在全球的 信息安全体系中发挥着重要的作用。使用VPN代理时我们常常会碰到PPTP、L2TP、IPSec和SSLVPN等选项,到底这些词汇的意思是什么,它们之间有何区别呢?下面借用一下中国IT实验室的一篇文章,里面详细介绍了PPTP、L2TP、IPSec和SSLVPN的定义和它们之间的不同之处和相同的地方。如果您想对此有一个比较深入的了解,那么请继续往下阅读。

PPTP

点对点隧道协议 (PPTP) 是由包括微软和3Com等公司组成的PPTP论坛开发的一种点对点隧道协,基于拨号使用的PPP协议使用PAP或CHAP之类的加密算法,或者使用 Microsoft的点对点加密算法MPPE。其通过跨越基于 TCP/IP 的数据网络创建 VPN 实现了从远程客户端到专用企业服务器之间数据的安全传输。PPTP 支持通过公共网络(例如 Internet)建立按需的、多协议的、虚拟专用网络。PPTP 允许加密 IP 通讯,然后在要跨越公司 IP 网络或公共 IP 网络(如 Internet)发送的 IP 头中对其进行封装。

L2TP

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网络上使用。

IPSec

IPSec 隧道模式隧道是封装、路由与解封装的整个 过程。隧道将原始数据包隐藏(或封装)在新的数据包内部。该新的数据包可能会有新的寻址与路由信息,从而使其能够通 过网络传输。隧道与数据保密性结合使用时,在网络上窃听通讯的人将无法获取原始数据包数据(以及原始的源和目标)。封装的数据包到达目的地后,会删除封 装,原始数据包头用于将数据包路由到最终目的地。

隧道本身是封装数据经过的逻辑数据路径,对原始的源和目的端,隧道是不可见的,而只能看到网络路径中的点对点连接。连接双方并不关心隧道起点和终点之间的任何路由器、交换机、代理服务器或其他安全网关。将隧道和数据保密性结合使用时,可用于提供VPN。

封装的数据包在网络中的隧道内部传输。在此示例中,该网络是 Internet。网关可以是外部 Internet 与专用网络间的周界网关。周界网关可以是路由器、防火墙、代理服务器或其他安全网关。另外,在专用网络内部可使用两个网关来保护网络中不信任的通讯。

当以隧道模式使用 IPSec 时,其只为 IP 通讯提供封装。使用 IPSec 隧道模式主要是为了与其他不支持 IPSec 上的 L2TP 或 PPTP VPN 隧道技术的路由器、网关或终端系统之间的相互操作。

SSLVPN

SSL VPNSSL VPN, SSL协议提供了数据私密性、端点验证、信息完整性等特性。SSL协议由许多子协议组成,其中两个主要的子协议是握手协议和记录协议。握手协议允许服务器 和客户端在应用协议传输第一个数据字节以前,彼此确认,协商一种加密算法和密码钥匙。在数据传输期间,记录协议利用握手协议生成的密钥加密和解密后来交换的数据。

SSL独立于应用,因此任何一个应用程序都可以享受它的安全性而不必理会执行细节。SSL置身于网络结构体系的 传输层和应用层之间。此外,SSL本身就被几乎所有的Web浏览器支持。这意味着客户端不需要为了支持SSL连接安装额外的软件。这两个特征就是SSL能 应用于VPN的关键点。

WP Hostz目前提供的VPN虚拟网络代理服务支持PPTP和L2TP两种协议,如果您也需要VPN代理

VPN(全称:VirtualPrivate Network)虚拟专用网络,是依靠ISP和其他的NSP,在公共网络中建立专用的数据通信的网络技术,可以为企业之间或者个人与企业之间提供安全的数据传输隧道服务。

OpenVPN 或者 SSH,哪个更安全?

    实际上,两者都差不多。它们都广泛使用开源加密技术,更容易受到软件漏洞的影响,而不是密码学攻击,而且两者出现漏洞的可能性都差不多。

如果我选择 SSH 方式,我能访问我家庭服务器上托管的任何网页吗?

当然可以,只要你不介意稍微麻烦一点的端口转发。但如果主要用途是使用浏览器访问 Web 服务器,你可能会觉得 VPN 更方便。

如果只是浏览网站,ssh 实际上是最简单的选择。你可以使用 ssh 盒子作为 SOCKS 代理,这样你就可以访问 ssh 盒子可以访问的任何 Web 服务器,包括那些在防火墙后面的。由于 ssh 开箱即用 SOCKS,这样做会更省事。只需要 ssh 命令连接到盒子,然后配置你的浏览器的代理设置。

完全同意。VPN 设置起来挺麻烦的,但如果你只是偶尔看看网页界面,SSH socks 代理又快又简单。

开源加密货币

顺便说一句,从安全角度来看,开源通常是个好东西,因为它可以在很多不同的系统上运行,而且很多人都能看到它。

话虽如此,像 Heartbleed 或 Shellshock 这样的漏洞确实会时不时地出现...

是啊... 你这算是自己反驳了自己的观点 :-)

别误会,我百分百支持开源,但我觉得“众人拾柴火焰高”这套理论得歇歇了,考虑到最近发生的事。 我们得面对一个令人不安的现实:所有商业级的软件(开源的还是闭源的)都漏洞百出,然后采取相应的行动。

从加密货币的角度来看,有一点需要注意的是 OpenVPN 支持对所有 TLS 身份验证数据包进行 HMAC 身份验证,可以通过在运行时或服务器配置中打开“--tls-auth”选项来启用此功能。 以这种方式阻止服务器响应缺少/无效 HMAC 签名的数据包(包括客户端到服务器的第一个会话设置请求)可以缓解基于 TCP 的 SSH 端口转发设置固有的各种端口扫描/服务发现+指纹识别问题。 要让此功能启动并运行,确实需要将 HMAC 密钥分发到您的各种设备,但无论如何,您都必须为基于密钥的 SSH 身份验证执行此操作。 你是使用基于密钥的 SSH 访问,对吧?;)

我曾经使用 SSH 端口转发一段时间,但坦率地说,管理我必须为各种服务设置的所有奇怪的隧道变得很烦人。 使用 OpenVPN 将这个混乱的情况简化为一个大型隧道,它不必成为单点故障(因为您仍然应该保护通过隧道运行的任何服务),并且使监控/管理对您的 LAN 的外部访问变得更加简单。


对于大多数情况,你不用 VPN 也能搞定。要做到这一点,你首先需要在你的网络内部设置一个代理服务器,比如 squid,放在你的 ssh 网关上(为了安全起见,把它放在不同的机器上更好)。然后,当你 ssh 进入你的环境时,配置一个端口隧道到代理服务器。然后,你需要在网络配置中将你的浏览器指向代理服务器,或者使用像 Foxy Proxy 这样的工具。使用这种设置,你现在就可以像在本地网络上一样指向所有内部网站了。有些服务,比如 SPICE(类似于 VNC 的控制台协议),开箱即用时不会与这种设置配合得很好,但总的来说,它们是边缘情况(有时是非常烦人的边缘情况)。此外,你可以使用我称之为“ssh 跳跃”的技术,如果你在 Google 上搜索“ssh Jump”,你会找到关于这个的教程。但我已经包含了我的 ~.ssh/config 文件的示例(是的,我假设你的桌面是 *nix 的衍生品)。使用 ssh 跳跃,我所需要做的就是“ssh host.my-environment.private”,我将通过 ssh 网关主机从我的客户端跳到最终主机。

设置一个公开可访问的 SSH 服务器,但它只能内部访问 OpenVPN 服务器。创建一个 SSH 隧道来访问 OpenVPN 服务器。

OpenVPN 服务器将有权访问你的网络的其余部分,但无法直接从互联网访问。

一般来说,如果你把 SSH 敞开给全世界,那你就自找麻烦了。除非配置正确,包括限制来自不受信任网络的访问,否则它可能不安全,而且肯定会引来暴力破解攻击。只使用密钥认证并限制只允许你已知的 IP 地址,可以缓解大部分问题,但也使其不适合移动办公之类的场景。

SSL VPN 允许你只开放一个端口(443 是个好主意),并安全地访问你所有的局域网内容,而无需将端口转发到所有主机。SSL VPN 通常在没有 IP 限制的情况下运行,这被认为是安全的。它还允许从任何地方远程访问你在局域网上运行的任何服务,而无需开放端口,例如,对于你不想向全世界开放的测试网站。你还需要正确配置它,但 Openvpn 有相当不错的文档。

生产环境的 Web 环境,我见过两种方式。有些人只使用 SSH 密钥认证,允许来自任何 IP 地址,这没问题,尽管至少限制到 ARIN 拥有的 IP 地址会更好。有些人允许来自任何 IP 地址的密码认证,这很蠢。有些人只通过 VPN 访问 SSH。

编辑:有些人提到了 fail2ban,这是一个好主意,应该实施。然而,它只是一个入侵检测系统,只有在你已经被攻击后才会采取行动。使用它不应取代良好的预防性安全措施。


2025最新各平台 v2ray 客户端官网地址大全


2025最新各平台Clash下载及官网地址




本文来自管理员投稿,不代表SPVPN立场,如若转载,请注明出处:https://www.spvpn.com/vpn/5.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年06月07日
下一篇 2024年12月07日

发表回复

8206

评论列表(0条)

    暂无评论