文章开始
文章结尾
# 下面的 DNS 组合供选择,选择延迟较低的
# Google DNS
tls://8888.google
tls://dns.google
tls://dns.google.com
https://dns.google/dns-query
https://dns.google.com/dns-query
https://8888.google/dns-query
h3://dns.google/dns-query
h3://dns.google.com/dns-query
h3://8888.google/dns-query
# OpenDNS
tls://dns.opendns.com
https://doh.opendns.com/dns-query
# Quad9 DNS
tls://dns11.quad9.net
https://dns11.quad9.net/dns-query
# AdGuard DNS
tls://dns.AdGuard-dns.com
https://dns.AdGuard-dns.com/dns-query
quic://dns.AdGuard-dns.com
h3://dns.AdGuard-dns.com/dns-query
# NextDNS
tls://dns.nextdns.io
https://dns.nextdns.io/dns-query
quic://dns.nextdns.io
h3://dns.nextdns.io/dns-query
# 欧盟 DNS
https://zero.dns0.eu/
tls://zero.dns0.eu
quic://zero.dns0.eu#---- 阿里 DNS ----
quic://dns.alidns.com
tls://dns.alidns.com
https://dns.alidns.com/dns-query
h3://dns.alidns.com/dns-query
#---- 腾讯 DNS ----
https://doh.pub/dns-query
tls://dot.pubUpstream DNS 选择:
为啥需要支持 ECS 呢?如果你的 Upsteam DNS 不支持的话,那么你拿到的 IP 地址,就是 Upsteam DNS 服务器所在地的最近 IP 地址;当然,如果 Upsteam DNS 在国内倒还好,但是选择的是国外的 DNS,自然得考虑这种情况,不然你访问国内的站却跳到国际站,使用起来是有点奇怪的。那如果支持 ECS 会发生什么呢?DNS 服务器会向上传递客户端的子网信息,这样拿到的 DNS 地址,理论上就和你本地 ISP DNS 请求的差不多。实际上,至少国内站能解析到国内的 IP 地址,其他的就无所谓了,反正国内访问国内速度也不会差太多。
那么基于以上原则,可以选择如下 Public DNS Server
| DNS | DoT | DoH | DoQ | H3 | 备注 |
|---|---|---|---|---|---|
| Google Public DNS | tls://dns.google | https://dns.google/dns-query | / | h3://dns.google/dns-query | Google 的表现一贯不错,ECS 支持相当 nice;ECS 取客户端 IP 地址 /24 用于提供 ECS 支持 |
| OpenDNS | tls://dns.opendns.com | https://doh.opendns.com/dns-query | / | / | OpenDNS 的 ECS 支持相对一般,部分域名可能没有,直接就近解析;ECS 支持根据 IP 归属地取 OpenDNS 自己的子网映射表,返回用户 IP 归属地就近 CDN IP |
| Quad9 DNS | tls://dns11.quad9.net | https://dns11.quad9.net/dns-query | / | / | 使用率不高,不做评价 |
| AdGuard DNS | tls://dns.adguard-dns.com | https://dns.adguard-dns.com/dns-query | quic://dns.adguard-dns.com | h3://dns.adguard-dns.com/dns-query | 使用率不高,不做评价 |
| Next DNS | tls://dns.nextdns.io | https://dns.nextdns.io/dns-query | quic://dns.nextdns.io | h3://dns.nextdns.io/dns-query | 个人感觉 ECS 支持比 OpenDNS 好,不过需要你去注册成为它的用户,才能打开 ECS 支持;ECS 支持根据 IP 归属地取 NextDNS 自己的的子网映射表,返回用户 IP 归属地就近 CDN IP |
其他的 Public DNS,没有观测到支持 ECS 这个功能,所以就暂不考虑了。你说 CloudFlare?人家承诺了隐私保护,自然不支持 ECS 功能了。
这样在 Adguard Home 上开启 ECS(EDNS client subnet) 支持即可。