什么是WireGuard?
什么是WireGuard?
(图片来自Shutterstock)
VPN协议定义了在使用VPN时数据的传输方式。近年来,WireGuard已被几乎所有最佳VPN服务所采用,取代了OpenVPN和IKEv2等旧协议。
然而,使用WireGuard也有其优缺点。在这里,我们将详细介绍这种协议与其他选项的不同之处,以及为什么你可能想要考虑使用它或不使用它。
什么是WireGuard?
WireGuard始于2016年。它最初是由安全研究员Jason A. Donenfeld发起的。
他希望简化网络隧道技术,完全专注于简单性,去除IT世界中常见的复杂性。他看到了现有VPN协议中他不喜欢的缺陷。
最初,Donenfeld是一名漏洞研究员。他的工作完全围绕为公司寻找漏洞,这最终导致他对现有VPN协议的安全性产生了怀疑。
基于此经验,他在开发WireGuard时的焦点是创建一个特别安全的VPN协议,同时避免使用复杂或令人困惑的系统。
在第一个版本中,WireGuard专门针对Linux。然而,它现在已经更广泛地可用,包括Windows、Mac、Android甚至iOS的版本。
WireGuard的优势
WireGuard遵循三个主要原则:简单、快速和安全。这体现在其代码中,总行数不到5,000行。相比之下,其他协议如OpenVPN或IKEv2的代码量要大得多。
通过这样做,WireGuard减少了bug和安全漏洞。它还意味着CPU使用率更低,因此连接时间更快。这种较少的代码量在新的VPN协议中很常见,如WireGuard或ExpressVPN的Lightway。
较少的代码量也意味着它更适合处理能力较弱的设备,如手机或路由器。这就是为什么WireGuard经常出现在最快的VPN列表中。
WireGuard放弃了标准的256位AES加密。乍一看,这听起来不好,但这是WireGuard的一个优势。
相反,WireGuard使用更现代的加密协议,包括Curve25519、ChaCha20、Poly1305和BLAKE2。这些加密系统使WireGuard更安全、更高效,是许多最安全的VPN的常见特征。
与OpenVPN等VPN协议不同,WireGuard可以在Linux内核中运行。这使其更有效率,因为Linux不需要进行上下文切换(在不同任务之间移动的方法)。
这有助于性能,使WireGuard更快,能够传输更多数据。
WireGuard的局限性
如上所述,简单性、速度和安全性是WireGuard的专长。这确实意味着它在其他领域存在一些缺点。
最明显的是,WireGuard缺乏其竞争对手的一些功能,例如分配动态IP地址的能力。这些是随时间变化而不是静态的IP地址。
WireGuard在断开服务器连接时也不会自动删除您的IP地址,也没有前向保密性。这是一种使用新私钥加密VPN数据的系统,每个会话都会更新。
显然,如果隐私是您的主要关注点,这是一个问题,每个优质的消费者VPN服务都会修补WireGuard,确保您的真实IP地址永远不会被存储。然而,如果您计划使用WireGuard自行设置VPN,而不是使用现成的服务提供商,这仍然存在风险。
WireGuard的另一个缺点是无法隐藏您的流量,因此容易受到深度数据包检测的攻击。虽然这并不是所有VPN协议都具备的功能,但它正在变得越来越普遍。
最后需要考虑的是,WireGuard仅支持UDP。大多数VPN提供商同时提供TCP和UDP。这是一系列缩写,但关键是要更高效的数据传输,但可能会导致传输和接收问题。
WireGuard,像许多其他VPN协议一样,对其问题非常开放。在其网站上有一个专门的页面来解决这些问题。
总结
WireGuard最大的弱点之一是缺乏其他VPN中的一些关键功能。但这并不意味着它比其他VPN协议不安全。
事实上,一些最好的VPN已经使用WireGuard开发了自己的基于应用程序和服务器的解决方案。例如,最受欢迎的VPN之一NordVPN有自己的Nordlynx协议。这解决了WireGuard向VPN服务器泄露家庭IP地址的问题。此外,NordVPN可以为用户每次连接服务时分配新的"动态"IP地址。
虽然WireGuard在某些方面有所欠缺,但它在速度、安全性和易用性方面做出了弥补。