使用 DNSoverHTTPS(DoH) 对抗 DNS 劫持与污染,并保护隐私

前言

传统的明文 UDPDNS 查询可以被轻易劫持篡改,返回错误记录,被非法跳转 且泄漏隐私

DNS over HTTPS (DoH) 是一个进行安全化的域名解析方案。其意义在于以加密的 HTTPS 协议进行 DNS 解析请求,避免原始 DNS 协议中用户的 DNS 解析请求被窃听或者修改的问题(例如中间人攻击)来达到保护用户隐私的目的。

DoH 的安全原理与 DoT 一样,他们之间的区别只在于 DoH 有了 HTTPS 格式封装,更加通用。

Windows11

若你使用 Windows11,则可直接在系统中启用内置 DoH,请参考 这篇文章

Windows10

我在 Windows10 使用的 DoH 客户端为 AuroraDNS.GUI,开源于 github.com/mili-tan/AuroraDNS.GUI

下载 : 猪盘 / GhReleases

该客户端简洁易用,且支持自定义 DoH 服务器

使用方法

配置 主,辅 DNS over HTTPS 服务器(可以相同),可以使用公共的服务器,也可以自建

1

公共 DoH 服务器

肥猪这里使用了自建的服务器
若你要使用公共的 DoH 服务器,我推荐使用阿里,因为服务器在国内且快速
自建的话也是同理,建议使用国内服务器,因为如果 DNS 服务器在国外,访问国内的网站时 (特别是使用了 CDN 的网站) 时会返回其国外 CDN 节点,导致速度缓慢,不过配置国内上游好像可以解决这个问题

配置备用DNS

这里配置传统的 UDPDNS,用途是进行初始的解析
因为 DoH 的 DNS 服务器本身也是有域名的需要进行解析
当然,你也可以不填写备用DNS,直接修改 Hosts 把 DoH 服务器的域名指向服务器 IP,或使用软件的重定向名单功能,效果相同

修改系统 DNS

这一步相信各位不会陌生
打开 控制面板\网络和 Internet\网络连接 选择你的网络适配器修改DNS
2

将主 DNS 修改为 127.0.0.1,也就是 AuroraDNS 监听的IP (这时候 AuroraDNS 相当于一个传统DNS服务器)
备用 DNS 就设置为刚刚的 8.8.8.8,如果你已经使用 Hosts 把 DoH 服务器域名指向服务器 IP 了,你可以不设置

完成

到这里 DoH 的配置就完成了
打开 AuroraDNS 的开关
3
建议刚配置完时把日志打开,看看有没有出问题,日志保存在 软件目录/Log 里
在CMD输入 ipconfig /flushdns 清除系统 DNS 缓存就可以看到日志里开始有解析内容了
4
此时我们 PING Google 看看是返回了正确IP还是 127.0.0.1
如果返回正确 IP 则说明 DoH 配置成功,DNS 没有被劫持,好耶!

dnscrypt.info/implementations 中列出了更多的加密 DNS 的客户端和服务端实现

本文作者 : 肥猪qwq 转载请注明出处

关键词 : DoH客户端 DoH 加密DNS