type
status
date
slug
summary
tags
category
icon
password
之前介绍了不少关于MosDNS、AdGuard Home和OpenClash的内容,里面绕不开的一个部分就是:用来解析国外域名,获取无污染解析结果的DNS服务器应该选择哪家,或者说有哪些无污染的公共DNS服务器可以选择。今天这篇文章,就对我使用过的DNS服务器进行一个整理,并进行无污染DNS服务器的推荐。
📝 TL;DR 快速推荐
没时间细看?直接用这个组合:
用途 | 推荐 DNS | 地址 |
国内域名 | 阿里 DNS | 223.5.5.5 或 https://dns.alidns.com/dns-query |
国外域名(通过代理) | Google DNS | 8.8.8.8 或 https://dns.google/dns-query |
国外域名(直连备用) | Quad9 | 9.9.9.9 或 https://dns.quad9.net/dns-query |
广告过滤 | AdGuard DNS | https://dns.adguard.com/dns-query |
付费服务 | NovaXNS | ㅤ |
📝 个人对DNS服务器选择的看法
DNS服务器的主要作用是将域名解析转换为IP地址,同时支持负载均衡、高可用性、反向解析、缓存加速等功能。DNS是互联网的基础设施之一,几乎所有的网络通信都依赖于DNS服务。所以选择一个稳定、高速且无污染的DNS的重要性不言而喻。在使用DNS分流的情况下,对国内域名与国外域名分别配置DNS可以有效提升解析速度与准确性,例如我在使用的MosDNS和AdGuard Home。
为什么要选择合适的 DNS?
DNS 是互联网的"电话簿",将域名转换为 IP 地址。选择不当会导致:
- ❌ DNS 污染:国外域名返回错误 IP
- ❌ DNS 劫持:运营商将请求重定向到反诈页面(如
js96110.com.cn)
- ❌ CDN 错配:解析结果不在最优节点,访问变慢
- ❌ 隐私泄露:DNS 查询被运营商监控
选择 DNS 时应考虑的因素
因素 | 说明 | 优先级 |
延迟与丢包 | 直接影响解析速度 | ⭐⭐⭐⭐⭐ |
加密协议支持 | DoH/DoT/DoQ 防劫持 | ⭐⭐⭐⭐⭐ |
ECS 支持 | 优化 CDN 解析结果 | ⭐⭐⭐⭐ |
Pipeline 支持 | 连接复用,降低延迟 | ⭐⭐⭐ |
DNSSEC 支持 | 防止 DNS 欺骗 | ⭐⭐⭐ |
隐私政策 | 是否记录查询日志 | ⭐⭐⭐ |
加密协议对比
协议 | 全称 | 端口 | 优势 | 劣势 |
DoH | DNS over HTTPS | 443 | 穿透性强,不易被识别 | HTTP 封装有额外开销 |
DoT | DNS over TLS | 853 | 性能略优 | 端口固定,易被阻断 |
DoQ | DNS over QUIC | 853/784 | 最新协议,性能最优 | 支持尚不普遍,高峰期容易被Qos |
- 国内网络:优先 DoH(443 端口与 HTTPS 流量混合,难以识别)
- 性能优先:DoQ > DoT > DoH
- 兼容性优先:DoH > DoT > DoQ
📝 国内DNS服务器
国内的公共DNS服务选择不多,我认为国内DNS只有三个选择,阿里云公共DNS(阿里巴巴)、DNSPod(腾讯)以及各省市运营商下发的DNS。阿里云公共DNS和DNSPod均支持ECS(edns-client-subnet)协议,在一定程度上可以缓解整体解析速度不如运营商DNS的情况。其他例如114、360、百度等等,均有前科,不太推荐选择。
同时在国内DNS的选择及使用上,我个人更推荐使用DOH、DOT方式,避免DNS泄露给运营商,从而产生DNS劫持。在部分省份,运营商DNS劫持会将目标网站的解析结果返回为反诈页面,例如被运营商DNS劫持到
www.js96110.com.cn阿里云公共 DNS (AliDNS) ⭐推荐
阿里巴巴提供,节点覆盖广,支持 ECS,解析速度快。
类型 | 地址 |
IPv4 | 223.5.5.5 / 223.6.6.6 |
IPv6 | 2400:3200::1 / 2400:3200:baba::1 |
DoH | https://dns.alidns.com/dns-query |
DoH (IP) | https://223.5.5.5/dns-query |
DoT | dns.alidns.com |
DoQ | quic://dns.alidns.com:853 |
H3 支持 | ✅ 是 |
ECS 支持 | ✅ 是 |
⚠️ 注意:2024年9月30日起,阿里 DNS 免费版对单 IP 请求进行智能限速。家庭用户正常使用不受影响。
腾讯 DNSPod ⭐推荐
腾讯旗下,稳定性高,支持国密 SM2,海外也可用。
类型 | 地址 |
IPv4 | 119.29.29.29 / 1.12.12.12 / 120.53.53.53 |
IPv6 | 2402:4e00:: |
DoH | https://doh.pub/dns-query |
DoH (IP) | https://1.12.12.12/dns-query |
DoH (国密) | https://sm2.doh.pub/dns-query |
DoT | dot.pub |
H3 支持 | ❌ 否 |
ECS 支持 | ✅ 是 |
360 安全 DNS
支持 DoH/DoT,有一定安全过滤能力。但是名声很臭。
类型 | 地址 |
IPv4 (电信/移动) | 101.226.4.6 / 218.30.118.6 |
IPv4 (联通) | 123.125.81.6 / 140.207.198.6 |
DoH | https://doh.360.cn/dns-query |
DoT | dot.360.cn |
字节跳动 TrafficRoute DNS
字节跳动火山引擎提供,仅支持 IPv4。
类型 | 地址 |
IPv4 | 180.184.1.1 / 180.184.2.2 |
国内 DNS 对比总结
服务商 | 推荐度 | DoH | DoT | DoQ | H3 | ECS | 备注 |
阿里 DNS | ⭐⭐⭐⭐⭐ | ✅ | ✅ | ✅ | ✅ | ✅ | 首选 |
腾讯 DNSPod | ⭐⭐⭐⭐⭐ | ✅ | ✅ | ❌ | ❌ | ✅ | 支持国密 |
360 DNS | ⭐⭐ | ✅ | ✅ | ❌ | ❌ | ❌ | 名声太臭 |
字节 DNS | ⭐ | ❌ | ❌ | ❌ | ❌ | ❌ | 仅 UDP |
📝 国外DNS服务器
我个人一般会用Google DNS、NextDNS、以及AdGuard DNS作为主要无污染DNS使用。NextDNS的免费额度足够家庭使用,当免费额度用完就切换到AdGuard DNS。在Google DNS存在国内访问问题的时候,会选择Quad9或者OpenDNS。Cloudflare DNS在我这里的稳定性和速度并不好,所以很少选择。大多数的国外公共DNS均可以返回无污染的DNS解析结果,这些公共DNS服务基本都支持DNSSEC。
在衡量与选择国外公共DNS服务时,延迟与丢包一般是我首先考虑的因素,其次就是DOH(DNS over HTTPS)和DOT(DNS over TLS)的支持,如果能够支持H3(http3)或者tls pipeline的话,那么一般就会是首选的DNS服务。其他次级考虑的因素还包括是否支持ECS,如果可以支持ECS,我会选择代理出口位置附近的IP。通过MosDNS的ECS功能,可以自定义ECS地址,使解析的CDN结果更靠近所配置的IP地址,从而提高解析结果的访问速度,例如我喜欢配置国外的ECS地址为代理的出口地址,这样通过代理访问时,可以获得最佳速度及可用性。
同时在使用DOT或DOH使,可使用
dial_addr替代域名,可免去每次建立连接时需要Bootstrap DNS先解析DNS服务器域名。dial_addr一般为标准DNS的IPv4和IPv6地址。由于一些公共DNS使用DNSCRYPT,需要使用DNS服务器公钥,存在局限性,所以暂时未列入表单内,也不作为DNS选择与衡量的指标。
同时大部分公共解析服务均为IPv4和IPv6双栈,即使用IPv4的DNS公共解析服务也可以解析IPv6地址,所以列表内不再进行IPv4和IPv6的区分。
在设备支持的情况下,非常建议选用支持DoH与DoT的DNS服务器。
推荐使用的DNS服务器
DNS服务名称 | 标准DNS地址 | DoH地址 | DoT地址 | 是否支持H3 | ECS |
Google DNS | 8.8.8.8 / 8.8.4.4 | https://dns.google/dns-query | dns.google | 是 | 支持 |
Cloudflare | 1.1.1.1 / 1.0.0.1 | https://cloudflare-dns.com/dns-query | 1dot1dot1dot1.cloudflare-dns.com | 是 | 支持 |
Quad9 | 9.9.9.9 / 149.112.112.112 | https://dns.quad9.net/dns-query | dns.quad9.net | 否 | 支持 |
AdGuard Public DNS | 94.140.14.14 / 94.140.15.15 | https://dns.adguard.com/dns-query | dns.adguard.com | 否 | 支持 |
NextDNS | 45.90.28.0 / 45.90.30.0 | https://dns.nextdns.io | 45.90.28.0 / 45.90.30.0 | 是 | 支持 |
OpenDNS | 208.67.222.222 / 208.67.220.220 | https://doh.opendns.com/dns-query | 208.67.222.222 / 208.67.220.220 | 否 | 支持 |
Yandex DNS | 77.88.8.8 / 77.88.8.1 | https://doh.yandex.net/dns-query | dns.yandex.net | 否 | 不支持 |
CleanBrowsing | 185.228.168.9 / 185.228.169.9 | https://doh.cleanbrowsing.org/dns-query | security-filter-dns.cleanbrowsing.org | 否 | 不支持 |
jp.tiar.app | 172.104.93.80 | https://jp.tiarap.org/dns-query
| jp.tiar.app | 否 | 不支持 |
Comodo Secure DNS | 8.26.56.26 | https://doh.comodo.com/dns-query | dns.comodo.com | 否 | 不支持 |
DNS.WATCH | 84.200.69.80 | https://dns.watch/dns-query | ㅤ | 否 | 不支持 |
Blahdns(新加坡) | 46.250.226.242
2407:3640:2205:1668::1 | https://doh-sg.blahdns.com/dns-query | dot-sg.blahdns.com | 是 | 不支持 |
CleanBrowsing | 185.228.168.9
185.228.169.9 | https://doh.cleanbrowsing.org/doh/security-filter/ | security-filter-dns.cleanbrowsing.org | 否 | 不支持 |
Block malware | 76.76.2.1 | https://freedns.controld.com/p1 | tls://p1.freedns.controld.com | 否 | 不支持 |
DeCloudUs | 78.47.212.211:9443 | https://dns.decloudus.com/dns-query | tls://dns.decloudus.com | 否 | 不支持 |
Mullvad(新加坡) | - | https://dns.mullvad.net/dns-query | tls://dns.mullvad.net | 否 | 不支持 |
仅作测试使用的DNS服务器
以下DNS服务器是仅作测试使用的DNS服务器,不建议作为日常主力使用DNS解析服务,推荐仅在测试时进行使用,或作为落地区域的DNS使用。这些DNS服务大多不提供DOH或DOT选项,且在直连情况下存在延迟较高、丢包较多等不稳定因素。
DNS服务名称 | 标准DNS地址 | DoH地址 | DoT地址 | 是否支持H3 | ECS |
HKBN DNS | 203.80.96.10 / 203.80.96.9 | 不支持 | 不支持 | 否 | 不支持 |
NTT Communications DNS | 61.213.169.170 / 61.213.169.171 | 不支持 | 不支持 | 否 | 不支持 |
NEC BIGLOBE DNS | 202.225.96.66 / 202.225.96.68 | 不支持 | 不支持 | 否 | 不支持 |
Yahoo Japan DNS | 182.22.70.1 / 182.22.70.2 | 不支持 | 不支持 | 否 | 不支持 |
DNS.SB | 45.11.45.11 | https://doh.dns.sb/dns-query | dot.sb | 否 | 不支持 |
腾讯国际 | 162.14.21.178/ 162.14.21.56 | 不支持,可通过腾讯云套娃DOH | 不支持,可通过腾讯云套娃DOT | 否 | 不支持 |
Microsoft DNS / Level 3 Communications | 4.2.2.2 / 4.2.2.1 | 不支持 | 不支持 | 否 | 不支持 |
HiNet/中華電信 | 168.95.1.1 / 168.95.192.1 | 不支持 | 不支持 | 否 | 不支持 |
TWNIC Quad101 Public DNS | 101.101.101.101 / 101.102.103.104 | 不支持 | 不支持 | 否 | 不支持 |
DNS延迟测试脚本
这个Python脚本需要
ping3依赖,复制以上代码并保存为*.py文件,通过命令行运行。可替换IP地址为自己想要进行测速的DNS的IP地址,每个DNS的IP地址Ping次数默认为4 。脚本的注释算是清晰,可根据自己需要在脚本中修改。非公共DNS服务(增强型DNS服务)
这里的非公共DNS是指提供具有用户唯一标识的DNS服务,允许用户自定义DNS过滤与隐私保护,提供访问控制,提供查询日志,提供部分路由优化等。相较于免费的公共DNS服务,这种DNS服务在部分情况下访问速度可能会更好一些。基础的DOH、DOT、DNSSEC、ECS基本都支持。
XNS.One (NovaXNS)
付费 DNS 服务,节点覆盖香港、日本、韩国,支持大陆优化。
- 价格:基础版 $5.99/年,Pro 版 $11.99/年
- 支付:支持支付宝
- 特点:CDN 优化、分区域解析、速度快
NextDNS
功能强大的可定制 DNS,支持:
- 自定义过滤列表
- 查询日志与统计
- 设备级配置
免费版:30 万次/月
付费版:$19.9/年,无限制
AdGuard DNS
与 NextDNS 类似:
- 免费版:30 万次/月,5 个设备,100 条自定义规则
- 付费版:更多配额
📝 常见问题 FAQ
Q1: 为什么推荐使用 DoH/DoT?
传统 DNS (UDP 53) 是明文传输,运营商可以:
- 监控你访问的网站
- 劫持 DNS 返回虚假结果
- 将请求重定向到反诈页面
DoH/DoT 加密后,运营商只能看到你在访问 DNS 服务器,无法知道具体查询内容。
Q2: 国外 DoH 被阻断怎么办?
有两个方案:
- 方案 A:通过代理转发
- 方案 B:使用 IP 版 DoH,例如
https://9.9.9.9/dns-query(Quad9)https://1.1.1.1/dns-query(Cloudflare)
Q3: 什么是Pipeline连接复用?
enable_pipeline: TCP/DoT使用RFC 7766新的query pipelining连接复用模式。- 启用后可大幅提高连接利用率,减少建立连接/握手的次数,进而降低响应延时。
- 并非所有DNS服务器都支持。必须确定DNS服务器支持后再启用该选项。
- Tips: 已知Google和Cloudflare的TCP/DoT是支持该模式的。知名的公共DNS服务商大多数都支持该模式。如果你使用MosDNS,可以使用
mosdns probe pipeline {tcp|tls}://server_ip[:port]测试命令测试服务器是否支持。比如mosdns probe pipeline tls://8.8.8.8。
- 已知支持 Pipeline 的服务:Google、Cloudflare、阿里、腾讯
Q4: 什么是ECS(EDNS Client Subnet)?
ECS(EDNS Client Subnet)是扩展DNS查询的一种机制,旨在提升内容分发网络(CDN)和地理位置相关的服务的效率。通常DNS服务器只看到客户端的IP地址,但通过ECS,DNS请求会包含客户端IP的一部分(子网信息)。这样,内容分发网络可以根据客户端的地理位置,返回更接近用户的服务器,减少延迟,提升性能。ECS主要用于优化网络和加速服务的访问,但也可能带来一定的隐私泄露风险。
Q5: 什么是DOH(DNS over HTTPS)?
DoH(DNS over HTTPS)是一种技术,用来加密你的DNS查询。通常情况下(UDP及TCP协议情况下),DNS查询是明文的,容易被ISP运营商看到和监控。而DoH会通过HTTPS协议加密这些查询,确保你的请求内容是安全的,不会被ISP和运营商偷看。就像你在发送加密的信息一样,DoH保护了你上网时的隐私,并在一定程度上可以避免DNS劫持。
Q6: 什么是ECH(Encrypted Client Hello)?
ECH(Encrypted Client Hello)是一种技术,用来加密你访问网站时的SNI(服务器名称指示)信息。通常情况下,当你想访问某个网站时,这个请求是明文的,运营商或其他第三方可以轻易看到你在访问什么网站,并可能进行拦截或阻断(例如SNI阻断)。这也是为什么有时你在国内访问GitHub和Linux.DO会遇到Time Out问题的原因之一。有了ECH,这些SNI信息就被加密了,外面的人就看不到你要访问哪个网站,从而提高了你的隐私和安全性。简单来说,ECH就像是在发送加密的信息,让你的浏览行为更加私密。
Q7: 什么是DNSSEC(Domain Name System Security Extensions)?
DNSSEC(Domain Name System Security Extensions)是DNS系统的安全扩展协议,通过数字签名技术来确保DNS记录的真实性和完整性。它通过建立从根域名到下级域名的信任链,使用公私钥对对DNS记录进行签名和验证,能有效防止DNS欺骗和缓存污染。DNSSEC引入了几个关键记录类型:DNSKEY用于存储域名公钥,RRSIG包含数字签名信息,DS记录用于下级域委派签名,以及NSEC/NSEC3用于提供域名不存在的证明。虽然DNSSEC的配置较为复杂,可能增加DNS服务器负载并导致响应包变大,但它在防止DNS劫持和欺骗方面发挥着重要作用,目前已得到Google DNS (8.8.8.8)和Cloudflare (1.1.1.1)等主流公共DNS服务器的支持。
其他关于DNS选择的文章?
关于DNS选择,也可以参考:如何选择适合的公共DNS? [2020] - Sukka's Blog
附录:
已停服 DNS 列表
以下 DNS 服务已停止运营,请勿使用:
服务 | 停服时间 | 说明 |
apad.pro (EasyMosDNS) | 2025-03 | 滥用导致封禁 |
ipv4dns.com | 2024-07 | 停止服务 |
cooluc DNS | 2024-08-20 | 作者主动关闭 |
Yeti DNS (IPv6) | 2024 | 无法解析 |
CNNIC IPv6 | 2024 | 官网已移除 |
NovaXNS邀请码
参考资料:
有关DNS上的问题,欢迎您在底部评论区留言,一起交流~
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!