快速解答

  • 一句话结论:延迟高不一定是节点差,DNS 解析慢或被污染同样会让"延迟"虚高,先排查 DNS 再换节点。
  • 适合谁:换了多个节点延迟依然偏高、部分网站打开慢但测速正常的人。
  • 关键提醒:优先用客户端内置的 DNS 设置做远程解析,别在系统层和客户端层混用两套 DNS。

很多人测节点有个习惯:ping 值高就换节点,换了三四个还是高,就开始怀疑人生。但 ping 测的是 ICMP 到节点的延迟,而你真实上网的每一步——打开网页、加载图片、App 拉数据——第一步都是 DNS 解析:把域名翻译成 IP 地址。

如果 DNS 这一步慢了或者被干扰了,你感受到的"慢"会被全部算到节点头上。

DNS 是怎么拖后腿的

上网的流程简化一下是这样的:

  1. 你输入网址,系统先问 DNS:这个域名对应哪个 IP?
  2. 拿到 IP 后,才通过代理节点去连接。

第 1 步如果出问题,有几种表现:

  • 解析慢:DNS 服务器响应慢,每次打开新网站都要等,白白加上几百毫秒。
  • 解析被污染:返回的 IP 是错的,连接超时或绕远路,表现为某些网站打不开、加载奇慢。
  • DNS 泄露:解析请求没走代理,直接暴露给本地运营商。之前写过一篇《DNS 泄露:你可能在裸奔》,讲的就是这个。

关键是:这些问题的表象都是"慢"和"打不开",很容易被误判成节点质量问题。

怎么判断是 DNS 的问题

三个简单的判断方法:

第一,看症状是否"挑网站"。 如果只是某些网站慢、某些正常,节点本身大概率没问题——同一个节点,去不同网站走的是同一条路,路没问题,那就是"问路"(DNS)的问题。

第二,对比 IP 直连。 找个你知道 IP 的网站(或者先用正常网络查好 IP),直接访问 IP。如果 IP 直连飞快、域名访问慢,基本可以锁定 DNS。

第三,看客户端的 DNS 设置。 很多客户端默认是"本地解析",也就是用你系统/运营商的 DNS。这在国内环境下是最容易被污染的一种。改成远程解析(通过代理去解析),很多莫名其妙的慢会直接消失。

优化思路

思路就三条,按顺序来:

  1. 用远程 DNS 解析:在客户端设置里找到 DNS 相关选项,选择通过代理节点解析(Fake-IP 或 Remote DNS)。这是最关键的一步。
  2. 别混用两套 DNS:系统 DNS 和客户端 DNS 只留一套生效。两套混用会出现解析结果不一致,时快时慢,最难排查。
  3. 换可信的上游:如果客户端允许自定义上游 DNS,选大厂的公共 DNS,别用不知名的小服务。

延伸:换节点前先做这两步

以后再遇到延迟高,别急着换节点,先做这两步:

  1. 按上面的方法判断是不是 DNS 问题,是就修 DNS。
  2. 确认不是 DNS 问题,再换节点,而且换的时候一次只换一个——参考晚高峰排查里的思路。

排查问题的通用原则:一次只动一个变量。今天调了 DNS,明天再换节点,你才知道到底是哪个起了作用。两个一起换,好是好了,但你永远不知道原因,下次还得抓瞎。

一个常见误区

有人看到延迟高,第一反应是开 TUN 模式"全局接管"。TUN 解决的是"有些流量没走代理"的问题,之前讲 TUN 的文章里说过它的适用场景。但如果根因是 DNS,TUN 开了也白开——解析慢的问题还在,只是换了个地方慢。

排查永远是先定位再动手。延迟高的时候,花五分钟按上面的方法判断一下是节点还是 DNS,能省掉很多无效的换节点操作。