DNS 是什么,为什么打开网页之前常会用到它?
DNS 是查询域名信息的系统,不只是一个把名字变成 IP 的单一服务器。应用需要连接域名时,通常先向解析器查询;解析器依据缓存或向相关服务器继续查询,返回记录后,应用才尝试建立网络连接。
| 类型 | 回答什么 |
|---|---|
| A | 域名对应的 IPv4 地址。 |
| AAAA | 域名对应的 IPv6 地址。 |
| CNAME | 这个名称对应的另一个名称,常用于别名链。 |
| MX | 负责接收邮件的服务器信息。 |
有 A 记录但没有 AAAA,不等于域名无效。AAAA 是查询内容类型,也不要求查询解析器本身一定走 IPv6。DNS 得到了答案,只完成了连接前的一步,不能据此判断网站、证书或代理已经正常。
DoH、DoT 和 DoQ 有什么不同?
它们主要区别在于把 DNS 查询放进哪种加密传输。选择时必须确认解析器支持相应协议与端点,而不是随意替换网址前缀。
| 名称 | 工作方式 | 配置注意点 |
|---|---|---|
| DoH | DNS over HTTPS,通过 HTTPS 请求传送 DNS 信息。 | 通常需要完整查询端点,服务首页不等于 DoH 地址。 |
| DoT | DNS over TLS,在 TLS 连接中传送 DNS 查询。 | 通常使用 TCP 853,需正确验证解析器证书。 |
| DoQ | DNS over QUIC,利用 QUIC 的安全传输及独立流。 | 标准默认使用 UDP 853,解析器和网络都需支持。 |
DoH 的 HTTPS 通常使用 443,但实际端点与服务配置应以提供的地址为准。仅在工具里选择了加密协议,不说明握手已完成;证书校验失败、网络不支持或端点错误仍会使查询失败。
为什么改了 DNS,查询结果没有马上变化?
先考虑缓存,而不是立即认定设置未生效。系统、浏览器、代理客户端和递归解析器都可能保存 DNS 结果。记录的 TTL 为缓存期限提供依据,但每一层的缓存时刻并不相同。
除了成功答案,域名不存在等否定结果也可能被缓存。因此修正记录后,有些设备先恢复、有些设备暂时仍得到旧错误,并不必然意味着它们访问了同一解析器。
- 记录当前回答、TTL、解析器和时间,先确认正在对比同一个名称与记录类型。
- 查看目标应用是否有独立解析设置,再检查系统与客户端的 DNS 配置。
- 需要排除本机缓存时,只对相关缓存做一次针对性处理,再重新查询;不要一开始同时重置所有网络设置。
网页缓存与 DNS 缓存不同。刷新网页可能只改变内容获取方式,不一定产生新的域名查询。换节点也不保证浏览器或解析器中的旧答案同时失效。
不同 DNS 返回不同 IP,是否一定是异常?
不一定,先确认差异是否符合域名的正常服务方式。CDN、负载均衡、解析器位置和缓存更新时间都可能让相同域名返回不同地址,多个答案也可能同时有效。
比较时应固定完整域名、A 或 AAAA 类型、查询时间和使用网络。若一边查 A、一边查 AAAA,地址当然不同;若一个解析器缓存了旧结果,直接比较也可能得出错误结论。
可把两组答案与一次实际连接的结果对应起来,再看是否存在过期记录、明确错误或无法使用的地址。不要把所有差异统称为“污染”,也不要认为某个公共解析器返回的任何答案都必然符合你所在网络的访问条件。解析器有答复与目标地址可到达,是两个需要分别检查的事实。
用了加密 DNS,就不会泄露域名或被识别了吗?
加密 DNS 保护的是客户端与解析器之间的传输,不等于匿名。沿途网络不再能像读取明文 DNS 那样直接读取查询正文,但负责回答的解析器仍需要处理域名,可能保留访问记录。
网站连接还会涉及目标地址、流量时序、账号会话及其他元数据。DNS 加密不会自动加密一个普通 HTTP 网页,也不会为浏览器建立远端代理。即使查询内容受到保护,也不能仅凭这个开关保证所有域名信息在其他阶段都不可见。
查询结果是否正确与传输是否加密也需要分别判断。加密通道不会让过期记录自动更新,也不会保证解析器按照你的访问需求返回地址。遇到加密 DNS 错误,保留证书验证并检查时间、端点及服务支持;关闭验证得到答案,不能视为安全连接成功。
系统、浏览器和代理客户端的 DNS 设置谁说了算?
取决于发出这次请求的应用及其网络路径。浏览器可以使用自己的安全 DNS,代理客户端也可能有独立解析规则。系统设置的解析器不一定是所有应用最终使用的解析器。
例如命令行读取系统配置得到一组地址,浏览器却在自己的 DoH 服务中查询;客户端转发远端请求时,也可能让远端处理域名。两次请求的路径不同,不能用前者成功来证明后者必定正常。
TUN 或 DNS 接管可以改变部分流量的去向,但覆盖范围还要看路由、地址族与排除项。各应用对失败回退的处理也不相同,应以当前设置及文档为准。进一步理解解析与出站的关系,可读 分流规则问答;了解接入方式,则看 代理与 VPN 的区别。
应该怎样验证 DNS,而不是盲目换一串地址?
一次只改变一个条件,并把查询与业务请求分开记录。使用 doggo 等查询工具,先观察当前解析器对 A、AAAA 的回答,再按需与指定解析器或协议对照。
- 保存域名、记录类型、解析器、协议、时间和完整状态,区分 NXDOMAIN、SERVFAIL、空答案与超时。
- 修改解析器时保持域名和记录类型不变;修改传输协议时尽量保持同一个服务,避免把服务差异当协议差异。
- 查询成功后,从原来有问题的应用发起实际 HTTPS 请求,检查路由、TLS 和目标响应。
- 若应用仍异常,查看它自己的 DNS 与代理设置,不要无限循环清缓存。
单次响应较快只说明该次查询耗时较短,不证明解析器长期更可靠。保存脱敏记录有助于复核;含内部域名的日志不应直接公开。
常见问题
DNS 查询成功就代表网站能打开吗?
不能。查询只提供域名记录,后续还有地址路由、连接建立、TLS、代理和应用响应,需要在目标应用里验证。
DoH 地址可以只填一个 HTTPS 网站首页吗?
通常不能。必须填写解析器实际提供的 DNS 查询端点,确认服务支持 DoH,并保留证书校验。
DoQ 是不是把 DNS 放到任何 UDP 端口都可以?
不是。DoQ 使用 QUIC 的安全传输,解析器必须实现该协议;标准默认端口是 UDP 853,普通 UDP DNS 服务不能直接当作 DoQ。
为什么没查到 AAAA,却能用浏览器打开网站?
域名可能只提供 A 记录,浏览器通过 IPv4 访问。没有某种记录与整个名称不存在是不同情况。
开启加密 DNS 会自动隐藏网站登录身份吗?
不会。加密 DNS 只保护一段查询传输,网站仍可关联账号和会话,解析器也仍能处理查询内容。
清理浏览器缓存能保证清掉所有 DNS 缓存吗?
不能保证。网页内容、浏览器 DNS、系统 DNS 和解析器缓存属于不同层次,应先确认问题发生在哪一层。
官方来源与核对
本文依据以下标准与官方资料整理,资料核对日期为 2026.10.02。概念说明与具体软件实现有区别,实际设置仍需对照对应版本文档。