中国国内一些公共 DNS 服务
腾讯 DNSPod
Anycast:上海、天津、广州、香港
DNS 出口:上述四点
TCP 查询:不支持
DoT、DoH:支持。域名 dns.pub 和 doh.pub,同时支持 DoH 和 DoT
ECS:不完整支持
bash
https://www.dnspod.cn/Products/Public.DNS
119.29.29.29 119.28.28.28
阿里云公共 DNS
Anycast:成都、深圳、杭州
DNS 出口:上述三点
TCP 查询:不支持
DoT、DoH:均支持。除了可以直接通过 IP 使用,还可以使用域名 dns.alidns.com。
ECS:部分支持(DNS JSON API 支持 edns_client_subnet)
bash
http://www.alidns.com/
223.5.5.5 223.6.6.6
南京信风公共 DNS
Anycast:南京、济南、芝加哥
DNS 出口:未测出
TCP 查询:不支持
DoT、DoH:不支持
ECS:不支持
bash
https://www.114dns.com/
114.114.114.114 114.114.115.115
清华 TUNA 协会 666DNS
Anycast:无,仅清华大学单点。
DNS 出口:北京教育网
TCP 查询:支持
DoT、DoH:均支持。直接通过 IP 使用,没有绑定域名。
ECS:不支持
bash
https://tuna.moe/help/dns/
101.6.6.6
CNNIC 公共 DNS
Anycast:北京、杭州、香港
DNS 出口:CNNIC 和阿里云
TCP 查询:不支持
DoT、DoH:不支持
ECS:不支持
bash
http://www.sdns.cn/
1.2.4.8 210.2.4.8
百度公共 DNS
Anycast:北京、南京、深圳
DNS 出口:上述三点
DoT、DoH:不支持
TCP 查询:不支持
ECS:不支持
bash
https://dudns.baidu.com/
180.76.76.76
国外常用 DNS 服务
Google Public DNS
Any cast:Google 的 36 个数据中心(不包括 Google Global Cache)
DNS 出口:Google 全球边缘网络
TCP 查询:支持
DoT、DoH:均支持。除了可以直接通过 IP 使用,还可以使用域名 dns.google
ECS:支持(DNS JSON API 支持 edns_client_subnet)
bash
8.8.8.8 8.8.4.4
https://developers.google.com/speed/public-dns/
OpenDNS
Anycast:OpenDNS 的 32 个数据中心
DNS 出口:未测出
TCP 查询:支持
DoT、DoH:不支持
ECS:支持
bash
208.67.222.222 208.67.220.220
https://www.opendns.com/
Cloudflare DNS
Anycast:Cloudflare 的 160+ 个数据中心
DNS 出口:Cloudflare 的 160+ 个数据中心
TCP 查询:支持
DoT、DoH:均支持,可以使用域名 one.one.one.one 也可以直接使用 IP
ECS:不支持(由于 ECS 需要基于用户 IP 查询,和 Cloudflare DNS 保护隐私相违背)
bash
1.0.0.1 1.1.1.1
https://1.1.1.1 https://1.0.0.1
Freenom World
Anycast:是
DNS 出口:Freenom 的 Transit 的 IP
TCP 查询:支持
DoT、DoH:不支持
ECS:支持
bash
80.80.80.80 80.80.81.81
https://www.freenom.world/zh/index.html?lang=zh
Anycast:是
DNS 出口:SB Network 的上游的 IP
TCP 查询:支持
DoT、DoH:支持,可以使用 IP 或 dns.sb 域名
ECS:不支持
bash
185.222.222.222 185.184.222.222
https://dns.sb
公共 DNS 最佳实践
综上所述,如果你需要选择公共 DNS 的话同时需要获得尽可能友好的 CDN 解析结果,解析国内站点推荐使用阿里 DNS 和腾讯 DNSPod(注重稳定请用前者、注重准确请用后者);解析海外网站推荐主 DNS 1.0.0.1 或 208.67.222.222,备 DNS 8.8.8.8 或 8.8.4.4。