先把结论放在前面:验证 VPN 是否生效,不需要任何专业工具,只需要按顺序确认三件事——外部站点看到的出口 IP 变了没有、域名解析由谁完成、目标应用的实际流量走了哪条路。三步里任何一步没走线路,就不能算生效,哪怕客户端界面一直显示「已连接」。

客户端显示「已连接」只是本机状态

点下连接按钮之后,客户端界面会立刻变成「已连接」。这个状态说明的是本机进程已经加载配置、和线路对端建立了会话,它并不等于你的流量真的从那条线路出去了。中间还隔着两个环节:系统有没有把流量交给隧道,以及域名解析是不是也跟着走了。

把「生效」拆成三层来看,问题会清楚很多:

  • 本机状态:进程在运行,界面显示已连接,没有报错提示。
  • 隧道接管:虚拟网卡或系统代理设置把目标流量送进隧道,而不是从本地网卡直接出去。
  • 出口与解析:外部站点看到的来源地址是线路出口,域名解析也由隧道一侧完成。

三层里任何一层没接上,都会出现「客户端说连上了,实际没走线路」的情况。客户端的工作模式决定了接管范围:系统代理模式只作用于读取系统代理设置的程序,多数浏览器在列,但命令行工具和一些自带网络栈的应用不一定在;虚拟网卡模式接管整机流量,或者按分流规则接管指定流量,覆盖面更完整,也是后面三步验证能对得上的前提。

验证层级看什么通过标准常见误判
本机状态 客户端进程与连接角标 显示已连接、无报错 把「已连接」当成整条链路都正常
隧道接管 路由表与虚拟网卡 存在指向隧道的默认路由,或规则命中目标流量 系统代理模式下只有浏览器走了代理
出口 IP 外部回显的地址与归属地 与所选线路所在地区一致 只测了浏览器,没测其他程序
DNS 解析 解析请求由谁发出 解析器归属与出口地区一致 出口变了,解析仍由本地递归解析器完成
分应用 目标程序的实际出口 该走线路的应用确实走了线路 分流规则只匹配了域名,漏掉进程或 UDP 流量

第一步:查出口 IP,确认流量从哪出去

出口 IP 是最直接、也最不容易自欺的一项:外部站点看到的来源地址,要么是你的本地网络,要么是线路出口,两者不会含糊。测之前先断开连接记录一次基线,再连接线路复测一次,两次结果对比即可。

浏览器打开回显类页面可以快速看到结果,但浏览器可能装了代理类扩展,也可能缓存了上一次的响应。要更干净,用命令行查询,它不受浏览器设置影响:

# macOS / Linux
curl -4 https://api.ipify.org
curl -6 https://api64.ipify.org

# Windows PowerShell
Invoke-RestMethod -Uri "https://api.ipify.org?format=json"

完整的操作顺序是:

  1. 断开连接,记录本地出口 IP、归属地与运营商(ASN),作为基线。
  2. 连接线路,重新查询,确认地址与归属地都发生了变化。
  3. IPv4 与 IPv6 各查一次,两边都应该指向线路出口,而不是一边走线路、一边直连。
  4. 换一个回显站点再测一次,排除单个站点判断偏差。
120+ 线路覆盖国家
180+ 可选国际线路
30 天 无理由退款窗口
归属地不符,先换节点

出口 IP 的归属地取决于你实际选中的是哪一条线路。同一国家可能有多条线路,城市与运营商不同,回显的 ASN 也不同。归属地与预期不符时,先在客户端里确认选中的节点,再判断是不是验证方法的问题。

第二步:查 DNS 泄漏与解析归属

出口 IP 换了,域名解析却可能还留在本地:解析请求没有进隧道,而是由本地网络提供的递归解析器完成。结果是外部站点看到你的地址在境外,但通过域名判断你的位置时又得到本地答案,表现为内容地区不对、部分服务要求二次验证,或者某些站点干脆打不开。

怎么查解析走了谁

先访问任意 DNS 检测页面,看返回的解析器地址与归属;再用命令行做一次交叉验证。下面两条命令都会返回处理这次查询的解析器地址,把它和出口 IP 对比即可:

# macOS / Linux
dig +short TXT whoami.ds.akahelp.net

# Windows
nslookup -type=TXT whoami.ds.akahelp.net

解析没走隧道的三个常见原因

  • 系统或浏览器开了加密 DNS:DoH / DoT 打开后,解析请求直接发往指定的公共解析器,绕过了隧道下发的 DNS 设置。
  • 隧道只接管了 TCP 流量:DNS 查询默认走 53 端口的 UDP,如果规则只覆盖 TCP 80 / 443,解析就会从本地出去。
  • 分流规则把解析判成了直连:规则按域名或 IP 匹配时,解析请求命中了直连分支。
测之前先关掉加密 DNS

浏览器里的「安全 DNS / 加密 DNS」和系统里安装的第三方 DNS 工具,都会让解析结果看起来和隧道的真实行为不一致。先把它们关掉再测,测出来的结论才有意义。

处理方式按平台略有差别:桌面端在客户端里开启「DNS 走隧道」或使用隧道内置解析,然后重测;Android 上如果开了系统的「私人 DNS」,解析会交给指定的加密解析器完成,结果可能与隧道下发的解析器不同,验证前先设为「自动」;iOS 上如果装了带 DNS 设置的配置描述文件,检查它是否覆盖了客户端的解析设置。

