电脑、手机和路由器通常会自动使用运营商提供的DNS服务器,但在排查域名解析故障、启用加密DNS或者测试不同网络解析效果时,也经常会用到公共DNS。

目前比较常见的选择包括阿里公共DNS、DNSPod Public DNS、Cloudflare 1.1.1.1、Google Public DNS和Quad9。它们都可以完成域名递归解析,但节点分布、安全策略和适用网络环境并不完全相同。

常用的DNS服务器有哪些?国内外公共DNS地址与选择方法

公共DNS服务器有什么作用

访问一个网站时,浏览器首先需要把域名转换成对应的IP地址,这个查询过程通常由DNS服务器完成。例如输入一个网站域名后,DNS解析器会查询相应记录,再把结果返回给电脑或手机。

家庭宽带一般会自动获得运营商DNS,因此网络正常时并没有必须修改DNS的理由。公共DNS主要提供另一种递归解析选择,适合网络故障排查、服务器配置以及希望使用DoH、DoT等加密DNS的用户。

需要注意,下面介绍的是供终端查询域名使用的“公共递归DNS”,不是网站站长管理A记录、CNAME记录时使用的权威DNS服务。

国内常用公共DNS地址

服务首选IPv4备用IPv4特点
阿里公共DNS223.5.5.5223.6.6.6国内公共递归DNS,支持IPv6、DoH和DoT
DNSPod Public DNS119.29.29.29-腾讯云DNSPod提供,支持IPv6和DoH

阿里公共DNS目前官方公布的IPv4地址为:

223.5.5.5
223.6.6.6

对应IPv6地址为:

2400:3200::1
2400:3200:baba::1

如果使用支持加密DNS的浏览器或系统,阿里公共DNS还提供dns.alidns.com作为DoH、DoT接入域名。

DNSPod Public DNS免费版目前使用:

119.29.29.29

IPv6地址为:

2402:4e00::
2402:4e00:1::

其DoH地址为https://doh.pub/dns-query。对于以国内网站访问为主的网络,可以先从阿里公共DNS和DNSPod中测试实际解析效果。

国外常用公共DNS地址

服务首选IPv4备用IPv4主要特点
Cloudflare1.1.1.11.0.0.1全球公共DNS,支持DoH和DoT
Google Public DNS8.8.8.88.8.4.4全球公共递归DNS,支持IPv6和加密DNS
Quad99.9.9.9149.112.112.112默认提供恶意域名阻止和DNSSEC验证

Cloudflare最常见的标准DNS地址是:

1.1.1.1
1.0.0.1

标准1.1.1.1主要提供普通递归解析,并支持DoH和DoT。Cloudflare另外提供带恶意网站和成人内容过滤的1.1.1.1 for Families,因此不同地址对应的过滤规则并不相同。

Google Public DNS的地址是:

8.8.8.8
8.8.4.4

它同时支持IPv6、DNS over HTTPS和DNS over TLS,在海外服务器、开发测试和国际网络环境中比较常见。

Quad9推荐的安全解析地址为:

9.9.9.9
149.112.112.112

这组配置默认包含已知恶意域名阻止,并进行DNSSEC验证。如果希望DNS本身增加一层恶意域名过滤,可以考虑这一方案。

不同DNS应该怎么选择

公共DNS并不存在一个适用于所有地区的“最快地址”。DNS实际表现与宽带运营商、网络出口、用户所在地区以及公共DNS节点距离都有关系。

可以按照使用场景缩小选择范围:

  • 主要访问国内网站,可以先测试223.5.5.5和119.29.29.29。

  • 海外服务器或国际网络,可以测试1.1.1.1和8.8.8.8。

  • 希望增加恶意域名过滤,可以测试Quad9的9.9.9.9。

  • 希望减少传统明文DNS查询,可以选择支持DoH或DoT的服务。

如果运营商自动提供的DNS稳定、解析正常,也没有必要仅仅为了“优化网速”而修改。

修改DNS会让网络变快吗

更换DNS可能改变域名查询速度,但不会直接提高宽带带宽。例如100Mbps宽带不会因为把DNS换成1.1.1.1就变成更高带宽。

如果原来的DNS响应较慢或者存在解析异常,更换后首次打开网站可能会更顺畅。但网页后续的图片、视频和文件下载速度,主要还是取决于服务器、CDN和实际网络连接。

另外,很多网站会根据DNS查询信息进行CDN节点调度。因此某个公共DNS查询延迟虽然很低,却不代表所有网站使用它都会更快。

DoH和DoT有什么区别

传统DNS查询通常通过53端口传输,而DoH和DoT会对DNS查询过程进行加密。

  • DoH:DNS over HTTPS,通过HTTPS传输DNS请求。

  • DoT:DNS over TLS,使用TLS建立加密DNS连接。

现在Chrome、Firefox、Edge等浏览器已经提供安全DNS相关设置,部分Android设备也可以直接配置私人DNS。如果设备支持,可以按照DNS服务商官方提供的地址启用加密解析,而不是只填写IPv4地址。

设置DNS时需要注意什么

修改DNS前最好记录原来的自动配置方式或DNS地址,以便出现访问异常后恢复。

如果系统提供首选和备用DNS两个位置,通常可以使用同一服务商提供的两组配套地址,例如Cloudflare使用1.1.1.1和1.0.0.1,Google使用8.8.8.8和8.8.4.4。

测试DNS时也不要只比较Ping。Ping反映的是到服务器的大致网络延迟,而DNS真正需要关注的是域名查询响应和返回结果。Windows可以使用nslookup进行简单测试:

nslookup example.com 223.5.5.5
nslookup example.com 1.1.1.1
nslookup example.com 8.8.8.8

对于普通用户,选择DNS没有必要过于复杂。国内网络可以先测试阿里公共DNS或DNSPod,海外网络可以比较Cloudflare与Google,如果有安全过滤需求再考虑Quad9。真正合适的DNS,最终还是应该以自己所在网络中的稳定性和实际访问表现为判断依据。

参考资料

  1. 阿里公共DNS官方网站

  2. DNSPod Public DNS官方文档

  3. Cloudflare 1.1.1.1官方文档

  4. Google Public DNS使用文档

  5. Quad9服务地址说明