Why DoH?
传统的 DNS 查询是明文传输的(UDP: 53),且彼时未虑及现代安全性的需要,未利用密码学等手段进行加密或验证。这意味着恶意用户可以拦截、窃取、篡改DNS查询,甚至精准跟踪用户活动。虽然后来的DNSSEC方案通过电子签名进行验证,强化了DNS的安全性,并能够抵御DNS投毒污染等篡改通信的手段,但其对于中间网络设备进行的监听仍然没有抵御能力(随后,监听者可以通过获取的通信数据知晓用户访问了哪一域名,而域名往往与具体的网站相关系)。此外,DNSSEC的起效要求现有的大量DNS解析服务的提供商(常为互联网服务提供商或第三方大型互联网机构)对已有的DNS服务器进行大范围修改等问题,其推进进程并不理想。而对于DNS over HTTPS,在正确部署服务端并妥善配置客户端的前提下,互联网服务提供商或其它中间网络设备无法解密(亦即无法获知请求的实际内容)或者篡改已经加密的HTTPS通信,故其能够有效保护互联网用户的安全及隐私;另一方面,其基于已经成熟并已广泛部署的HTTPS协议,客户端进行利用较为方便。
此外,一些网络服务提供商和公共 Wi-Fi 热点经常会操纵 DNS 查询,将用户重定向到他们自己的服务器上,这种行为可能导致安全问题。使用 DoH 可以防止这种操纵,并确保您正在连接到预期的网站。
DoH 提供了更高的安全性和隐私保护,更加可靠的 DNS 连接和更好的互联网体验。
DoH 的请求形式
DoH 请求形式是使用 HTTPS 协议进行的。在传统 DNS 查询中,DNS 请求使用 UDP 或 TCP 进行明文传输,而在使用 DoH 时,DNS 请求通过 HTTPS 请求进行加密传输。
具体来说,当计算机或设备需要解析域名时,它会向配置的 DoH 服务器发送一个 HTTPS POST 请求,请求内容包含 DNS 查询信息。DoH 服务器将查询结果作为 HTTPS 响应返回给计算机或设备,然后将其解析为 IP 地址,并允许该设备连接到所需的网站。
DoH 的请求和响应消息格式基于 RFC 84841 中定义的 DNS over HTTPS 规范。该规范定义了 DNS 查询和响应消息的格式,以及如何在 HTTPS 中使用它们。通常,DoH 服务器依靠 HTTP/2 多路复用技术并发处理多个查询,从而提高性能和效率。
公共DNS-over-HTTPS和DNS-over-TLS服务器
一、国内服务商
1、阿里公共DNS
阿里提供的DNS,测试阶段,存在污染。
DoT地址:dns.alidns.com
223.5.5.5
223.6.6.6
DoH地址:
RFC8484地址:https://dns.alidns.com/dns-query
https://223.5.5.5/dns-query
https://223.6.6.6/dns-query
JSON地址:https://dns.alidns.com/resolve
https://223.5.5.5/resolve
https://223.6.6.6/resolve
http://dns.alidns.com/resolve
http://223.5.5.5/resolve
http://223.6.6.6/resolve
2、DnsPod 公共DNS
腾讯提供的DNS,测试阶段,存在污染。
DoT地址:dns.pub
或者 doh.pub
DoH地址:https://doh.pub/dns-query
3、360DNS
360提供的DNS,360浏览器内置的DOH服务地址,存在污染。
DoT地址:dot.360.cn
DoH地址:doh.360.cn
开发者调用:
DoH的调用方式支持RFC8484和JSON两种调用方式:
RFC8484:https://doh.360.cn/dns-query
JSON:https://doh.360.cn/query?
4、中国下一代互联网公共DNS.
DoT地址:dns.cfiec.net
DoH地址:https://dns.cfiec.net/dns-query
4、红鱼dns
DoT地址:rubyfish.cn
DoH地址:https://rubyfish.cn/dns-query
5、GEEKDNS
公益性站点,不做稳定性承诺,支持 EDNS-Client-Subnet。
DOH地址(国内) : https://i.233py.com/dns-query
DOH地址(国外):https://dns.233py.com/dns-query
二、国外服务商
1、Cloudflare 公共DNS
知名云服务商 Cloudflare 提供的解析服务器。
DoT地址:1.1.1.1
1.0.0.1
cloudflare-dns.com
DoH地址:https://1.1.1.1/dns-query
https://1.0.0.1/dns-query
https://1dot1dot1dot1.cloudflare-dns.com
2、Google 公共DNS
DoT地址:dns.google
8.8.8.8
8.8.4.4
DoH地址:
RFC8484(GET/POST):https://dns.google/dns-query
https://8.8.8.8/dns-query
https://8.8.4.4/dns-query
JSON(GET):https://dns.google/resolve
https://8.8.8.8/resolve
https://8.8.4.4/resolve
3、DNS.SB
服务器位于国外,但延迟使用体检较为可观,支持EDNS-Client-Subnet。
DoT地址:dns.sb
185.222.222.222
185.184.222.222
2a09::
2a09::1
DoH地址:https://doh.dns.sb/dns-query
4、AdGuard DNS
存在广告拦截,采用Anycast,全球多地存在节点。
DoT地址:
默认服务器:dns.adguard.com
家庭保护服务器:dns-family.adguard.com
非过滤服务器:dns-unfiltered.adguard.com
DoH地址:
默认服务器:https://dns.adguard.com/dns-query
家庭保护服务器:https://dns-family.adguard.com/dns-query
非过滤服务器:https://dns-unfiltered.adguard.com/dns-query
DNS-over-QUIC地址:
默认服务器:quic://dns.adguard.com
家庭保护服务器:quic://dns-family.adguard.com
非过滤服务器:quic://dns-unfiltered.adguard.com
DNSCrypt地址:
默认服务器:sdns://AQIAAAAAAAAAFDE3Ni4xMDMuMTMwLjEzMDo1NDQzINErR_JS3PLCu_iZEIbq95zkSV2LFsigxDIuUso_OQhzIjIuZG5zY3J5cHQuZGVmYXVsdC5uczEuYWRndWFyZC5jb20
家庭保护服务器:sdns://AQIAAAAAAAAAFDE3Ni4xMDMuMTMwLjEzMjo1NDQzILgxXdexS27jIKRw3C7Wsao5jMnlhvhdRUXWuMm1AFq6ITIuZG5zY3J5cHQuZmFtaWx5Lm5zMS5hZGd1YXJkLmNvbQ
非过滤服务器:sdns://AQcAAAAAAAAAFDE3Ni4xMDMuMTMwLjEzNjo1NDQzILXoRNa4Oj4-EmjraB--pw3jxfpo29aIFB2_LsBmstr6JTIuZG5zY3J5cHQudW5maWx0ZXJlZC5uczEuYWRndWFyZC5jb20
5、Quad9 公共DNS
IBM提供的公共DNS服务器。
DoT地址:dns.quad9.net
或 9.9.9.9
或 149.112.112.10
DoH地址:
服务 | DOH地址 | DNSSEC | 恶意拦截 | 加密 | IP地址(IPv4/IPv6) |
---|---|---|---|---|---|
安全(推荐) | https://dns.quad9.net/dns-query | 是 | 是 | 是 | 9.9.9.9 149.112.112.112 2620:fe::fe 2620:fe::fe:9 |
安全 | https://dns9.quad9.net/dns-query | 是 | 是 | 是 | 9.9.9.9 149.112.112.9 2620:fe::9 2620:fe::fe:9 |
不安全 | https://dns10.quad9.net/dns-query | 否 | 否 | 是 | 9.9.9.10 149.112.112.10 2620:fe::10 2620:fe::fe:10 |
安全(支持ECS) | https://dns11.quad9.net/dns-query | 是 | 是 | 是 | 9.9.9.11 149.112.112.11 2620:fe::11 2620:fe::fe:11 |