DNS over HTTPS可通过加密方式与公共DNS服务器进行通信 , 该技术主要用来规避运营商追踪和分析用户流量。 在最新发布的Windows 10 Build 19628测试版里微软已经带来DoH功能,不过尚在测试阶段所以默认并未开启。 用户如需使用此功能的话需修改注册表键值,开启后再配置支持DoH功能的公共 DNS 服务器即可加密查询流量。 注:以下教程仅在Windows 10测试版中使用,待微软正式提供DoH功能后不需要修改注册表即可配置和使用等。
- 先决条件:
微软官方的说明:
系统版本必须为Windows 10 Build 19628版及以上版本,暂时低于该版本的系统均不支持DoH加密。
转到注册表然后复制粘贴以下路径并打开:右键点击右侧空白处新建DWORD然后将其命名为EnabledAutoDoh
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters
双击该项然后将其键值由默认值修改2并保存,保存成功后重启计算机确保生效,重启后接下来配置DNS服务器。
- 设置启用DOH
在双击IPv4/IPv6协议然后点击使用下面的DNS服务器地址,接下来输入上面那些支持DoH的公共DNS地址即可。
- DOH状态检查
netsh dns show encryption server=1.1.1.1 # 打开PowerShell # 重置网络流量分析 pktmon filter remove # 过滤普通DNS服务器的53端口流量 pktmon filter add -p 53 # 开始记录数据 pktmon start --etw -m real-time
- 配置支持DoH的公共DNS服务器:
# 高级设置 # 如果你需要测试自定义DNS服务器请使用以下命令添加模板 netsh dns add encryption server=<your-server’s-IP-address> dohtemplate=<your-server’s-DoH-URI-template> # 使用该命令可查询给定DNS地址已配置的模板 netsh dns show encryption server=<your-server’s-IP-address>
- 最终效果检查
打开chrome(chrome未启用DOH配置),输入ipleak.net
win10未开启DOH的chrome效果
补充:
支持DOH的工具
官网:https://yogadns.com/
测试通过
参考资料:
- https://www.landiannews.com/archives/73909.html?replytocom=103153
- https://www.windowszj.net/wzjc/win10/893.html
- https://techcommunity.microsoft.com/t5/networking-blog/windows-insiders-can-now-test-dns-over-https/ba-p/1381282
- http://www.win10w.net/wenzhang/12768.html
- https://freefq.com/jq/2021/05/26/DNSProxy-EDNS.html