写给想要配置而不是应用的人:路由器用户、GrapheneOS 用户、自建实验室的人,以及读过 .conf 的所有人。
WireGuard VPN 配置
网络中每台服务器都有真正的 .conf 文件和二维码,共用一个账户。里面有什么、怎么导入,以及唯一容易出问题的地方怎么修。

- 每台服务器都有真正的 .conf 文件和二维码,不是私有应用
- 一个账户覆盖所有服务器和三种协议,同时五台设备
- 完整隧道用 AllowedIPs 0.0.0.0/0,分流则用更窄的范围
- 终止开关取决于平台:Windows 有真的,Android 靠始终开启 VPN,iOS 没有
- 握手卡住通常是 UDP 被封;网页加载一半卡住通常是 MTU
- 加密货币付款,无账户无邮箱,不自动续费,网络不保存日志
一份 WireGuard 配置就是十来行的文本文件。它包含建立隧道所需的一切,因此具备供应商应用里的账户永远不具备的可移植性:同一个文件可以用在官方 WireGuard 客户端里、路由器里、容器里,或者粘贴进一个 NetworkManager 配置。
我们卖的是配置,不是应用。用加密货币付款后,订单页面会列出网络中的每一台服务器,每一台都提供一个二维码和一个 .conf 下载。一个账户、同时五个连接,不按服务器或设备额外收费。
这一页余下的内容,无论你买不买都用得上:文件里每一行的作用,iOS、Android、Windows、macOS 和 Linux 上导入方式的差异,这几个平台上的终止开关到底是什么,以及握手始终不成功时该怎么排查。
.conf 里逐行都有什么
文件分两块。Interface 块描述隧道的你这一端。PrivateKey 是你的私钥,也是文件里唯一绝不能分享的东西:在服务器看来,谁拿到它谁就是你。Address 是隧道在 VPN 网络内部分配给你的地址,通常是带 /32 后缀的单个地址,也就是只属于你,而不是你要为之路由的一个网段。
Interface 块里的 DNS 告诉操作系统在隧道开启期间该用哪个解析器。防止 DNS 泄露的就是这一行,因为没有它,你的设备仍会去问本地网络的解析器,即使流量本身是加密的,你的查询也照样暴露你访问的每一个域名。当链路需要比默认 1420 更小的包长时,就会出现 MTU 这一行,它也是移动网络和一些酒店线路上最常见的手动修改。
Peer 块描述服务器。PublicKey 用来标识它,让你的客户端确认自己在跟正确的机器通信。如果存在 PresharedKey,它会在常规握手之上再加一层对称密钥,属于可选项,主要是为将来针对密钥交换的攻击做对冲。Endpoint 是你的客户端发送数据的服务器地址和 UDP 端口。
AllowedIPs 是最常被误读的一行。它不是防火墙规则,而是路由决定:它列出哪些目的地走隧道。设为 0.0.0.0/0 和 ::/0 就是全部,这也是完整 VPN 所需要的。设为更窄的范围就成了分流,只有那些目的地走 VPN。PersistentKeepalive 通常是 25,表示每 25 秒发一个极小的包,免得做 NAT 的路由器忘掉映射,从而悄悄中断入站流量。
各平台上用二维码还是用文件
iOS 与 iPadOS:安装官方 WireGuard 应用,选择添加隧道、从二维码创建,然后扫描订单页面上的二维码。这比在手机上敲密钥快得多。先把 .conf 存进「文件」再从文件导入也可以。iOS 会请求添加 VPN 配置的权限,这是正常且必需的。
Android:官方 WireGuard 应用同样有这两条路,二维码是省事的那条。在去谷歌化的手机上,请从 F-Droid 而不是 Play 商店安装。如果你使用分应用隧道,应用允许把特定程序包含进隧道或排除在外,这是客户端的功能,不是配置文件的。
Windows:官方客户端通过「添加隧道」加文件选择器导入 .conf,也可以把文件拖进窗口。它不识别二维码,所以请下载文件。客户端会把自己装成服务,因此隧道可以设置为随开机启动。
macOS:App Store 里的 WireGuard 应用以同样方式导入 .conf;如果你用 Homebrew 装了 WireGuard,也可以走 wg-quick 的命令行路径。App Store 版本以系统扩展方式运行,首次会请求 VPN 权限。
Linux:把 .conf 放进 /etc/wireguard/,命名成 vpn.conf 之类,权限设为仅 root 可读,然后用 wg-quick up vpn 启动、wg-quick down vpn 关闭。开机自启可以启用与文件同名的 systemd 单元。如果你更喜欢图形开关,GNOME 和 KDE 也能在网络设置里导入 .conf。
同时保留多条隧道,随时秒切
WireGuard 客户端保存的是一份隧道列表,而不是单一连接,多导入几条不花任何代价。真正管用的习惯是:买下来的当天就导入三四台服务器,而不是一台。一台就近的日常用,另一台就近的备着第一台繁忙时用,再来一台在别的区域,供你需要不同出口国家时使用。
切换是立刻生效的,因为没有会话需要协商。WireGuard 没有 OpenVPN 那样的登录和连接阶段:客户端发出第一个加密包,隧道要么在一秒内通,要么就是不通。在所有官方客户端里,启用另一条隧道会自动停用当前那条。
之所以要提前做,是因为你出不去的网络,同样也是你下载不了配置的网络。订单页面需要一条能用的连接。趁一切正常时把它们都导入,就把糟糕的网络从一个问题变成了两秒钟的切换。
网络中所有服务器都在同一个账户下,共用同样的五个并发连接名额,因此导入十条隧道只用一条,完全没有额外成本。
终止开关,按平台说实话
终止开关的意思是:隧道断掉时流量应当停止,而不是泄漏出去。WireGuard 协议里没有这个功能,任何配置文件也无法凭自己造出一个。存在的是平台功能,而且每个平台都不一样,所以对那些把终止开关说得像通用功能的服务商要保持怀疑。
Windows:官方客户端里有一个真的。当 AllowedIPs 为 0.0.0.0/0 时,隧道设置里会出现 Block untunneled traffic,它会安装防火墙规则丢弃隧道之外的一切。这是内置选项里最强的一个。
Android:客户端本身没有终止开关,但 Android 有。在系统 VPN 设置里,为 WireGuard 应用打开「始终开启 VPN」和「阻止没有 VPN 时的连接」。这是系统层面的保证,重启后依然有效。
iOS:没有真正的终止开关。按需规则可以自动把隧道拉回来,覆盖了现实中的多数情况,但在网络切换的瞬间仍存在一个短暂窗口,流量可能从隧道之外发出。在原生 iOS 上宣称有绝对终止开关的,都是夸大其词。
macOS 与 Linux:两者都没有内置。在 Linux 上,诚实的答案是防火墙规则:用 nftables 或 iptables 策略只允许经 WireGuard 接口发出的流量以及发往端点地址的流量,或者在 wg-quick 的 PostUp 和 PostDown 行里随隧道装上和撤下这些规则。在 macOS 上,实际的对应做法是应用内的按需规则或第三方防火墙。
当握手始终不成功
症状总是一样:隧道显示已启用,客户端显示有发送字节,但接收字节为零或接近零,最近一次握手的时间始终不更新。WireGuard 按设计就是沉默的,不会给你报错,所以只能用排除法诊断。
UDP 被封是最常见的原因,且远超其他。WireGuard 只走 UDP,而酒店、机场、企业和校园网往往只放行 80 和 443 端口上的 TCP。没有任何 WireGuard 设置能解决这一点,因为该协议无法跑在 TCP 上。答案是切换到 443 端口上的 TCP 版 OpenVPN,它就在同一个账户、同一个订单页面上;如果这也被封,就试 VLESS。
MTU 是第二个原因,表现不同:握手成功,小东西能打开,但网页加载到一半卡住,大文件下载停滞。这是分片问题。把 Interface 块里的 MTU 降到 1380,如果还卡就试 1280。移动网络,以及任何多了一层封装的链路,最容易出现这种情况。
DNS 是第三个。如果隧道已通、直接访问 IP 地址有响应,但域名一个都解析不了,那就是缺少 DNS 这一行,或者平台忽略了它,或者某个私有 DNS 设置覆盖了它。在 Android 上,请检查系统设置里的「私人 DNS」没有强制使用隧道之外的解析器。
在写信找我们之前还有两件小事值得看:设备时钟严重不准可能导致握手失败;同一套密钥被用不同名称导入了两次,在两条隧道同时开启时会产生令人困惑的行为。如果这些都没用,请把服务器名称和你看到的现象发给客服;一起排查之后若服务在任何服务器上都连不上,就予以退款。
围绕这份配置,账户还给了你什么
网络中的每一台服务器都提供 WireGuard 配置,而这张网络覆盖数十个国家。同一个账户还带有 OpenVPN 和 VLESS,正是这一点让上面那条故障处理路线可行而不只是纸上谈兵:UDP 被封的时候,替代方案你本来就有。
可以同时连接五台设备。流量不计量,端口是 1 Gbps,P2P 是允许的而不是被悄悄限速。方案从 7 天到 365 天,价格按方案显示在 /vpn/ 上,没有任何自动续费。续期就是在同一个订单页面上再付一次款,新的时长会叠加在当前到期日之上。
只接受加密货币付款,包含门罗币;没有账户、没有邮箱、没有身份核验。网络不保存日志:来源 IP 地址和连接时间戳不予存储,服务器从内存运行,重启即清空机器。这是对我们所能控制之事的描述,而不是在宣称 VPN 能让谁无法被追踪。
有一条警告属于这一页,因为常有人踩坑:安装 eSIM 时请把 VPN 关掉。eSIM 的下载必须直接连到运营商,中间夹着一条隧道,是配置文件装不上的最常见原因。
导入 WireGuard 配置并确认它能用
- 1
先装官方客户端
从 App Store、F-Droid、Google Play 或 wireguard.com 获取 WireGuard,Linux 上安装 wireguard-tools 包。趁你还有可用连接时先装好。
- 2
打开订单页面
输入你的八位魔法码。每一台服务器都会列出来,各自带一个二维码和一个 .conf 下载。
- 3
手机扫二维码,电脑下载文件
iOS 和 Android 上用「从二维码创建」。Windows、macOS 和 Linux 上请下载 .conf 再导入,因为这些客户端不识别二维码。
- 4
连接前先看 AllowedIPs
要让整台设备走 VPN,这一行应当是 0.0.0.0/0 和 ::/0。我们给出的配置已经是这样;如果你改成更窄的范围,就是选择了分流,只有那些目的地会走隧道。
- 5
启用并验证
打开隧道,然后在任意查询 IP 的网页上看看你对外显示的地址,并确认 DNS 已经不是本地的那个。接收字节数在增长,就说明握手成功了。
- 6
现在再导入两三台服务器
再来一台就近的,加一台别的区域的。以后网络出问题时切换是瞬间的事,你也不必在一条不通的连接上去打开订单页面。
问答
WireGuard 的 .conf 文件里到底有什么?
一个 Interface 块,含你的 PrivateKey、内部 Address、一行 DNS,有时还有 MTU;以及一个 Peer 块,含服务器 PublicKey、可选的 PresharedKey、Endpoint 地址与端口、AllowedIPs,通常还有 PersistentKeepalive 25。整条隧道就这些:没有用户名、没有密码、没有会话。
同一份配置可以用在多台设备上吗?
最好不要。一份配置就是一对密钥,两台设备同时用同一把密钥,会让服务器把会话在两者之间来回弹。你的订单页面为每台服务器都提供了配置,账户允许五个并发连接,所以请给每台设备一条属于它自己的隧道。
WireGuard 有终止开关吗?
协议里没有。在 Windows 上,官方客户端提供 Block untunneled traffic,那是真正的终止开关。在 Android 上,可以用系统设置里的「始终开启 VPN」加「阻止没有 VPN 时的连接」达到同样效果。iOS 上没有真正的终止开关,Linux 上则要用 PostUp 和 PostDown 里的防火墙规则自己搭。
隧道显示已启用但什么都打不开,先查什么?
看接收字节计数和最近一次握手的时间。如果接收一直是零,那个网络上几乎可以肯定封了 UDP,你应该改用 443 端口上的 TCP 版 OpenVPN。如果握手成功但网页加载到一半卡住,把 MTU 降到 1380,再试 1280。
VPN 明明在用,为什么 DNS 还在泄露?
因为 DNS 与路由是分开设置的。请确认 Interface 块里有 DNS 这一行,并且设备上没有东西覆盖它,尤其是 Android 的「私人 DNS」设置和企业配置强制的解析器。缺了那一行,流量虽然加密,你的查询仍会一一说出你访问的站点。
可以把配置放到路由器上吗?
可以,只要路由器支持 WireGuard,OpenWrt、OPNsense、pfSense、MikroTik 以及一些原厂固件都支持。手动填入相同的参数,或者在固件允许的地方直接导入文件。路由器上的隧道算作你五个连接中的一个,并覆盖它后面的所有设备。
PersistentKeepalive 有什么用?
它每 25 秒发一个小包,让你与服务器之间做 NAT 的设备保持映射不过期。没有它,隧道在空闲几分钟后可能安静下来,入站数据包不再到达,直到你主动发出点什么。除非有理由关掉,否则请保持开启。
续期后会拿到新的配置吗?
不会,原来的配置继续可用。续期是把新的时长加在当前到期日之上,凭证不变。想要更多时间时,用同一个魔法码打开订单页面即可。
安装 eSIM 时应该开着 VPN 吗?
不应该,请关掉。eSIM 的下载必须直接连到运营商,中间夹着 VPN 隧道、私人中继或私人 DNS 设置,是 eSIM 配置文件装不上的最常见原因。等配置文件装好后再打开。
