「VPN 连上了没生效」是新手最常见的一类困惑:客户端明明显示已连接,网页还是打不开,或者打开后看到的还是本地地址。判断方法其实很朴素——看流量到底从哪个地址出去。这篇教程按出口 IP、DNS 解析、分应用验证三步走一遍,每一步都给出具体操作和判断标准,看完你可以自己判断问题卡在哪一层。

3 步自检:出口 IP → DNS 解析 → 分应用
2 次对比:连接前后各查一次出口 IP
1 条标准:出口地址变了,才算流量真的走了

连上≠生效:先看清流量走没走

客户端里的「已连接」,说明的是客户端和服务端之间的加密通道建好了,也就是隧道通了。它并不保证你系统里的每个程序都从这条隧道出去。这两件事经常被混为一谈,于是就有了「显示已连接但没生效」的困惑。

加速客户端接管流量的方式主要有三种,各自的覆盖范围不一样:

所以「连上但没生效」,多数时候不是线路坏了,而是接管范围没覆盖到你要用的那个程序。先把这一点想清楚,后面的排查就是逐个确认。

用系统代理模式时,终端里的 curl、部分桌面软件不读系统代理,它们的流量仍然是直连。这不是故障,是这种模式本身的覆盖范围决定的。

第一步:查出口 IP 有没有变

出口 IP 就是外部网站看到的「你」。对比连接前后的出口 IP,是最直接、也最难出错的判断方式。

  1. 先断开加速,打开任意 IP 查询页面,记下当前的出口 IP 和归属地。
  2. 连接加速,刷新同一个页面,再记一次。
  3. 两次地址不同,且第二次的归属地是你选的那个地区,说明流量已经走了隧道。
  4. 两次完全一样,说明你正在用的这个程序根本没走隧道,继续往下看。

不想开网页,也可以用系统自带的命令行查询:

# macOS / Linux
curl -s https://api.ipify.org

# Windows PowerShell(Windows 10 / 11 自带 curl.exe)
curl.exe -s https://api.ipify.org

# 想看运营商和城市,换成这个
curl -s https://ipinfo.io/json

命令行查出来的结果和浏览器不一致,是很常见的现象:浏览器读系统代理,终端不读。这个差异本身就有用,它能帮你判断客户端当前工作在哪种接管模式。

出口 IP 完全没变,通常出在这几个地方:

第二步:查 DNS 有没有泄漏

DNS 负责把域名翻译成 IP 地址。如果隧道接管了网页流量,但域名解析仍然发给本地运营商,就会出现「能连上、但打开的站点不对,或者干脆打不开」,这就是常说的 DNS 泄漏。

两种查法,任选一种:

分流模式下,国内域名走本地 DNS 是设计的一部分,不算泄漏。判断是否泄漏,只看你访问的境外域名是不是也从境外出口解析。

如果确认解析确实走了本地,按顺序处理:

  1. 在客户端里打开 DNS 接管,有的客户端叫「DNS 保护」或「加密 DNS」。
  2. 浏览器如果开了「安全 DNS / DoH」,先关掉,或者把它设置成与客户端一致,它可能绕过客户端的 DNS 接管。
  3. 改完重连一次,再跑一遍上面的检查,看解析出口是否已经变化。

第三步:按应用分别验证

同一个地址在不同程序里结果不一样,这是排查中信息量最大的一步。

浏览器

用无痕窗口打开目标站点。无痕能开、普通窗口不能开,多半是某个扩展在改请求,逐个停用就能定位到具体是哪一个。

终端

命令行不读系统代理。想让它走隧道,要么把客户端切到 TUN 模式,要么临时设一次环境变量,端口以客户端里显示的为准:

export http_proxy=http://127.0.0.1:7890
export https_proxy=http://127.0.0.1:7890
curl -s https://api.ipify.org

设完再查一次出口 IP,地址变了,说明终端也进了隧道。

桌面应用与移动端

「已连接但没生效」的常见情况与对策

现象 可能原因 处理
出口 IP 完全没变 客户端在系统代理模式,当前程序不读系统代理 切到 TUN / 虚拟网卡模式,或在程序里手动填代理
只有某一个应用打不开 分应用代理名单里没有它 把它加进名单,或改成全局接管
网页能打开,但内容不对 域名被分流规则判成了直连 检查规则,把该域名放进代理列表
解析结果指向本地 DNS 没走隧道,或浏览器安全 DNS 绕过 开启 DNS 接管,关掉浏览器的 DoH
连接后更慢、部分站点超时 同时开着两个代理工具,互相抢接管 只留一个,另一个连后台进程一起退出
用一会儿就断,要手动重连 系统休眠、省电策略切断隧道 关掉对应省电限制,打开客户端的自动重连

同一台设备上只保留一个代理工具。两个客户端同时运行时,后启动的那个会抢走接管,表现就是「刚连上还好,过一会儿又不行了」。

三分钟自检流程

把上面三步串成一条固定流程,以后每次换线路、换设备都照这个顺序走一遍:

  1. 断开连接,查一次出口 IP 和归属地,记下来。
  2. 连接加速,刷新页面,确认出口 IP 已变、归属地是所选地区。
  3. 打开 DNS 泄漏检测页面,确认解析出口也在境外,顺手关掉浏览器的安全 DNS。
  4. 用无痕窗口和终端各访问一次同一个目标站点,结果一致,说明系统级接管正常。
  5. 检查分应用名单和分流规则,确认目标应用和目标域名都在接管范围内。
  6. 三项全过就算真的生效;只有某一项不过,按上一节的对照表处理。

出口 IP 变了、DNS 出口在境外、目标应用能打开——三条同时满足,就可以确认这次连接真的生效了。

换线路之前,先确认这两件

三项自检里如果只有「打不开」过不去,很多人第一反应是换线路。换之前先确认两件事,能省下不少来回。

套餐与流量状态

月付套餐的流量按开通日每月重置;如果这个月的流量用完了,表现往往就是「连得上、打不开」。流量包是按量买的,用完为止、永久不过期,可以随时补。

线路类型的差别

换一条同地区的线路,再跑一遍出口 IP 检查:地址变了、站点能开,说明是原来那条线路的问题;地址还是不变,问题就还在本机设置上。

结论:判断「连上了有没有生效」只看三件事——出口 IP 变了、DNS 出口在境外、目标应用真的能打开。三条都过,就不必再改设置;某一条不过,基本都是接管模式、分流规则或第二个代理工具造成的,和线路本身关系不大。