今天我花了三个小时仔细研究了Windows的DNS加密(DoH)相关的内容,最终成功开启了国内可用的DNS加密功能,如果你还不知道什么是DoH并对原理感兴趣,可以参考这篇文章:https://zhuanlan.zhihu.com/p/365093156,话不多说,上干货。
前置条件
-
Windows 11系统(build2200及以上)
- 或者Windows 10 系统(build19628及以上),如果版本号达不到,需要加入Windows 10 预览版才行
核心目标
我需要一个一劳永逸的保障DNS安全的方案,此次Windows添加的DNS功能就是个很好的契机,所以开始之前,我设定了两个核心目标:
- 安全可靠(防DNS污染)
- 速度快且稳定(要支持EDNS,防止国内网站被解析到外面)
考虑到8.8.8.8(或1.1.1.1)的特殊情况,这次我选择了OpenDNS的公共服务(208.67.222.222;208.67.220.220),在国内能有200ms的稳定ping值(联通网络),并且路由线路比较好。
当然你也可以选择国内的一些支持DoH服务商(比如223.5.5.5),速度会更快一些。
设置步骤
- 设置的时候我发现Windows11 只支持少数几个DoH服务商(比如8.8.8.8等),难道就无法自定义吗?然后我进一步研究尝试出了自定义的方法(此篇文章的含金量就在这里)
- 首先我们windows键+x以管理员身份打开一个Windows终端(其实就是PowerShell)
-
然后看一下Windows默认支持的有哪些DoH服务商
(除了Quad9,其它的知名DNS服务商因为特殊原因大家都无法使用DoH,但是Quad9的DNS服务线路不佳,请求容易失败)
- 接下来我们添加OpenDNS作为加密DNS服务商模板:
- netsh dns add encryption 208.67.220.220 "https://208.67.220.220/dns-query" no no
- netsh dns add encryption 208.67.222.222 "https://208.67.222.222/dns-query" no no
-
我们netsh dns show encryption再确认一下:
-
接下来打开"网络和Internet设置",选择以太网(如果电脑是用的Wifi就选Wifi),点击编辑(编辑DNS服务)
-
在这里我们手动设置DNS服务器为208.67.220.220和208.67.222.222,这里我们为了验证DoH效果,选择了"仅加密(通过HTTPS的DNS)",你也可以选择"已加密的首选、未加密的允许"以实现DNS回滚(回滚的时候就又是访问的53端口的常规DNS了)
- Ipconfig /flushdns 清理一下DNS缓存
- 打开浏览器看一下是否可以正常访问网站,如果一切正常,我们便用上了系统级别的DNS安全服务(以前我是在浏览器里单独设置DoH的),如果失败,则会出现无法获取DNS解析的情况(需要仔细检查一下操作步骤)。
结语
DNS服务安全至关重要,如果你对目前的上网环境不是很满意,怀疑可能有DNS污染问题,不妨按照本文的方法一试,如果有帮到你一点点,给个赞呗!如果你有更多问题,我们评论区见。
one response
[…] 上一回我们说到《Win11快速开启DNS加密功能》,这样做在电脑上可以,但是对局域网内其它设备(如手机)就无能为力了,今天我们来更进一步,在家庭局域网内搭建一台DNS服务器,同时支持DoH转发等高级功能,特别适合家里已有NAS的场景。 […]