[点晴永久免费OA]什么是 DNS over HTTPS?如何开启 DoH?
当我们用浏览器访问网站时,会有一个必不可少的步骤:DNS 解析。
在地址栏输入一个网址,例如:www.google.com
电脑并不能直接理解访问目标是谁,于是需要先去询问 DNS 服务器:
www.google.com 对应的 IP 地址是多少?
这个过程就叫 DNS 查询。
但传统 DNS 存在一个问题:查询过程是明文的。
也就是说,在网络中间的设备(例如运营商)是可以看到 DNS 查询内容的,例如:
www.google.comwww.youtube.comwww.example.com
如果网络设备不仅能看到 DNS 查询,还能修改返回结果,就可能发生 DNS 劫持。为了解决这个问题,就出现了一种新的技术:DoH。
DoH 是 DNS over HTTPS 的缩写,意思是通过 HTTPS 进行 DNS 查询。
传统 DNS 的查询方式是:
DNS → UDP 53 端口 → 明文传输
而 DoH 则把 DNS 请求封装在 HTTPS 里面:
DNS → HTTPS 443 端口 → TLS 加密
也就是说,DNS 查询不再是明文,而是通过 HTTPS 加密传输。
这样一来,网络中的其他设备只能看到一段 HTTPS 流量,而无法知道具体查询了哪个域名。
使用 DoH 主要有几个好处:
DNS 查询内容被加密,网络中的其他设备无法看到查询的域名。
有些网络会修改 DNS 返回结果,例如把某些网站解析到错误的地址。
使用 DoH 后,中间设备无法篡改 DNS 查询结果。
DoH 使用 HTTPS 传输,具有 TLS 加密保护。
目前很多公共 DNS 都支持 DoH,例如:
这些服务都提供专门的 DoH 接口,例如:
Cloudflare:
https://cloudflare-dns.com/dns-query
Google:
https://dns.google/dns-query
很多人以为,只要把 DNS 改成:
8.8.8.81.1.1.1
就等于使用了 DoH。
这是一个误解。
如果只是修改 DNS IP,系统仍然会使用传统 DNS:
电脑 → 8.8.8.8:53 → 明文 DNS
只有当 DNS 查询通过 HTTPS 发送 时,才算是 DoH。
目前开启 DoH 主要有两种常见方式。
很多浏览器已经内置 DoH 功能,例如:
以 Firefox 为例:
打开设置:
设置→ 网络设置→ DNS over HTTPS
然后选择:
CloudflareNextDNS自定义
如果选择自定义,可以填写:
https://dns.google/dns-query
开启后,浏览器的 DNS 查询就会通过 HTTPS 发送。
在较新的 Windows 系统中,也可以直接开启 DoH。
步骤:
设置→ 网络和 Internet→ DNS 设置→ 加密 DNS
然后选择支持 DoH 的 DNS 服务器,例如:
1.1.1.1
系统就会自动使用对应的 DoH 接口。
简单来说:
DoH 的核心思想就是:把 DNS 查询放进 HTTPS 里面传输。
这样既可以保护隐私,也可以避免 DNS 被篡改。