WireGuard简明介绍及使用指引

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简明介绍及使用指引

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可备用;人在江湖,总要备几架梯子。

实测发现,Vultr升级内核后,完美支持wireguard,效果很好。Linode采用了定制版内核,安装较为复杂。

文章末尾固定信息

继续阅读
 
joseph
  • 本文由 joseph 发表于 2019年11月28日
  • 除非特殊声明,本站文章许可协议为"署名-非商用-相同方式共享 4.0",转载请保留原链、作者等信息。
广告也精彩