第三步:分应用验证,只让该走的走

前两步都对,仍然可能遇到「浏览器正常、某个应用不走线路」。原因是分流规则:它按域名、IP 段或进程名决定哪些流量进隧道,规则写对了不代表目标应用就命中。分应用验证的目的,就是把这个环节单独拎出来测。

  1. 临时把客户端切到全局模式(所有流量走线路),打开目标应用确认能否正常使用。
  2. 全局下正常、规则模式下异常,说明问题在规则,不在线路本身。
  3. 回到规则模式,逐项补齐:目标域名、必要的 IP 段,以及进程名。
  4. 语音、联机、直播类应用要确认规则覆盖 UDP,否则会出现「网页能开、语音连不上」。
  5. 测完把模式改回日常档位,不要长期停在全局。

这里容易踩的坑是协议与 UDP。Shadowsocks、VMess、Trojan、VLESS 能否转发 UDP,取决于服务端与客户端的具体实现;Hysteria2 与 TUIC 基于 QUIC,本身就跑在 UDP 上,转发 UDP 流量更自然。如果规则只代理 TCP,浏览器基于 QUIC 的请求(UDP 443)要么回退到 TCP,要么直接走直连,表现出来就是「连接是通的,某个站点的行为却像没走线路」。

看起来连上了其实没走:六种典型情况

把三步验证里最容易出问题的表现整理成一张对照表,遇到异常时按行排查即可。

现象可能原因处理
客户端显示已连接,出口 IP 与断开时完全相同 系统代理模式只接管了浏览器,或规则没有命中当前程序 切到全局模式重测,确认接管范围后再回到规则模式
网页能打开,语音、联机或直播连不上 UDP 流量没有进隧道,QUIC 与语音都走 UDP 确认协议与规则覆盖 UDP,必要时先关闭浏览器的 QUIC 再测
出口 IP 已变,部分站点仍显示本地内容 DNS 解析没有走隧道 关掉系统与浏览器的加密 DNS,改用隧道内解析后重测
重启客户端后又回到本地出口 路由被其他虚拟网卡、防火墙或安全软件改写 退出冲突软件,重连后复查路由表
只有某一个应用不走线路 分流规则按域名或进程匹配,漏掉了它 在规则里补上对应域名或进程,或临时用全局模式验证
IPv6 站点显示本地地址 隧道只接管了 IPv4,IPv6 从本地直连出去 关闭 IPv6,或改用支持双栈的线路

六种情况都排除之后,用这份清单确认一遍,全部通过才叫真的生效:

  • ✅ 断开与连接两次的出口 IP 不同,归属地与所选线路一致
  • ✅ IPv4 与 IPv6 查询返回同一方向的出口
  • ✅ DNS 解析器归属与出口地区一致
  • ✅ 目标应用在全局模式下可以正常使用
  • ✅ 回到规则模式后,目标应用仍然走线路
  • ❌ 只测了浏览器就下结论
  • ❌ 隧道开着,IPv6 站点仍显示本地地址
判断标准:出口 IP、DNS 解析、目标应用三项里有一项没走线路,就不算生效。三项都对,再去谈速度与稳定性。

各平台的验证方式差异

三步验证的顺序在所有平台上都一样,区别在于你能拿到多少系统信息。桌面系统可以查路由与解析状态,移动端主要靠外部回显页面和客户端内的连接诊断。

Windows

系统代理模式与虚拟网卡模式的差异在 Windows 上最明显:前者只影响读取系统代理的程序。route print 可以查看默认路由是否指向隧道网卡,ipconfig /all 能确认虚拟网卡状态;浏览器如果开着 QUIC,需要单独关闭后再测 UDP 相关场景。

macOS

scutil --dns 查看当前生效的解析器顺序,networksetup -getwebproxy Wi-Fi 确认系统代理是否被接管;配合 curl -4curl -6 就能把出口验证做完。

iOS 与 Android

移动端没有命令行,验证靠浏览器回显页面加客户端内的连接状态。Android 上如果开了「私人 DNS」,先设为「自动」再测;iOS 上如果装了带 DNS 设置的配置描述文件,检查它是否覆盖了客户端的解析设置。

Linux

ip route 看默认路由、resolvectl status 看解析器、curl 查出口,三条命令覆盖全部三步验证。

订阅链接需要登录后获取

各平台客户端界面不同,但都通过订阅链接导入线路:登录后在面板里获取订阅地址,导入客户端,再按出口 IP → DNS → 分应用的顺序验证一遍。订阅链接等同于账号凭据,不要截图外发或在公开场合粘贴。

验证通过之后要做什么

验证本身只花几分钟,但把结果留下来,下次遇到问题能省更多时间。

  • 记下基线:断开时的出口 IP、连接后的出口 IP 与解析器归属,各记一行。异常时直接对照,能立刻判断是哪一层出了问题。
  • 换环境后复测:换网络、系统大版本更新、安装新的安全软件之后,重走一遍三步验证。
  • 地区不符先换节点:不同线路的出口归属不同,先换节点,再判断是不是客户端设置的问题。
  • 保管好订阅链接:它等同于账号凭据,泄露后应在面板里重置。

本服务提供 120+ 国家、180+ 线路,不限台数,30 天无理由退款。线路状态可以在服务器页面查看;如果三步里某一步始终过不去,也可以先对照故障排查文档逐项核对。