WireGuard 已连接但无法上网:路由检查清单

WireGuard 已连接但无法上网:路由检查清单

Kevin Wu
2026年9月12日· 更新于 2026年9月13日· 8 分钟阅读

WireGuard 已连接但无法上网时,“已连接”只代表某个接口状态,不能证明互联网端到端路径可用。先确认普通网络,再让一个固定测试目标依次经过路由选择、peer 选择、转发、地址转换、回程和 DNS;这样不会用改 DNS 掩盖路由错误,也不会陷入随机改配置。

完整 VPN 指南介绍整个连接生命周期。本文只处理 WireGuard 接口已经启用、但互联网目标不可用的场景。

关键要点

  • 修改前同时记录一个 IP 目标和一个域名目标的失败现象。
  • AllowedIPs 同时参与系统路由与 peer 选择,并不只是访问控制列表。[3]
  • IPv4、IPv6 与 DNS 可能走不同路径,必须分开验证。
  • 全隧道客户端还依赖网关转发、NAT 或明确回程路由,以及防火墙状态。
  • 第一个假设被证伪后就暂停,只改一个可逆变量;结果不变便恢复原值。

怎样判断 WireGuard 已连接但无法上网?

接口启用仅证明系统接受配置。latest handshake 更新证明双方刚完成身份验证;计数只说明曾收发加密包。任何一项都不能证明当前请求选中正确 peer、穿过网关、取得回应并返回应用。

wg 可以显示 peer 公钥、端点、允许地址、最近握手和累计传输量。[2]这些是彼此独立的证据,不能压缩成一个绿色状态。WireGuard 的 cryptokey routing 会用目的地址选择出站 peer,并只允许接收 peer 声明分配给它的源地址。[3]wg-quick 还可从 AllowedIPs 推导系统路由,并对默认路由采用特殊处理。[1]因此,接口存在时仍可能缺路由、被更具体路由覆盖、落入另一张策略表或选错 peer。

观察已证明尚未证明
接口已启用本地接口建立完成peer 身份验证与路由
握手时间更新双方最近完成验证当前测试包会走该 peer
只有 TX 增长本机发出加密包对端接收、转发与回程
只有 RX 增长peer 可传入部分流量当前请求选中正确路由
TX、RX 都增长隧道双向传输发生DNS 与最终应用正常
IP 可用、域名失败至少一条 IP 路径可用解析器选择与 DNS 可达性

七步路由清单

步骤 1:冻结普通网络基线

用受支持的方式暂停隧道,在同一物理网络测试门户登录、一个已知 IPv4 地址、一个已知 IPv6 地址和稳定域名解析,并确认系统时间。普通网络已坏时应先修复或更换网络,不能靠削弱隧道绕过故障。

选择你获准测试的固定目标,记录地址、协议与时间。Ping 被禁不等于全部流量失败;网页请求、名称查询和路由查询回答的是不同问题。结构化连接测试说明如何保留这些差别。

保存原始接口配置、有效路由、策略规则、解析器状态与计数,作为回滚依据。共享证据前删除私钥、PSK、完整配置、账号标识和无关浏览信息。普通网络失败或你无权检查设备、网关时,应在此停止。

步骤 2:确认目标确实进入隧道

让操作系统回答这个确切目标会使用哪一接口、下一跳、源地址和路由表;域名解析后还要逐个检查返回的地址族,不能从图标推断路径。

全隧道配置应覆盖预期 IPv4,以及配置承诺覆盖时的 IPv6。分流配置则只让声明的私网或服务前缀进入 WireGuard。若互联网本就设计为隧道外流量,公网 IP 不变可能是正确结果;可参阅连接后 IP 不变的判断方法。

把有效路由与选中 peer 的 AllowedIPs 对照。AllowedIPs 专题解释前缀重叠;这里要回答的是:目标是否只命中预期 peer,还是被更窄路由、另一 peer、本地子网、策略规则或排除项抢先匹配?

使用 wg-quick 时,路由通常由允许地址推导,而默认路由可能通过策略路由和防火墙标记实现,而不是在主路由表中明显替换默认路由。[1]请检查平台的实际状态,不要假定 0.0.0.0/0 一定出现在某张熟悉的路由表里。

在此停止:当路由指向预期隧道之外,或选中了错误的 peer 时,只通过受支持的配置修正这一条路由或 peer 映射,复测一次;如果路由结果不变,就回滚。

步骤 3:把 DNS 与数据路由分开

先用记录好的数字 IP 测试,再查询当前解析器,并分别测试每个 IPv4、IPv6 结果。IP 成功而名称失败时,优先检查解析器地址、可达性、搜索后缀、缓存,以及该解析器应位于隧道内还是隧道外。

解析器可能通过 IPv4 可达,而应用却优先使用一个不可达的 IPv6 答案。它也可能由接口辅助工具安装,却被按域或按接口的解析器策略覆盖。请记录为该查询名称实际选中的解析器,而不只是配置文件里写的地址。

不要通过在受管理配置中写入任意公共解析器来“修复”症状。这可能泄露查询、破坏内部域名,或违反网络政策。任何临时、获准的对照之后,都要恢复原来的解析器。

步骤 4:把 IPv4 与 IPv6 当作两条路径

分别对明确的 IPv4、IPv6 目标记录路由、源地址、TX/RX 增量和结果。IPv4 进隧道而 IPv6 留在物理接口、没有路由或到达不转发 IPv6 的网关,是常见的半可用状态;反向情况也可能发生。

若配置要覆盖双栈,两种地址族都必须具备客户端路由、peer 允许前缀、服务器转发、防火墙和回程。IPv4 网关常用 NAT,但 NAT 不是必需条件:上游知道客户端前缀时,纯路由方案同样可行。IPv6 通常依赖路由,不应默认用地址转换掩盖缺失回程。

