更新

  • 22.1.23:发现有的dns配置没有首选的dns加密,好像是用无线的时候就会没有,不影响,看情况2就行

为了方便,直接给出一些模板(国内可用的)

netsh dns add encryption server=223.5.5.5 dohtemplate=https://dns.alidns.com/dns-query autoupgrade=yes udpfallback=no
netsh dns add encryption server=223.6.6.6 dohtemplate=https://dns.alidns.com/dns-query autoupgrade=yes udpfallback=no
netsh dns add encryption server=101.101.101.101 dohtemplate=https://dns.twnic.tw/dns-query autoupgrade=yes udpfallback=no # 这个是台湾省的DoH服务
netsh dns add encryption server=120.53.80.136 dohtemplate=https://doh.pub/dns-query autoupgrade=yes udpfallback=no #这个是腾讯dnspod的doh服务,server的地址需要自己ping一下doh.pub改一下,因为不是固定的ip

配置

情况1

可以看到有首选的DNS加密选项
设置 - 网络和Internet - 以太网(根据自己情况来)- DNS服务器分配 - 编辑
在这里插入图片描述
Win11原生支持以下DoH服务:
IPv4

  • Google:8.8.8.8 and 8.8.4.4
  • Cloudflare:1.1.1.1 and 1.0.0.1
  • Quad9:9.9.9.9 and 149.112.112.112

IPv6

  • Google:2001:4860:4860::8888 and 2001:4860:4860::8844
  • Cloudflare:2606:4700:4700::1111 and 2606:4700:4700::1001
  • Quad9:2620:fe::fe and
    2620:fe::fe:9
自定义的DoH服务配置

然鹅,上面三个都是连不上的,因为众所周知的原因。此时输入其他的DoH服务的IP地址(例如223.5.5.5),首选的DNS加密位置是灰色的,没办法选择,原因是Win11没有内置这些地址的DoH模板,需要手动添加。

查看系统中的DoH模板命令netsh dns show encryption
在这里插入图片描述
管理员权限,使用netsh或者Powershell添加DoH服务模板:

netsh dns add encryption server=[resolver-IP-address] dohtemplate=[resolver-DoH-template] autoupgrade=yes udpfallback=no
Add-DnsClientDohServerAddress -ServerAddress '[resolver-IP-address]' -DohTemplate '[resolver-DoH-template]' -AllowFallbackToUdp $False -AutoUpgrade $True

举个例子,比如想用阿里223.5.5.5的DoH,可以从其DNS官网或者 公共DNS大全地址汇总 找到他们的DoH链接是https://223.5.5.5/dns-query

我们输入netsh dns add encryption server=223.5.5.5 dohtemplate=https://223.5.5.5/dns-query autoupgrade=yes udpfallback=no就可以添加这条DoH配置

图里这个用不了啊,因为doh.pub解析不指向119.29.29.29,所以doh是连不上的
在这里插入图片描述
然后去最开始的设置的地方,再输入223.5.5.5,此时首选的DNS加密就可以选择了。

设置好以后,用Wireshark抓包,使用过滤条件ip.addr==223.5.5.5就可以看到TLS加密的报文,而此时过滤dns报文,基本上是空的,说明配置成功了。

情况2

没有首选的DNS加密选项
在这里插入图片描述
此时先确保无论是dhcp分配的,还是手动指定的dns服务,是支持doh的,比如此时我是dhcp分配的223.5.5.5
在这里插入图片描述
使用情况1中的添加方法,添加223.5.5.5对应的doh模板netsh dns add encryption server=223.5.5.5 dohtemplate=https://223.5.5.5/dns-query autoupgrade=yes udpfallback=no

这条命令的含义是添加加密dns模板,服务器是223.5.5.5,模板是https://223.5.5.5/dns-query,自动升级允许(意思是你要是配置223.5.5.5作为dns的话,就会自动启用doh),回退不允许(只能doh,不允许降级

此时再进行dns查询就都是加密的啦

情况3

据说组策略也可以修改doh加密,不过我没研究透和上面这个是啥关系,有兴趣的可以搞下:

路径:组策略 - 计算机配置 - 管理模板 - 网络 - DNS客户端

相关的配置有两个:

  1. 配置通过HTTPS实现的DNS(DoH)名称解析
  2. DNS服务器

自己研究吧:)

DoH列表

参考 公共DNS大全地址汇总
上面这个可能有点问题,也可以看这个 DoT/DoH 加密 DNS 服务器地址大全
还有一个宝藏列表,还算全:https://dnscrypt.info/public-servers/

推荐使用阿里和腾讯的
https://223.5.5.5/dns-query
https://223.6.6.6/dns-query
https://dns.alidns.com/dns-query
https://doh.pub/dns-query

https://doh.360.cn/dns-query
https://dns.cfiec.net/dns-query

国外的,大概率无法使用:
https://dns.google/dns-query
https://dns.quad9.net/dns-query
https://doh.opendns.com/dns-query
https://1.1.1.1/dns-query
https://1.0.0.1/dns-query
https://cloudflare-dns.com/dns-query

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