Skip to content

DNS 是什么?代理里的 DNS 设置怎么理解 ​

直接答案:DNS 是把网址(域名)翻译成服务器 IP 地址的系统。你在浏览器里输入一个网址,设备先要通过 DNS 查到它的 IP,才能真正发起连接。

在使用代理时,DNS 会影响三件事:

  1. 能不能打开网站:查到的 IP 是错的,网站就打不开;
  2. 分流准不准:规则模式下,客户端有时要靠 DNS 结果判断走代理还是直连;
  3. 隐私:DNS 查询如果没经过代理,你访问了哪些网站可能被本地网络看到,这叫 DNS 泄露。

对新手的建议很简单:使用客户端自带的默认 DNS 设置,不要随意修改。下面解释原理,让你在遇到问题时知道该往哪个方向查。各客户端里具体在哪里设置,见对应的 代理客户端教程。

1. DNS 的工作过程 ​

用打电话作比喻:域名是“联系人名字”,IP 地址是“电话号码”,DNS 就是通讯录。

你输入网址 example.com
        │
        ▼
设备问 DNS 服务器:"example.com 的 IP 是多少?"
        │
        ▼
DNS 服务器回答:"是 203.0.113.10"(示例地址)
        │
        ▼
设备连接 203.0.113.10,网页开始加载

几个相关概念:

概念含义
域名便于人记忆的网址,如 example.com
IP 地址服务器在网络上的实际地址
DNS 服务器负责回答“某域名的 IP 是多少”的服务器,通常由运营商自动分配,也可以手动指定公共 DNS
解析把域名查成 IP 的过程
缓存设备和 DNS 服务器会把查过的结果暂存一段时间,下次直接用

同一个域名可能解析出不同的 IP

很多大型网站在全球部署了服务器,DNS 会根据查询来源返回“离你最近”的 IP。这就是为什么 DNS 结果会影响访问速度,也是代理环境下 DNS 需要专门处理的原因之一。

2. 代理环境下 DNS 为什么变复杂 ​

不开代理时,设备自己查 DNS、自己连接,流程很简单。开了代理之后,会出现一个问题:域名由谁来查、在哪里查?

方式谁来解析特点
本地解析你的设备或客户端在本地查查询经过本地网络,海外域名可能查到错误结果
远端解析把域名交给代理节点,由节点在海外查结果更准确,查询不经过本地网络
客户端接管客户端内置 DNS 模块,按规则决定在哪里查多数现代客户端的默认做法

以浏览器使用系统代理为例:浏览器通常会把完整的域名交给客户端,再由客户端决定怎么处理,所以一般不会出问题。但开启 TUN 模式后,设备上所有程序的 DNS 查询都会经过客户端,这时客户端的 DNS 设置就变得很关键。系统代理和 TUN 的区别,见 系统代理、TUN、规则和全局是什么关系。

3. DNS 污染是什么 ​

DNS 污染指查询某些域名时,得到的是错误的 IP 地址,而不是网站真实的地址。结果就是:

  • 网站打不开,或者连接超时;
  • 浏览器提示证书错误(连到了一个不是目标网站的地址);
  • 换了好节点也没用,因为一开始拿到的地址就不对。

污染通常发生在本地网络查询海外域名的环节,与节点本身好坏无关。

代理客户端怎么避免它:

  • 对需要走代理的域名,不在本地查,而是交给代理节点在远端解析;
  • 或者使用客户端的“虚拟 IP”机制(部分客户端称为 Fake-IP):先给程序返回一个临时的内部地址,真正的解析由客户端在合适的地方完成;
  • 对国内域名仍在本地查,保证国内网站拿到离你最近的服务器地址。

这些都是客户端默认配置已经处理好的,一般不需要你手动调整。

4. DNS 泄露是什么 ​

DNS 泄露指你明明开了代理,但 DNS 查询仍然通过本地网络发出。网页内容走了代理,可“你查询了哪些网站”这件事暴露在本地网络中。

常见的泄露原因:

原因说明
只开了系统代理部分不遵守系统代理的程序会自己用系统 DNS 查询
开了 TUN 但没启用客户端 DNS系统的 DNS 查询绕过了客户端
系统或浏览器的“安全 DNS”功能浏览器自己用加密 DNS 查询,可能绕开客户端的规则
手动设置了 DNS 但规则不当所有域名都交给某个本地 DNS 查询

