DNS over HTTPS(DoH)配置方法:加密DNS查询的实践

DNS over HTTPS(DoH)将DNS查询加密在HTTPS中,防止窃听和劫持。本文以典型场景串联步骤,演示如何在浏览器、Windows、macOS及路由器上配置DoH,并解答常见问题。

DNS over HTTPS(DoH)配置方法:加密DNS查询的实践
封面图:ZuCDN · ZuCDN 原创

当你在公共Wi-Fi下浏览网页,或怀疑运营商劫持DNS时,DNS over HTTPS(DoH)能帮你加密DNS查询,防止中间人窃听和篡改。本文以典型场景串联步骤,手把手教你配置DoH。

场景一:在浏览器中启用DoH(最快速)

浏览器是DNS查询的高频入口,多数现代浏览器已内置DoH支持。以Chrome为例,进入「设置」-「隐私设置和安全性」-「安全」,找到「使用安全DNS」,选择「使用自定义」并填入DoH服务商地址,如https://dns.google/dns-query(Google)或https://cloudflare-dns.com/dns-query(Cloudflare)。Firefox则在「设置」-「网络设置」中启用「基于HTTPS的DNS」。启用后,地址栏输入chrome://net-internals/#dns可查看实际使用的DoH服务器。

场景二:在Windows系统上配置DoH(覆盖全系统)

浏览器配置仅影响浏览器自身,若想全系统生效,需在操作系统层面设置。Windows 11/10(较新版本)支持DoH:打开「设置」-「网络和Internet」-「以太网」或「WLAN」,点击当前连接的属性,找到「DNS服务器分配」,选择「手动」,将IPv4或IPv6 DNS设为DoH地址,并在「DNS over HTTPS」下拉框选择「开」。注意:Windows的DoH实现依赖系统解析器,若使用第三方DNS服务,需确认其DoH端点格式。

场景三:在macOS上配置DoH(使用配置文件)

macOS原生不支持图形化配置DoH,但可通过描述文件实现。创建一个.mobileconfig文件,利用dnsSettings键指定DoH服务器,如https://dns.quad9.net/dns-query。然后双击安装到系统。此方法需要一定的技术背景,且macOS更新可能影响配置。若不想折腾,可考虑使用第三方工具如dnscrypt-proxy

场景四:在路由器上配置DoH(家庭全网覆盖)

在路由器上配置DoH可让所有连接设备自动使用加密DNS,但需路由器固件支持。以OpenWrt为例,安装https-dns-proxy包,编辑/etc/config/https-dns-proxy,填入DoH服务器地址,并设置监听端口。然后修改DHCP/DNS设置,将DNS转发到本地代理。此方案适合技术爱好者,普通路由器可能不支持。

DoH与DoT:如何选择?

DoH(DNS over HTTPS)和DoT(DNS over TLS)都能加密DNS流量,但存在差异。DoH使用443端口,与HTTPS流量混合,难以被防火墙阻断;而DoT使用853端口,相对容易被识别和封锁。DoH的缺点是可能增加延迟(因HTTPS握手),但现代协议已优化。若你所在网络屏蔽了853端口,DoH是更优选择;若追求更低延迟且端口开放,DoT也可考虑。

配置DoH时的常见误区

误区一:认为启用DoH就完全匿名。DoH只加密DNS查询,不隐藏IP地址,也无法防止网站跟踪。误区二:忽略DoH的解析延迟。某些DoH服务商在全球有节点,但若选择不当,可能比本地DNS慢。误区三:在加密DNS之上仍使用不安全的HTTP协议,这并不能保护网页内容。另外,DoH配置错误会导致域名解析失败,此时应检查地址是否可访问、端口是否被拦截。

故障排查:DoH不生效怎么办?

若配置后仍解析失败,首先用nslookupdig命令检查系统DNS是否指向预期地址。其次,尝试在浏览器中访问DoH端点(如https://dns.google/dns-query),若无法访问,可能是网络防火墙或GFW干扰。最后,查看系统日志(如Windows事件查看器或macOS统一日志),寻找与DNS相关的错误。记住,DoH服务商可能对查询频率有限制,频繁请求可能被暂时封禁。

参考资料

延伸阅读