导入隧道并激活
- 从下载页安装 Windows 客户端 1.1.1。继续之前请核对 MSI 大小。
- 打开 WireGuard。如果托盘界面尚未运行,管理器服务会启动它。
- 选择 Import tunnel(s) from file(从文件导入隧道)。
- 选取一个 .conf 文件,或装有多份配置的 .zip。
- 选中隧道并按下 Activate(激活)。
- 确认状态显示 Active(已激活),并且对端显示最近一次握手时间以及传输量。
1.1.1 会拒绝该次导入中的重复隧道名。请改名后再试。为什么名称会被拒绝
5 秒后握手没有完成
2021年4月邮件列表上的一份报告,客户端为 0.3.11,在对端公网地址的 ping 仍然正常时出现了这一行。重启隧道几乎每次都能清掉,涉及大约十几台 Windows 机器。
- 打开 Log(日志)选项卡,或运行
wireguard /dumplog。
- 找到写着握手在 5 秒后没有完成的那一行对端记录。
- 放行到达 Endpoint 中主机和端口的 UDP。51820 只是常见示例。
- 如果该对端在 NAT 之后,把该对端的 PersistentKeepalive 设为 25。不需要时保持为 0。
- 按下 Deactivate(停用),然后再按下 Activate。
- 如果装了第三方防火墙,只暂停到足以看出握手是否随后完成,然后再打开它。
隧道中断后互联网停了
当隧道只有一个对端,且该对端的 AllowedIPs 包含 0.0.0.0/0 或 ::/0 时,会打开 Block untunneled traffic。阻断是为了让数据包不要泄到普通连接上。这也意味着隧道断开时会像没有网络。
- 打开 WireGuard,检查隧道是否使用 0.0.0.0/0 或 ::/0。
- 按下 Deactivate。阻断与该隧道绑定。
- 如果想要默认路由,又不想要那些防火墙规则,把 0.0.0.0/0 换成 0.0.0.0/1 和 128.0.0.0/1。
- 把 ::/0 换成 ::/1 和 8000::/1。编辑器复选框会切换成这种形式。
- 再次按下 Activate。测试一个应留在本地的地址,以及一个应走隧道的地址。
关于这个开关本身的更多说明在Windows 客户端一节。
只在 NAT 之后设置 PersistentKeepalive
- 在隧道里修改该对端。
- 仅当此对端必须在路径安静后接受新会话,并且它位于 NAT 或有状态防火墙之后时,才添加 PersistentKeepalive = 25。
- 其他所有情况把值留为 0。这是项目默认值。
- 保存,停用,再激活,让正在运行的服务读到这次修改。
杀毒软件隔离了 wireguard.exe
不要把每一次标记都当成无害,也不要把每一次标记都当成恶意软件的证据。先把文件和已公布的构建对比。
- 在文件表上阅读版本和大小。客户端 1.1.1 的 amd64 与 x86 为 3.3 MB,arm64 为 2.9 MB。
- 如果大小或版本不符,不要恢复该文件。请删除它。
- 如果相符,你遇到的是 2021年5月那类报告:McAfee 在更新后隔离 wireguard.exe,下一次哈希变化时例外失效。
- 恢复或允许这个相符的文件,然后在下次更新后再检查例外名单。
- 如果服务仍然无法启动,阅读 Log 选项卡或运行
wireguard /dumplog。
无恶意软件说明用直白的话解释了同一条界限。
ping 正常,但 HTTP 不行
2023年12月的一份报告,客户端 0.5.3、系统 Windows 10,称 G Data 支持把这种组合叫做根本性不兼容。ping 通,有时 SMB 也通。HTTP 不通。他们的变通办法是关掉防火墙、连上,然后再启用。他们没有承诺改产品。
- 记下你的客户端版本。那份报告是 0.5.3,不是 1.1.1。
- ping 隧道内的一台主机。如果 ping 通而浏览器不通,防火墙可能把隧道和 ICMP 区别对待。
- 把防火墙先关再开只当作一次短检查。检查结束后让防火墙保持打开。
- 如果 1.1.1 仍出现这种分离,在继续改更多设置之前先保存
wireguard /dumplog。
避开常见陷阱的做法
- 私钥
- 不要放进电子邮件和截图。管理器把导入内容存为供 Local System(本地系统)使用的 .conf.dpapi。
- 分流隧道
- 互联网其余部分应走普通路由时,AllowedIPs 里只列局域网。
- 不要终止开关的全路由
- 用 /1 地址对,不要用 /0。编辑器里的复选框就是这样做的。
- 重装之前
- 把隧道导出为 zip。DPAPI 加密之后,明文文件会被删除。
- 预共享密钥
- 仅当服务器给了你 32 字节秘密时才添加。否则把该字段留空。
- 脚本
- PreUp、PostUp、PreDown 和 PostDown 仅在允许它们的管理员注册表项已设置时运行。