开了代理国内网站变慢怎么办:规则没直连、DNS 走海外、Fake-IP 的影响与验证方法
开了机场代理之后淘宝、B 站、微信变慢,是国内流量没有走直连。本文讲规则模式没覆盖、DNS 被解析到海外、Fake-IP 对部分应用的影响、全局模式误开四种原因,以及怎么在客户端里验证国内流量确实走了 DIRECT。
问题的本质
代理客户端正常工作时,国内流量应该直接从你的宽带出去,不经过节点。开了代理之后国内网站变慢,说明这些流量被送到了海外节点,再从海外绕回国内。香港节点绕一圈多 50 ms,美国节点绕一圈多 200 ms,网页打开慢一倍、视频加载转圈、支付宝扫码等半天,都是这个。
四种原因,按常见程度排。
原因一:全局模式
最常见也最容易漏掉。客户端里有「规则 / 全局 / 直连」三个模式,全局模式下所有流量都走代理。有人为了解决某个网站打不开临时切到全局,忘了切回来。
处理:切回规则模式。只有在排查「某个网站规则没覆盖」时才临时用全局,用完就换回来。三种模式的区别见 代理模式说明。
原因二:规则里没有国内直连
规则模式靠一组规则决定每个请求走哪里。机场提供的订阅通常自带规则,但有些机场的默认规则很简陋,只写了几条流媒体和 AI 服务的分流,最后一条兜底是「MATCH,代理」,国内流量也就全走代理了。
自己配置的用户也可能漏掉国内规则。
判断方法:打开客户端的规则列表,找有没有这几条:
GEOIP,CN,DIRECT
DOMAIN-SUFFIX,cn,DIRECT
GEOSITE,cn,DIRECT
有 GEOIP,CN,DIRECT 且它排在 MATCH 之前,国内 IP 就会直连。一条都没有,或者排在 MATCH 后面(永远轮不到),国内流量就走代理了。
处理:换一个带完整规则的订阅转换模板,或者在客户端里手动加上这几条,放在 MATCH 之前。Clash 类客户端还可以订阅第三方规则集(ACL4SSR、blackmatrix7 等),自带完整的国内直连列表。
原因三:DNS 走了海外
规则没问题,但 DNS 解析走了海外,情况会变成这样:你访问一个国内网站,域名被海外 DNS 解析,返回的是它在海外的 CDN 地址(很多国内大站在海外也有节点)。这个地址不是中国 IP,GEOIP,CN 规则匹配不上,流量走了代理,去访问那个海外 CDN。结果就是国内网站从海外绕回来。
判断方法:在客户端连接面板里看国内网站的目标 IP,用 IP 查询站查一下归属地。显示在国外,就是 DNS 解析偏了。
处理:客户端 DNS 配置里,国内域名用国内 DNS(223.5.5.5、119.29.29.29),海外域名用加密 DNS。Clash 配置里对应 nameserver 和 fallback 的区分,或 Mihomo 的 nameserver-policy。机场订阅自带的配置通常已经做了这个区分,自己改过 DNS 的用户容易把它改坏。原理见 DNS 泄漏。
原因四:Fake-IP 的副作用
Fake-IP 是 Clash 类客户端的 DNS 模式之一:客户端对每个域名返回一个假 IP(198.18.x.x 段),由规则决定这个域名走哪里,真正的解析在节点那头做。它的好处是减少 DNS 泄漏、加快海外网站的解析。
但有些场景它会出问题:
- 部分 App 把解析到的 IP 缓存下来直接用,关掉代理后 App 还在访问假 IP,无法连接。
- 一些对 IP 做校验的应用(银行 App、部分游戏、网银 U 盾)在 Fake-IP 下工作不正常。
- 局域网设备发现(打印机、NAS、投屏)会被干扰。
这些表现不完全是「慢」,更多是「连不上」或「反应慢」,但常被归为同一类问题。
处理:Mihomo 配置里 fake-ip-filter 加上这些域名,让它们走真实解析。或者直接把 DNS 模式切到 Redir-Host,牺牲一点海外解析速度换兼容性。TUN 模式下 Fake-IP 的问题更明显,详见 TUN 模式问题排查。
怎么验证国内流量走了 DIRECT
嘴上说规则对了不算,要看连接面板。
Clash Verge、FlClash、Clash Party、Mihomo Party 都有「连接」页面,列出每一条正在进行的连接。打开淘宝、B 站,回到连接面板,找这些域名所在的行,看两列:
- 规则(Rule):显示命中的是哪一条,应该是
GEOIP(CN)或DOMAIN-SUFFIX(xxx.cn)这类。 - 代理(Chain):应该显示
DIRECT。显示节点名就是走了代理。
Shadowrocket 在「最近请求」里看,Surge 在「请求」面板看,原理相同。
另一个快速方法:开代理状态下打开一个国内 IP 查询站。显示的 IP 是你自己宽带的 IP 和城市,国内流量走的就是直连;显示节点所在地,就是走了代理。
国内网站用了海外域名怎么办
一些国内服务的资源放在 .com 域名下的全球 CDN 上,例如部分游戏下载、海外公司在中国的服务。这些域名既不是 .cn,解析出来的 IP 也可能在海外,规则按常理会把它送进代理。
两种处理:
- 发现哪个域名慢就加一条
DOMAIN-SUFFIX,域名,DIRECT,放在规则靠前的位置。 - 用维护完善的第三方规则集,它们已经把常见的这类域名归到了直连列表。
一次性配好
把上面几件事一次做完:规则模式、有 GEOIP CN 直连、DNS 国内海外分流、常用国内 App 域名直连。做完之后国内流量全部直连,速度和不开代理时一样,代理只在访问海外时介入。
想少折腾,选规则完善的客户端和带完整规则的机场订阅。客户端的选择见 Clash Verge 教程 和 FlClash 教程。
各客户端在哪里看连接面板
不同客户端的连接面板位置不同,列一下常用的:
- Clash Verge Rev:左侧菜单「连接」。每行显示域名、规则、代理链、上传下载。可以按域名搜索。
- FlClash:底部「连接」标签。点一条连接可以看到详细信息。
- Clash Party / Mihomo Party:左侧「连接」。
- Clash Meta for Android:主界面点「连接」或在侧边栏。
- Shadowrocket:底部「最近请求」页面,每条请求显示走的是 DIRECT 还是节点名。
- Surge:顶部「请求」标签,每条请求显示规则和策略。
- sing-box 类客户端(Hiddify、Karing):各有连接列表,位置在主界面或侧边栏。
看的时候打开一个国内网站,再切回客户端,找这个域名。几秒钟内连接会消失,要快一点。
手机上怎么处理
手机上国内 App 变慢更常见,因为很多 App 的域名不在常规的国内列表里,而且手机客户端的默认规则往往更简单。
iOS 上 Shadowrocket 和 Surge 的「配置」里有规则列表,确认有 GEOIP,CN,DIRECT 和 FINAL 的分流。Shadowrocket 的默认配置自带国内直连,但如果你导入了机场的自定义配置,可能被覆盖。
Android 上 Clash Meta for Android 的规则跟随订阅配置,和桌面端一样处理。另外 Android 的「分应用代理」可以直接把国内 App(微信、支付宝、淘宝、银行类)排除在代理之外,比写规则简单,也更保险。
两个平台共同的建议:银行类、支付类 App 直接排除在代理之外,不要靠规则。这些 App 对 IP 和网络环境敏感,走代理即便不慢也可能触发风控。
相关
常见问题
开代理后国内网站变慢,最常见原因是什么?
用了全局模式,或者规则模式里没有国内直连规则,所有流量包括国内网站都走了海外节点再绕回来。切到规则模式并确认规则里有 GEOIP,CN,DIRECT 这一条。
规则模式已经开了,为什么国内网站还是慢?
两个可能:DNS 走了海外解析,国内网站被解析到了海外 CDN 地址;或者某些国内网站用的是海外域名(如 .com 的 CDN),没被规则覆盖。看客户端连接日志,找出哪些国内请求走了代理。
Fake-IP 模式会让国内网站变慢吗?
一般不会,Fake-IP 下国内域名会被规则命中直连。但部分应用对 Fake-IP 返回的假地址处理不好(如一些银行 App、游戏、局域网设备发现),可以把这些域名加进 fake-ip-filter,或改用 Redir-Host。
怎么确认某个网站走的是直连还是代理?
在客户端的连接面板里找这个域名,看「规则」和「代理」两列。显示 DIRECT 就是直连,显示节点名就是走了代理。Clash Verge、FlClash 等都有这个面板。
为什么微信、支付宝开代理后发消息慢?
这类 App 的部分域名没在国内规则列表里,走了代理。在规则最前面加 DOMAIN-SUFFIX,qq.com,DIRECT、DOMAIN-SUFFIX,alipay.com,DIRECT 这类直连规则,或者让这些 App 绕过代理。
本文为信息整理与个人经验,不构成购买建议。机场政策与软件界面可能变化,以官方为准。发现过期内容请 联系纠错。