Jason A. Donenfeld 2015年随手写的一个开源项目,现在成了Linux内核的默认VPN方案。OpenVPN和IPsec用了几十年没解决的配置噩梦,被他用4000行代码彻底推翻。

这不是又一个"更轻更快"的技术口号。当你发现Tailscale、Cilium这些当红产品底层全是它,才知道简洁设计在商业上的杀伤力有多大。

打开网易新闻 查看精彩图片

一、代码量即安全

WireGuard完整实现约4000行代码。OpenVPN和IPsec?数十万行。

代码少不是炫技。Donenfeld直接砍掉了算法协商机制——传统VPN握手时要来回商量用什么加密方式,这本身就是攻击面。他预设了一套固定组合:Curve25519做密钥交换,ChaCha20-Poly1305加密,BLAKE2s哈希,SHA-256派生密钥

没得选,所以没法降级攻击。配置即安全。

二、内核里跑,性能起飞

Linux 5.6起内置WireGuard作为内核模块。用户态VPN每发一个包都要在内核空间和用户空间来回拷贝数据,WireGuard直接在内核里完成加密转发。

第三方测试数据很直白:吞吐更高,延迟更低,CPU占用更少。接近物理网卡的吞吐能力不是形容词,是架构决定的。

三、Cryptokey Routing:把公钥当路由表用

这是WireGuard最反直觉的设计。每个对等节点的公钥直接绑定允许的IP地址(AllowedIPs)。发包时按目标IP找公钥加密;收包时只有私钥能解密,且源IP必须匹配该公钥的允许列表。

ACL就是路由表,路由表就是ACL。两层问题一层解决。

四、移动设备的隐藏福利

WireGuard几乎无状态(只缓存会话密钥)。手机从Wi-Fi切到蜂窝网络时,直接发加密数据包给服务端,服务端自动识别新的端点IP和端口。不需要重新握手,连接不会断。

传统VPN切个网络要重连几十秒,这里零感知。

五、不是万能药

WireGuard也有明确边界。它不提供动态IP分配,需要额外DHCP或静态配置;没有内置的用户认证层,身份管理得自己搭;流量特征明显,在严格审查地区可能被识别——虽然AmneziaWG这类混淆工具正在解决最后这个问题。

六、生态正在接管基础设施

点对点加密隧道、远程办公接入、站点互联、Kubernetes容器网络、Tailscale/Netmaker的底层传输——这些场景列表本身就是市场投票。

后量子密码学也在推进。研究界尝试把NIST标准化的Kyber密钥封装机制融入WireGuard握手协议,抵御未来的量子计算威胁。

从4000行代码到内核默认选项,WireGuard证明了一件事:网络协议的设计复杂度,很多时候是历史包袱,不是真实需求。Donenfeld只是选择从头开始,把该砍的全砍了。