泄露的影响主要有两类:

  • 隐私:访问记录可能被本地网络看到;
  • 功能:部分网站会结合 DNS 来源判断你的地区。DNS 在国内、IP 在海外,可能被认为地区不一致,导致某些服务提示“不支持你所在的地区”或要求额外验证。

怎么检查

在开启代理的状态下,访问一个 DNS 泄露检测网站,看显示的 DNS 服务器位置。如果显示的是你所在城市的运营商,而你希望 DNS 也走代理,说明存在泄露。是否需要处理,取决于你的需求:日常浏览一般不必在意,对地区一致性有要求的服务(例如部分 AI 和流媒体服务)可以留意。

5. 客户端里的 DNS 设置意味着什么 ​

各客户端的 DNS 设置界面不同,但核心选项含义相近。了解它们的作用,有助于看懂教程和排查问题:

常见选项作用新手建议
启用 DNS / DNS 接管让客户端处理设备的 DNS 查询使用 TUN 模式时一般应开启
国内 DNS / 直连 DNS用于解析走直连的域名保持默认,通常是国内公共 DNS
远端 DNS / 代理 DNS用于解析走代理的域名,查询经过节点发出保持默认
Fake-IP / 虚拟 IP 模式先返回临时地址,加快连接并减少污染影响保持默认
加密 DNS(DoH / DoT)用加密方式发出 DNS 查询,防止被篡改和窥探客户端默认已配置时不必改动
DNS 缓存 / 清除缓存暂存查询结果;清除后重新查询遇到解析问题时可以尝试清除

不要照搬来源不明的 DNS 配置

网上流传的 DNS 配置片段,往往针对特定客户端版本或特定需求,直接复制可能导致国内网站变慢、部分网站打不开。改动前备份原配置,改完后同时测试国内和海外网站。

DNS 与分流规则的关系:规则里的“按域名匹配”不依赖 DNS;而“按 IP 匹配”(例如按国家 IP 段分流)需要先把域名解析成 IP 才能判断。所以 DNS 结果不对时,也可能导致分流错误——本该直连的走了代理,或反过来。规则的设置方法见 代理客户端的规则与分流怎么设置。

6. DNS 出问题的常见表现 ​

表现可能的 DNS 原因处理思路
开代理后所有网站都打不开,但节点测速正常客户端 DNS 设置错误或 DNS 服务器不可用恢复客户端默认 DNS 设置,重启客户端
只有个别海外网站打不开或证书报错该域名在本地被解析到错误地址确认该域名走代理;清除 DNS 缓存
国内网站明显变慢国内域名被交给海外 DNS 解析,拿到了海外服务器地址检查国内域名是否走直连 DNS
关闭代理后上不了网系统 DNS 仍指向客户端的本地地址见 关闭代理后电脑无法上网
浏览器能用,某些应用不能用应用自己查 DNS,没经过客户端开启 TUN 并启用客户端 DNS,见 浏览器能访问,为什么应用程序连接失败
换了 Wi-Fi 就不正常该网络强制使用自己的 DNS 或有特殊限制见 手机流量能用,连接 Wi-Fi 后不能用怎么排查
服务提示地区不支持DNS 与节点地区不一致确认 DNS 也通过代理查询

7. 新手的 DNS 原则 ​

  1. 默认设置优先:主流客户端的默认 DNS 配置已经考虑了污染和分流,大多数人不需要改;
  2. 用 TUN 时开启客户端 DNS:否则容易出现泄露和部分应用打不开;
  3. 改之前先备份:任何 DNS 改动都应能一键恢复;
  4. 国内和海外分开查:国内域名用国内 DNS,海外域名通过代理查,这是速度和准确性的平衡点;
  5. 出问题先清缓存、再恢复默认:很多 DNS 问题在重启客户端或清除缓存后就消失了;
  6. 不要同时开多套 DNS 方案:浏览器的安全 DNS、系统的自定义 DNS、客户端 DNS 同时生效时,容易互相干扰。

相关阅读 ​