如果服务或配置只承诺覆盖一种地址族,不要为另一种凭空编造覆盖。按产品或管理员的文档化政策防止非预期泄漏,并把缺失的地址族作为配置需求升级处理,而不是临时拼凑系统级规则。

步骤 5:检查网关转发与源地址处理

客户端数据进入 WireGuard 后,网关仍需把它转向互联网。确认相关地址族和接口方向已启用转发,再确定设计使用源 NAT、路由客户端前缀或其他明确回程机制。

NAT 方案要确认规则命中实际客户端前缀和出口接口;旧接口名、旧前缀或错误地址族会让握手正常而回应无法回到客户端。路由方案则要确认上游路由器有一条经由网关返回 WireGuard 客户端网段的路由。

不要仅仅因为某个教程用了全局 masquerade 规则就照搬。它可能掩盖原本设计的路由方案、影响无关流量,并让之后的诊断更困难。只做与文档化拓扑相符、范围最小且获得授权的改动。

步骤 6:沿回程与防火墙找第一个断点

客户端 TX 增长而服务器 WireGuard RX 不动,应查外层路径、端点和 peer 映射,而非先改网关 NAT。服务器 RX 增长但出口无包,应查转发和防火墙。请求已出站但无回应,应查目标、上游、转换状态与过滤;回应到达服务器而客户端 RX 不动,则查返回 peer、允许源前缀和隧道防火墙。

状态防火墙可允许握手,却因转发流量经过不同链或方向而拒绝数据。只比较与所记录探针相关的窄规则计数。不要关闭整个防火墙;临时的大范围放行既改变了风险边界,也会破坏“到底是哪条规则起作用”的证据。

本地防火墙同样重要。数据包可能已经经 WireGuard 返回,却在到达应用之前被拒绝。把接口计数与获准的本地抓包或规则计数对照,然后立即恢复任何测试规则。

步骤 7:复测完整路径并回滚实验

修正第一个已证明的错误后,重复同一 IP 请求、DNS 查询和应用请求,再次确认路由、源地址和新鲜 TX/RX 增量。若双栈在范围内,再测另一地址族。

恢复所有未解释结果的临时 MTU、路由、DNS、防火墙与策略规则。只有变更属于受支持的持久配置且影响已被理解时才保留。小请求成功而较大传输仍停滞时,应转入 WireGuard MTU 排查,不要继续改路由。

托管 VPN 应用能帮你定位故障吗?

托管客户端可以为这份清单的第一步提供快速对照。在同一台设备上安装 AethoVPN,开启全局模式连接,然后打开一个已知可用的网站:如果它能加载,而你自己的 WireGuard peer 显示已连接却无法上网,说明设备网络栈和接入网络都正常,故障在你的 peer 的路由、DNS、转发或 NAT 上。如果两者都失败,先查本地网络或防火墙,再动 peer。该应用文档说明的是连接状态和全局模式开关,而不是原始 WireGuard 配置、peer 表或网关规则,所以更深入的步骤仍由管理你服务器的人负责。可下载适用于你平台的客户端来做这项对照测试。

总结

  • 先证明普通网络,再调查隧道。
  • 对一个确切目标查询有效路由,并与 peer 选择对照。
  • 分开测试域名、数字地址、IPv4 与 IPv6。
  • 网关必须具备转发,以及有效 NAT 或明确的路由回程。
  • 用逐跳、逐方向计数定位,不能通过关闭安全控制获得结果。
  • 用同一探针复测,并恢复没有改变证据的所有实验。

常见问题

WireGuard 没有最新握手也会显示已连接吗?

会。有些接口或应用用“已连接”表示接口和配置处于启用状态。应分别检查最近握手时间和新的传输增量。

AllowedIPs 中有 0.0.0.0/0 就一定能上网吗?

不能。它可让 peer 匹配全部 IPv4 目标并触发路由,但转发、防火墙、源地址处理、回程和 DNS 仍须成立。

为什么 IP 地址可用而网站域名失败?

这首先指向 DNS 选择或可达性。检查真正使用的解析器、全部返回地址和按接口 DNS 规则,再考虑隧道路由。

为什么 IPv4 可用而 IPv6 失败?

两种地址族有独立路由、允许前缀、转发、防火墙与回程。一个成功结果不能代表另一条路径。

WireGuard 服务器一定需要 NAT 吗?

不一定。NAT 常用于私有 IPv4 客户端地址;若上游有返回客户端前缀的正确路由,纯路由设计也可工作。

可以关闭防火墙测试路由吗?

不应这样做。使用路由查询、接口计数和窄规则计数;关闭整套防火墙既扩大风险,也会破坏定位规则的证据。

什么时候应停止修改路由?

同一探针已进入正确 peer 并双向返回后停止。仅域名失败转查 DNS;仅大包失败转查 MTU;身份验证不是最新则诊断握手。

免责声明:本文仅提供一般技术排障信息。只在你获准管理的系统上修改路由、转发、NAT 和防火墙策略,并保留回滚途径。

来源:

  1. WireGuard Tools, "wg-quick(8)": https://git.zx2c4.com/wireguard-tools/tree/src/man/wg-quick.8
  2. WireGuard Tools, "wg(8)": https://git.zx2c4.com/wireguard-tools/tree/src/man/wg.8
  3. WireGuard, "WireGuard: Next Generation Kernel Network Tunnel": https://www.wireguard.com/papers/wireguard.pdf

Sources checked 2026 年 9 月 12 日。


延伸阅读:

开启 3 天免费试用

注册即可免费体验全部高级功能。

*仅限新用户;每位用户只能获得一次试用。

WireGuard 已连接但无法上网:路由检查清单 | AethoVPN