什么是DoH?Macos/Windows怎么开启DoH?

Pros and Cons of DNS Over HTTPS

什么是DNS

DNS全称是Domain Name System,中文译为域名系统,是互联网的一项服务,它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。例如访问的网站为www.google.com,映射的IP为172.217.175.68

DNS的缺陷

DNS建立之初,并没有考虑加密的问题,所以用户在访问网站时,全程是公开的,就像邮递员投递的邮件一样,邮差是可以看到的,邮政公司也是可以看到的,如果有人想通过邮政公司投递一些广告,是可以知道可以投放给谁的,当然DNS信息公开,不仅局限在谋利广告上,更主要的是个人信息的泄露和被监控以及中间人的攻击。

DoH

Doh全称为DNS over Https,是以https加密的方式将DNS的访问过程进行加密,以防止被窃听或者被攻击。

怎么启用DoH

随着Macos 11版本和windows 11版本的发布,两大商家都宣布了对于Doh的系统级支持,2020年6月,苹果在WWDC大会宣布 iOS 14 与 macOS 11 新增对加密DNS的支持,包括 DNS over HTTPS(DoH)与 DNS over TLS(DoT)。
支持DoH的软件

  • Argo Tunnel(Cloudflared) — 操作系统支持:Linux/MacOS/Windows
  • Firefox、Chrome、Edge(Chromium版) — 浏览器支持
  • DNSCrypt-proxy — Local DNS → DNS over HTTPS proxy
  • doh-php-client — PHP 实现
  • dns-over-https — Go 实现
  • 1.1.1.1 (应用程序) — iOS / Android
  • Privacy Pro SmartVPN (应用程序) — iOS
  • AdGuard (应用程序) — iOS (DNS over HTTPS 功能需付费) / Android
    • 由AdGuard公司领导开发的开源的DNS服务器软件AdGuard Home — 操作系统支持:Linux/MacOS/FreeBSD/Windows 可用于在家庭/公司网络中架设DNS服务器以为其他不支持DoH/DoT的设备提供加密DNS服务代理。AdGuard Home在GitHub上的代码库
在 Firefox 62 及以上版本中开启 DNS over HTTPS
  1. 在浏览器地址栏输入 about:config 然后打开,并同意警告信息。
  2. 搜索 network.trr
  3. 设置 network.trr.mode 值为2
  4. 在 network.trr.uri 中填入上表中任一服务器,例如:https://1.1.1.1/dns-query

设置好后,在地址栏输入 about:networking 可以看到具体通信情况

在 Chrome 中开启 DNS over HTTPS
  1. 在浏览器地址栏输入 chrome://flags 然后打开
  2. 搜索 DNS
  3. 设置 Secure DNS lookups 值为 Enabled
在Chromium版Edge 中开启 DNS over HTTPS
  1. 在浏览器地址栏输入 edge://settings/privacy 然后打开
  2. 查找“安全性”一栏
  3. 打开“使用安全的 DNS 指定如何查找网站的网络地址”

怎么检测是否开启了DoH?

https://www.cloudflare.com/ssl/encrypted-sni/

测试结果如下,则表示DoH已经启用。

什么是DoH?Macos/Windows怎么开启DoH?

即使浏览器上已经启用了DoH,那也不代表你已经在使用中了,软件设置之后还需要配合兼容DoH的DNS一起使用。

支持DoH的DNS:

Cloudflare:1.1.1.1

Google Public DNS:8.8.8.8,8.8.4.4

Open DNS

DNS 设置在选定网络连接的TCP/IP 属性窗口中指定。

示例:更改 Windows 10 上的 DNS 服务器设置

  1. 转到控制面板
  2. 单击网络和 Internet >网络和共享中心>更改适配器设置
  3. 选择要为其配置 Google 公共 DNS 的连接。例如:
    • 要更改以太网连接的设置,请右键单击以太网接口并选择属性
    • 要更改无线连接的设置,请右键单击 Wi-Fi 界面并选择属性

    如果系统提示您输入管理员密码或确认,请键入密码或进行确认。

  4. 选择网络选项卡。在此连接使用以下项目下,选择Internet 协议版本 4 (TCP/IPv4)Internet 协议版本 6 (TCP/IPv6),然后单击属性
  5. 单击高级并选择DNS选项卡。如果那里列出了任何 DNS 服务器 IP 地址,请将它们记下来以备将来参考,并将它们从该窗口中删除。
  6. 单击“确定”
  7. 选择使用以下 DNS 服务器地址。如果首选 DNS 服务器备用 DNS 服务器中列出了任何 IP 地址,请将其记下以备将来参考。
  8. 将这些地址替换为 Google DNS 服务器的 IP 地址:
    • 对于 IPv4:8.8.8.8 和/或 8.8.4.4。
    • 对于 IPv6:2001:4860:4860::8888 和/或 2001:4860:4860::8844。
    • 对于仅 IPv6:您可以使用Google Public DNS64 代替上一点的 IPv6 地址。

示例:在 macOS 10.15 上更改 DNS 服务器设置

  1. 单击Apple 菜单>系统偏好设置>网络
  2. 如果窗口左下角的锁图标被锁定,请单击该图标进行更改,并在提示进行身份验证时输入密码。
  3. 选择要为其配置 Google 公共 DNS 的连接。例如:
    • 要更改 Wi-Fi 连接的设置,请选择Wi-Fi,然后单击高级
    • 要更改以太网连接的设置,请选择内置以太网,然后单击高级
  4. 选择DNS选项卡。
  5. 单击+以使用列表顶部的 Google IP 地址替换或添加任何列出的地址:
    • 对于 IPv4:8.8.8.8 和/或 8.8.4.4。
    • 对于 IPv6:2001:4860:4860::8888 和/或 2001:4860:4860::8844。
    • 对于仅 IPv6:您可以使用Google Public DNS64 代替上一点的 IPv6 地址。
  6. 单击确定>应用

原创文章,作者:开空网,转载请注明出处:https://www.openull.org/doh.html

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注