🗒️国内外DNS推荐列表

2024-9-5|2025-1-7
Yawatasensei
Yawatasensei
type
status
date
slug
summary
tags
category
icon
password
😀
之前介绍了不少关于MosDNS的内容,里面绕不开的一个部分就是用来解析国外域名的DNS服务器应该选择哪家,或者说有哪些无污染的公共DNS服务器可以选择。

📝 主旨内容

DNS服务器的主要作用是将域名转换为IP地址,同时支持负载均衡、高可用性、反向解析、缓存加速等功能。DNS是互联网的基础设施之一,几乎所有的网络通信都依赖于DNS服务。所以选择一个稳定、高速且无污染的DNS的重要性不言而喻。在使用DNS分流的情况下,对国内域名与国外域名分别配置DNS可以有效提升解析速度与准确性。

国内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地址
DOH地址
DOT地址
是否支持H3
ECS
DNSPod
119.29.29.29 / 182.254.116.116
https://doh.pub/dns-query
dot.pub
支持
AliDNS
223.5.5.5 / 223.6.6.6
https://dns.alidns.com/dns-query
dns.alidns.com
支持

国外DNS服务器

我个人一般会用Google DNSNextDNS、以及AdGuard DNS作为主要无污染DNS使用,NextDNS的免费额度足够家庭使用,当免费额度用完就切换到AdGuard DNS。在Google DNS存在国内访问问题的时候,会选择Quad9或者OpenDNS。Cloudflare DNS在我这里的稳定性和速度并不好,所以很少选择。大多数的国外公共DNS均可以返回无污染的DNS解析结果,这些公共DNS服务基本都支持DNSSEC。
在衡量与选择国外公共DNS服务时,延迟与丢包一般是我首先考虑的因素,其次就是DOH和DOT的支持,如果能够支持H3(http3)或者pipeline的话,那么一般就会是首选的DNS服务。其他次级考虑的因素还包括是否支持ECS,如果可以支持ECS,我会选择代理出口位置附近的IP。通过MosDNS的ECS功能,可以自定义ECS地址,使解析的CDN结果更靠近所配置的IP地址,从而提高解析结果的访问速度,例如我喜欢配置国外的ECS地址为代理的出口地址,这样通过代理访问时,可以获得最佳速度及可用性。
同时在使用DOT或DOH使,可使用dial_addr替代域名,可免去每次建立连接时解析服务器域名。dial_addr一般为标准DNS的IPv4和IPv6地址。
由于一些公共DNS使用DNSCRYPT,需要使用DNS服务器公钥,存在局限性,所以暂时未列入表单内,也不作为DNS选择与衡量的指标。
同时大部分公共解析服务均为IPv4和IPv6双栈,即使用IPv4的DNS公共解析服务也可以解析IPv6地址,所以列表内不再进行IPv4和IPv6的区分。
在设备支持的情况下,非常建议选用支持DoH与DoT的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服务器

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
不支持
不支持
不支持

DNS延迟测试脚本

需要ping3依赖。保存为*.py文件,通过命令行运行,可替换IP地址为自己想要进行测速的DNS的IP地址,每个DNS的IP地址Ping次数为4,可根据自己需要在脚本中修改。

非公共DNS服务(增强型DNS服务

这里的非公共DNS是指提供具有用户唯一标识的DNS服务,允许用户自定义DNS过滤与隐私保护,提供访问控制,提供查询日志,提供部分路由优化等。相当于免费的公共DNS服务,这种DNS服务在部分情况下访问速度可能会更好一些。基础的DOH、DOT、DNSSEC、ECS基本都支持。
  • XNS.One提供非公共DNS使用,属于付费服务,需要邀请码,可以在他们的Telegram频道蹲一下。付费不支持支付宝与微信,只能信用卡付款。
  • NextDNS,我目前主要使用的DNS服务,免费版每个月提供30万次查询,基本够日常使用。可定制拦截列表。
  • AdGuard DNS,与NextDNS类似,免费版每个月提供30万次查询,允许配置5个接入点,2个服务器,支持配置100条自定义规则。

📝 参考信息

enable_pipeline: TCP/DoT 使用 RFC 7766 新的 query pipelining 连接复用模式。
  • 启用后可大幅提高连接利用率,减少建立连接/握手的次数,进而降低响应延时。
  • 并非所有服务器都支持。必须确定服务器支持后再启用该选项。
  • Tips: 已知 Google 和 Cloudflare 的 TCP/DoT 是支持该模式的。知名的公共 DNS 服务商大多数都支持该模式。可以使用 mosdns probe pipeline {tcp|tls}://server_ip[:port] 测试命令测试服务器是否支持。比如 mosdns probe pipeline tls://8.8.8.8

什么是ECS?

ECS(EDNS Client Subnet)是扩展DNS查询的一种机制,旨在提升内容分发网络(CDN)和地理位置相关的服务的效率。通常DNS服务器只看到客户端的 IP 地址,但通过ECS,DNS请求会包含客户端IP的一部分(子网信息)。这样,内容分发网络可以根据客户端的地理位置,返回更接近用户的服务器,减少延迟,提升性能。ECS主要用于优化网络和加速服务的访问,但也可能带来一定的隐私泄露风险。

什么是DOH?

DoH(DNS over HTTPS)是一种技术,用来加密你的 DNS 查询。通常情况下,DNS 查询是明文的,容易被别人看到和监控。而 DoH 会通过 HTTPS 协议加密这些查询,确保你的请求内容是安全的,不会被别人偷看。就像你在发送加密的信息一样,DoH 保护了你上网时的隐私,并在一定程度上避免劫持。

什么是ECH?

ECH(加密客户端你好,Encrypted Client Hello)是一种技术,用来加密你访问网站时的 SNI(服务器名称指示)信息。通常情况下,当你想访问某个网站时,这个请求是明文的,运营商或其他第三方可以轻易看到你在访问什么网站,并可能进行拦截或阻断(例如 SNI 阻断)。这也是为什么有时你在国内访问 GitHub 会遇到问题的原因之一。有了 ECH,这些 SNI 信息就被加密了,外面的人就看不到你要访问哪个网站,从而提高了你的隐私和安全性。简单来说,ECH 就像是在发送加密的信息,让你的浏览行为更加私密。

什么是DNSSEC?

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上的问题,欢迎您在底部评论区留言,一起交流~
实验性:不使用Dnsmasq绕过中国大陆IP云服务器购买之后的防火墙配置
Loading...