[教程] 通过注册表开启Windows 10 DoH功能加密DNS查询提高隐私安全
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服务器。
CloudFlare & APNIC 亚太互联网信息中心:1.1.1.1 1.0.0.1 2606:4700:4700::1111 2606:4700:4700::1001
谷歌公司运营的加密公共DNS服务器地址如下:8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844
由IBM公司为主运营的Quad9公共DNS服务器地址如下:9.9.9.9 149.112.112.112 2620:fe::fe 2620:fe::9
转到Windows 10设置、网络、状态、高级、更改适配器选项,然后右键正在使用的网卡点属性、协议版本设置。
在双击IPv4/IPv6协议然后点击使用下面的DNS服务器地址,接下来输入上面那些支持DoH的公共DNS地址即可。
Windows 10自带 Packetmon 工具可以用来分析网络流量,借助该工具我们可以用来验证配置DoH后流量状态。
# 打开PowerShell # 重置网络流量分析 pktmon filter remove # 过滤普通DNS服务器的53端口流量 pktmon filter add -p 53 # 开始记录数据 pktmon start --etw -m real-time # 高级设置 # 如果你需要测试自定义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>