大家好
#@#A question that often comes up in networking software discussions is "加速器连外网 protocol should I use?" followed by "why should I use that one when there are so many others?" I'm going to try to tackle these questions in lay terms here.#@#
如果您正在阅读这篇文章,您可能已经知道什么是虚拟私人网络(VPN)。 作为复习,VPN 软件允许计算机在隧道协议的帮助下加入远程专用网络。 由于你的数据要通过公共网络,你希望你的连接尽可能稳定、安全和可靠。 此外,你还需要考虑你所需要的 VPN 解决方案的功能。 例如,考虑你是否只需要远程访问;或者你的使用情况是否需要站点到站点的 VPN。
现在,让我们来看看一些流行的 VPN 协议和实现方法。
现在有很多 VPN 协议。 其中许多设计拙劣,甚至有害。 它们的安全设置非常繁琐(大多数人根本不会这样做),而且会让你跳过重重障碍以满足你的要求。 幸运的是,它们中的大多数都没有流传到今天,只出现在零星的传统基础设施中。 以下是一个明显的例外。
微软的 PPTP 是不使用 VPN 软件的一个很好的例子。 它之所以相对受欢迎,是因为它默认与 Microsoft Windows 捆绑。 事实一再证明,它存在严重的安全问题。 此外,它的功能集也很简陋,除非在未加密的情况下运行,否则会出现性能问题。 一旦尝试使用更好的身份验证协议(如扩展身份验证协议 (EAP))进行设置,它唯一的优势--易于设置--也就不复存在了。 传统基础设施仍在使用 PPTP 完全是出于惯性,而且一些老式路由器只支持 PPTP 而不支持其他协议。
TLS 有时被称为安全套接字层(SSL),是加密各种网络连接的常用选择。 加速器连外网(也仍称为 加速器连外网)是 VPN 实现的一个大类,使用 TLS 加密隧道连接。 这是实现 VPN 的一种流行方式,市场上充斥着平庸、专有的 加速器连外网 软件。 我们将避开那些声名狼藉的、基于门户网站的 VPN,在此研究功能更强大、更可靠的协议。
与 PPTP 相比,微软的 SSTP 有了长足的进步。 虽然它仍然缺乏功能和可配置性,但它提供了不错的安全性。 由于它在 TCP 上使用 TLS,而不是像其他大多数 加速器连外网 协议一样使用 UDP,这意味着它很容易受到 TCP 崩溃的影响,因此它仍然存在同样的性能问题。 如果你的要求很简单,它是一个不错的选择。 例如,如果你的大多数员工都是 Windows 用户,他们需要的只是远程连接到你的办公网络,并通过 RADIUS 进行身份验证。
none
您可以使用单点登录、双因素认证、RADIUS、LDAP(即 Active Directory),甚至在插件的帮助下使用 PAM 进行身份验证。 除了内置的分离隧道、以太网桥接和 IPv6 隧道功能外,OpenVPN 还支持远程访问和站点到站点连接。
作为 加速器连外网 协议的一部分,OpenConnect 服务器实现了数据报 TLS(DTLS),这是 TLS 的一种变体,明确用于安全通信。 最值得注意的是,它支持站点到站点链接、一次性密码、OpenID 令牌和 Kerberos 身份验证。 它是思科 加速器连外网 的免费替代软件。 它的目标受众是那些想从 AnyConnect 转向更灵活、更安全的替代品,同时又想保持基础架构不变的人。
IPsec 是一种高度灵活、用途广泛的 VPN 协议套件。 作为一种全面的 VPN 解决方案,它经常与 OpenVPN 相提并论。 这是一个公平的比较,因为它们都是流行的通用 VPN 解决方案,具有正交的设计决策。 首先,IPsec 部分是在操作系统的 IP 栈中实现的。 因此,它的速度要快得多,因为它位于内核空间而不是用户空间,甚至可以利用硬件级加密。 (值得一提的是,许多云网关供应商只提供 IPsec,原因就在于此)。 虽然许多操作系统的网络协议栈中都包含 IPsec 实现,但仍需要安装互联网密钥交换(IKE)实现。 然而,OpenVPN 完全是用户空间软件,因此在速度方面具有可移植性优势。 由于 IPsec 是一种开放标准,因此有许多企业级的免费 IKE 实施软件,而不是由一家供应商实施。 (VyOS 使用 StrongSWAN)。
由于 IPsec 通常与其他协议搭配用于定制 VPN 解决方案,因此我们需要在此简要介绍一下其他协议。
基于 IPsec 的 L2TP 仍然是最流行的远程访问 VPN 解决方案之一。 它得到广泛支持,而且易于设置。 IPsec 使用 IKE 进行安全关联,通过密钥证书工作。 L2TP 为 IPsec 增加了用户会话管理(包括用户名/密码验证)。 即使在 IKEv2 为 IPsec 带来了 EAP 支持后,L2TP/IPsec 仍然是广受欢迎的 VPN 解决方案,因为它得到了广泛的支持。
在没有 IPsec 的情况下,L2TP 很少使用,而且仅限于 UDP 传输。 值得注意的是,L2TP/IPsec 不支持站点到站点的连接(NAT 式黑客除外)。
L2TPv3 应该有一个更好的名字,因为它与上面提到的 L2TP(v2) 没有什么共同之处。 后者更适合直接远程访问网络,而前者更适合连接远程数据中心或办公园区。
最明显的区别是,L2TPv3 通过 IP 数据包工作,可以传输任何二层协议,如以太网,而不仅仅是 PPP。 最重要的是,它可以通过单个会话传输多个网络,因此,对于需要安全桥接远程 VLAN 的情况,通过 IPsec 传输 L2TPv3 是一种有效的站点到站点 VPN 解决方案。
#@#WireGuard is a strong newcomer contesting the ground OpenVPN and IPsec currently hold. It is significantly smaller and lighter than both. It resides in the kernel space and suffers from the same portability problems as IPsec, without the widespread adoption to make up for it. (Userspace implementations exist, although they're much slower.) Its "connectionless" approach yields small network overhead and seamless IP address roaming (so-called "road warrior" connection) that can transparently switch between IPv4 and IPv6.#@#
WireGuard 的设计理念是将合理的默认值硬编码到程序中,以灵活性换取简单性。 例如 与 OpenVPN 不同,你不能使用 443 上的 TCP 将你的连接伪装成 HTTPS,以抵御过于苛刻的防火墙。 与 IPsec 不同的是,你不能使用利用 AES 硬件加速的加密算法,因此,即使它在现代个人电脑上的性能优于 IPsec,在资源有限的路由器上使用它也是不可能的。 总的来说,它是一个优秀的解决方案,适用于大多数情况,但肯定不是所有用例。
有时,您需要的只是一个用于 IP 隧道的可配置虚拟网络接口。 VTI 正是如此。 在实践中,VTI 的工作原理类似于与 IPsec 绑定的 IP-IP 隧道接口。 它有时被描述为基于路由的 VPN,而不是像普通 IPsec 那样基于策略的 VPN。 对于需要直接通过接口进行透明联网的用例,它是一种合适的 VPN 解决方案。
#@#As its name implies, GRE is a generic tunneling protocol for encapsulating IP packets across point-to-point links. It's what PPTP uses internally. In the context 加速器连外网s, GRE tunnels are often paired with IPsec for security. "So," you may ask, "why would I use GRE/IPsec if I can simply use VTI for IP-IP/IPsec?" GRE is protocol-agnostic and can be used to achieve 加速器连外网 connectivity, which cannot be done with plain VTI.#@#
DMVPN 是一个站点到站点 VPN 套件,它结合了四个不同的网络元素,组成一个灵活的集线器和辐条网络网状结构。 这些元素是
DMVPN 擅长实时动态变化的大型企业网络网格。 它可以调整自己的方向,适应连接和分离的网络,因此非常适合云数据中心。
建立 VPN 的方法有很多,我在这里无法一一介绍,因为你需要的只是一个隧道协议和一个安全模型,但普通的 IPsec 或 OpenVPN 可以覆盖 99% 的 VPN 用例。 对于那 1%,请考虑你的要求和选择: 这是用于云上的分布式网络吗? 你的软件是否适合在接口上工作? 你是否只需要一个能与你的双协议栈端点一起使用的快速、简单的解决方案? 您是否考虑过是否需要 VXLAN 或 GENEVE 等网络虚拟化解决方案?
剧透: 我们将在今后的博文中深入介绍所有这些解决方案及其替代方案。 敬请期待!对了,我有没有说过 VyOS 支持所有这些开箱即用的功能?