WireGuard介绍及客户端使用教程

WireGuard是Jason A. Donenfeld开发的开源VPN协议。目前已经支持Linux, macOS, Android, iOS以及OpenWrt平台。WireGuard被视为下一代VPN协议,用来替代OpenVPN,IPSec等VPN协议。官方网站https://www.wireguard.com/ . MullvadAzireVPN这两家商业VPN已经部署应用了这个协议。经过我一段时间使用觉得很稳定,可以日常使用

WireGuard协议作为Linux内核模块运行,所以效率极高。使用了最先进的加密技术(利用Curve25519进行密钥交换,ChaCha20和Poly1305用于数据认证,BLAKE2用于散列),安全性毋庸置疑。WireGuard是为嵌入式设备开发的,支持IP地址漫游,也就是网络断开再连,对它不会有影响。WireGuard使用UDP协议传输数据,在不使用的情况下默认不会传输任何 UDP 数据包,所以比常规VPN省电很多,可以像SS一样一直挂着使用。WireGuard协议的速度瞬秒其它VPN协议,官方测试结果以及下图的个人测速你们感受下:

AzireVPN UK1 Server

WireGuard Android官方版客户端使用教程

WireGuard Android
  1. 安装WireGuard Android客户端,Play下载地址:https://play.google.com/store/apps/details?id=com.wireguard.android
  2. 导入配置文件:把下载的配置文件传到手机里,手机上打开WireGuard客户端,点右下角加号,选择第一个Create from file or archive,点选传到手机里的配置文件。这时直接点选某个配置文件即可连接VPN
  3. WireGuard官方客户端可以允许部分应用绕过VPN,打开WireGuard,点击一个节点配置,在右上角点击铅笔按钮,在中间有蓝色的0 EXCLUDED APPLICATIONS,点击后进入APP排除设置,勾选某个APP就是让这个APP不走VPN通道。选择完成后点右下角蓝色SET EXCLUSIONGS,然后点配置界面右上角的保存按钮即可。缺点:不支持排除系统应用
  4. WireGuard Android客户端支持快捷设置面板功能。即在下拉通知栏中可以添加WireGuard快捷设置图标,方便一键开启VPN

TunSafe Android客户端

这是TunSafe发布的Android客户端,下载地址:https://play.google.com/store/apps/details?id=com.tunsafe.app,客户端内置了TunSafe提供的5个免费服务器,使用方法与WireGuard官方版一致。但TunSafe客户端提供了Kill Switch以及排除系统应用的功能。

TunSafe iOS客户端

TunSafe发布了第一款iOS上的WireGuard协议客户端,目前处于测试状态,下载地址:https://testflight.apple.com/join/9gbYAJLB

TunSafe Windows PC客户端使用教程

目前官方尚未释出Windows客户端,但是大神Ludvig Strigeus(µTorrent作者,Spotify主要开发者)发布了第一款可在Windows PC上使用的WireGuard协议客户端TunSafe,支持Windows 7及后续版本

TunSafe V1.4 rc1
TunSafe选项
  1. 下载安装TunSafe WireGuard客户端,地址 https://tunsafe.com/download。因为目前测试版迭代比较快,功能也更多,使用还算稳定,推荐下载RC版
  2. 导入WireGuard配置。打开TunSafe,选择Options,选择Import File…导入单个配置,或者可以拖动单个配置文件到TunSafe窗口完成导入。如果想一次性导入多个文件,可以在Options里选择Browse In Explorer,就会打开C:\Program Files\TunSafe\Config这个文件夹,然后将配置文件一起复制到这个文件夹即可
  3. 点击客户端的Connect即可连接VPN。Edit Config可以编辑配置文件,文末副有配置文件编辑说明
  4. 你也可以将多个节点配置放到一个文件夹中,再将这个文件夹放入C:\Program Files\TunSafe\Config,TunSafe这时会将子文件夹列为二级菜单显示,如下图
submenus

WireGuard配置文件由VPN供应商提供,或者自建服务器。TunSafe同时提供了5个免费的公用服务器,目前速度还不错,分别是Amsterdam / Netherlands(荷兰阿姆斯特丹),Bucharest / Romania(罗马尼亚布加勒斯特), New-York / US(美国纽约),Stockholm / Sweden(瑞典斯德哥尔摩),Düsseldorf / Germany(德国杜塞尔多夫)。

使用方法:打开TunSafe VPN配置下载页面 https://tunsafe.com/vpn,点击First Server下拉选单选择想要连接的服务器,然后点击Generate and Download下载配置文件,导入到TunSafe PC客户端即可

TunSafe配置文件说明

这里一般不需要更改

#客户端
[Interface]
# 本机的密钥
PrivateKey = gIIBl0OHb3wZjYGqZtgzRml3wec0e5vqXtSvCTfa42w=
# 设置UDP监听端口可以让其他客户端向本机发起连接
# ListenPort = 51820
# VPN连接成功后使用的DNS服务器
# DNS = 8.8.8.8
# 拦截所有DNS请求并强制所有DNS都通过VPN
# BlockDNS = true
# 虚拟网络设备的内网IP地址
Address = 192.168.2.2/24
# 流量拦截功能,是否拦截所有未通过tunsafe的网络请求:
# route - 使用黑洞路由阻止所有流量(直接丢弃数据包)
# firewall - 通过Windows防火墙阻止除tunsafe外的所有流量
# on - 使用默认拦截机制
# off - 关闭流量拦截
# BlockInternet = route, firewall
# MTU
# MTU = 1420
#服务器配置
[Peer]
# 服务器公钥
PublicKey = hIA3ikjlSOAo0qqrI+rXaS3ZH04Yx7Q2YQ4m2Syz+XE=
# 预共享密钥
PresharedKey = SNz4BYc61amtDhzxNCxgYgdV9rPU+WiC8woX47Xf/2Y=
# 需要转发流量的IP范围,如果你要把流量全部转发到服务器就填0.0.0.0/0
AllowedIPs = 192.168.2.0/24
# 服务器IP
Endpoint = 192.168.1.4:8040
# 保持连接参数
PersistentKeepalive = 25
# 当服务器作为默认网关时,是否通过隧道转发多播和广播数据包
# AllowMulticast = false

自建服务器

如果要自建WireGuard服务器,可以参考WireGuard官网上的搭建指南。和我一样的小白,也可以观看罗在草木间在YouTube提供的Google Cloud 一键搭建WireGuard教程,简单易懂,跟着做就可以借助Google Cloud提供的试用免费使用一年WireGuard。如果要配置多个用户,可以参考atrandys的WireGuard多用户配置教程视频。他们都在视频说明里提供了Telegram讨论群,更多问题也可以进群详询

Reference:

  1. https://en.wikipedia.org/wiki/WireGuard
  2. https://www.wireguard.com/
  3. https://www.azirevpn.com/wireguard
  4. https://tunsafe.com/
  5. https://sskaje.me/2017/06/wireguard-wg-quick-postup的高级玩法/
  6. 八卦:WireGuard协议作者和TunSafe作者激烈的碰撞回应