WireGuard 是 Jason A. Donenfeld 开发的开源VPN协议。目前支持Linux, macOS, Android 以及 OpenWrt。iOS 和 Windows 官方客户端还在开发,但第三方 Windows 客户端已经出现。WireGuard 被视为下一代VPN协议,用来替代OpenVPN,IPSec等VPN协议。
WireGuard 协议作为 Linux 内核模块运行,所以效率极高。使用了最先进的加密技术(利用Curve25519进行密钥交换,ChaCha20和Poly1305用于数据认证,BLAKE2用于散列),安全性毋庸置疑。WireGuard 是为嵌入式设备开发的,支持IP地址漫游,也就是网络断开再连,对它不会有影响。WireGuard 使用 UDP 协议传输数据,在不使用的情况下默认不会传输任何 UDP 数据包,所以比常规VPN省电很多,可以像ShadowSocks一样一直挂着使用。
WireGuard协议的速度几乎秒杀其它VPN协议,测试结果如下图;
WireGuard 受到 Linus 本人的推荐,将整合到最新版Linux Kernel中,安装部署更方便。WireGuard 总共几千行代码,只需十分钟就能搞定一台WireGuard服务器。
Wireguard安全性高。极佳的VPN漫游特性,设备支持广泛。内核级别的端对端隧道加密技术,拥有良好的加密特性。Wireguard配置文件由两部分组成:interface和peer。服务器端、客户端互为平等关系。支持预共享密钥preshared key加密,防止量子计算攻击。
国际著名项目,开源代码审计,Windows/iOS/Android客户端完美支持。
典型的 wireguard 服务器端配置文件:
[Interface] PrivateKey = yAnz5TF+lXXJte14tji3zlMNq+hd2rYUIgJBgB3fBmk= ListenPort = 51520 [Peer] PublicKey = xTIBA5rboUvnH4htodjb6e697QjLERt1NAB4mZqp8Dg= AllowedIPs = 10.192.122.3/32, 10.192.124.1/24
典型的客户端配置文件:
[Interface] PrivateKey = gI6EdUSYvn8ugXOt8QQD6Yc+JyiZxIhp3GInSWRfWGE= ListenPort = 21841 [Peer] PublicKey = HIgo9xNzJMWLKASShiTqIybxZ0U3wGLiUeJ1PKf8ykw= Endpoint = 142.99.55.66:51520 AllowedIPs = 0.0.0.0/0
国内运营商对 udp 使用限制比较多,可能导致你所在地区体验较差。
官方原版wireguard是端对端全局代理,中国用户无法智能区分国内外流量。wireguard没有自带流量统计、多用户管理功能,这是目前wireguard没有被商家使用的原因。
在当前环境下,建议你优先使用wireguard代理,因为它安全性更高,速度稳定可靠。小众产品反倒生存长久;ss可备用;人在江湖,总要备几架梯子。
文章末尾固定信息