在某些特殊网络环境下,可能会遇到常规DNS方法(无论是自动获取还是手动设置公共DNS)都无法解析某个特定域名的情况。DNS over HTTPS (DoH) 技术通常能绕过这种限制,因为它将DNS查询加密并通过HTTPS协议传输,难以被干扰或劫持
然而,原生对DoH的良好支持需要Win11或更新的系统版本
本教程使用第三方软件让老系统间接支持DoH
所需文件:
- dnscrypt-proxy 软件:
- 下载压缩包: https://github.com/DNSCrypt/dnscrypt-proxy/releases
- 本教程将使用
dnscrypt-proxy-win64-2.1.12.zip
演示
- 公共解析器列表 (Public Resolvers List):
操作步骤:
-
准备文件:
- 解压下载的
dnscrypt-proxy-win64-*.zip
- 将下载的
public-resolvers.md
和public-resolvers.md.minisig
两个文件放到上述dnscrypt-proxy
的文件夹内
- 解压下载的
-
配置 dnscrypt-proxy:
- 在
dnscrypt-proxy
文件夹内,找到dnscrypt-proxy.toml
文件(如果不存在,创建一个) - 打开修改为以下配置内容:
- 在
server_names = ['dnspod', 'alidns-doh']
[sources]
[sources.public-resolvers]
urls = []
cache_file = 'public-resolvers.md'
minisign_key = 'RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3'
* `server_names`:指定使用的具体DoH提供商。可以打开 `public-resolvers.md` 文件查看,里面列出了全球众多支持DoH/DoT的解析器及其属性(地理位置、是否记录日志、支持的协议等)
* `cache_file`:确保此处填写的文件名与下载并放入文件夹的公共解析器列表文件名**完全一致**(默认是 `public-resolvers.md`)
* `minisign_key`:这是验证列表完整性和真实性的公钥,务必保留此默认值
- 运行 dnscrypt-proxy:
- 在地址栏中输入
cmd
并按回车 在当前文件夹路径下打开命令提示符窗口 - 在命令提示符窗口中输入命令:
dnscrypt-proxy
并按回车 - 如果看到类似以下的输出(特别是最后有
dnscrypt-proxy is ready - live servers: 1
或更多),表示配置成功,代理正在运行并连接到了指定的DoH服务器:
- 在地址栏中输入
C:\Users\Administrator\Desktop\dnscrypt-proxy-win64-2.1.12>dnscrypt-proxy
[2025-06-09 21:26:52] [NOTICE] dnscrypt-proxy 2.1.12
[2025-06-09 21:26:52] [NOTICE] Using default Weighted Power of Two (WP2) load ba
lancing strategy
[2025-06-09 21:26:52] [NOTICE] Network connectivity detected
[2025-06-09 21:26:52] [NOTICE] Now listening to 127.0.0.1:53 [UDP]
[2025-06-09 21:26:52] [NOTICE] Now listening to 127.0.0.1:53 [TCP]
[2025-06-09 21:26:52] [NOTICE] Source [public-resolvers] loaded
[2025-06-09 21:26:52] [NOTICE] Firefox workaround initialized
[2025-06-09 21:26:52] [NOTICE] Hot reload is disabled
[2025-06-09 21:26:54] [NOTICE] [dnspod] OK (DoH) - rtt: 579ms
[2025-06-09 21:26:54] [NOTICE] Server with the lowest initial latency: dnspod (rtt: 579ms)
[2025-06-09 21:26:54] [NOTICE] dnscrypt-proxy is ready - live servers: 1
- 安装为系统服务 (实现开机自启):
- 右键点击
service-install.bat
,选择 “以管理员身份运行” - 脚本会执行安装操作,看到类似以下的输出表示安装成功:
- 右键点击
[2025-06-09 22:36:43] [NOTICE] Installed as a service. Use `-service start` to start
[2025-06-09 22:36:44] [NOTICE] Service started
Thank you for using DNSCrypt-Proxy!
Press [Enter] to exit . . .
- 验证本地DNS解析:
- 打开一个新的命令提示符窗口 (
Win + R
→ 输入cmd
→ 回车) - 输入
nslookup nodeloc.cc 127.0.0.1
进行测试
- 打开一个新的命令提示符窗口 (
C:\Users\Administrator>nslookup nodeloc.cc 127.0.0.1
服务器: localhost
Address: 127.0.0.1
非权威应答:
名称: nodeloc.cc
Addresses: 2606:4700:3030::6815:426a
2606:4700:3033::ac43:9f6e
172.67.159.110
104.21.66.106
当看到域名被成功解析,显示其IP地址。这证明本地运行的 dnscrypt-proxy
服务(监听在 127.0.0.1:53)已经通过DoH正常工作
6. 修改系统DNS设置:
* 首选dns设置为127.0.0.1
* (如需要具体教程自行搜索)
* 建议填写备用dns以防失效
这里打包了要下载的文件 有需要自取