什么是 DNS-Over-HTTPS 以及如何在您的设备(或浏览器)上启用它

尝试消除问题的工具

DNS-over-HTTPS(安全 DNS)是一项新技术,旨在通过加密客户端计算机和 DNS 服务器之间的通信来使网络浏览安全。

这种新的互联网标准正在被广泛采用。采用列表包括 Windows 10(2004 版)、Android 9 Pie、Google Chrome、Mozilla Firefox、Microsoft Edge、Opera 和 Vivaldi 等。

在本文中,我们将讨论 DNS-over-HTTPS 的优缺点以及如何在您的设备中启用此协议。

我们还将讨论如何测试您的设备是否启用了 DoH。

让我们开始。 快速总结 隐藏 1 DNS-over-HTTPS 及其工作原理的简单说明 2 DNS-over-HTTPS 的优缺点 2.1 DoH 无法实现用户的完全隐私 2.2 DoH 不适用于 HTTP 查询 2.3 并非所有 DNS 服务器都支持 DoH 2.4 DoH将是企业头疼的问题 3 使用 DNS-over-HTTPS 会减慢浏览速度吗? 4 如何在 Windows 10 上启用或禁用 DNS-over-HTTPS 4.1 使用 Windows 注册表 4.2 使用组策略 4.3 使用 PowerShell(命令行) 5 如何在浏览器中启用或禁用 DNS-over-HTTPS 5.1 在 Google Chrome 中启用 DNS-over-HTTPS 5.2 在 Mozilla Firefox 中启用 DNS-over-HTTPS 5.3 在 Microsoft Edge 中启用 DNS-over-HTTPS 5.4 在 Opera 浏览器中启用 DNS-over-HTTPS 5.5 在 Vivaldi 浏览器中启用 DNS-over-HTTPS 6 如何在 Android 中启用 DNS-over-HTTPS 7 如何检查是否使用了 DNS-over-HTTPS? 8 支持 DoH 的名称服务器列表

DNS-over-HTTPS 及其工作原理的简单说明

DNS-over-HTTPS (DoH) 是一种用于加密计算机和 DNS 服务器之间的 DNS 查询的协议。它于 2018 年 10 月首次推出( IETF RFC 8484 ) 以提高用户的安全性和隐私性。

传统 DNS 服务器使用 DNS 端口 53 进行通信,而 DNS-over-HTTPS 使用 HTTPS 端口 443 与客户端进行安全通信。

请注意,虽然 DoH 是一种安全协议,但它不会阻止 ISP 跟踪您的请求。它只是对您的计算机和 ISP 之间的 DNS 查询数据进行加密,以防止诸如欺骗、中间人攻击等问题。

让我们通过一个简单的例子来理解这一点。

DNS 的工作原理如下:

  1. 如果您想打开域名 itechtics.com 并使用您的浏览器请求它。
  2. 您的浏览器向系统中配置的 DNS 服务器发送请求,例如 1.1.1.1。
  3. DNS 递归解析器 (1.1.1.1) 转到顶级域 (TLD)(在我们的示例中为 .com)的根服务器,并请求 itechtics.com 的名称服务器。
  4. 然后 DNS 服务器 (1.1.1.1) 转到 itechtics.com 的名称服务器并询问 itechtics.com DNS 名称的 IP 地址。
  5. DNS 服务器 (1.1.1.1) 将此信息传送到浏览器,浏览器连接到 itechtics.com 并从服务器获得响应。

从您的计算机到 DNS 服务器到 TLD DNS 服务器到名称服务器到网站的所有这些通信都是以简单文本消息的形式完成的。

这意味着任何人都可以监控您的网络流量并轻松了解您正在打开哪些网站。

DNS-over-HTTPS 对您的计算机和 DNS 服务器之间的所有通信进行加密,使其更加安全且不易受到中间人攻击和其他欺骗攻击。

让我们通过一个直观的例子来理解这一点:

当 DNS 客户端不使用 DoH 将 DNS 查询发送到 DNS 服务器时:

未启用基于 HTTPS 的 DNS

当 DoH 客户端使用 DoH 协议将 DNS 流量发送到启用 DoH 的 DNS 服务器时:

启用基于 HTTPS 的 DNS

在这里你可以看到从客户端到服务器的 DNS 流量是加密的,没有人知道客户端请求了什么。来自服务器的 DNS 响应也被加密。

DNS-over-HTTPS 的优缺点

虽然 DNS-over-HTTPS 将慢慢取代传统的 DNS 系统,但它有其自身的优势和潜在的问题。让我们在这里讨论其中的一些。

DoH 无法实现用户的完全隐私

DoH 被吹捧为用户隐私和安全领域的下一件大事,但在我看来,它只关注用户安全而不关注隐私。

如果您了解该协议的工作原理,您就会知道 DoH 不会阻止 ISP 跟踪用户 DNS 请求。

即使 ISP 无法使用 DNS 跟踪您,因为您使用的是不同的公共 DNS 提供商,仍有许多数据点仍对 ISP 开放以进行跟踪。例如, 服务器名称指示 (SNI) 字段在线证书状态协议 (OCSP) 连接 等等。

如果您想要更多隐私,您应该查看其他技术,如 DNS-over-TLS (DoT)、DNSCurve、DNSCrypt 等。

DoH 不适用于 HTTP 查询

如果您打开的网站不使用 SSL,DoH 服务器将回退到传统 DNS 技术 (DNS-over-HTTP),也称为 Do53。

但是如果你在任何地方都使用安全通信,DoH 绝对比使用裸机旧的和不安全的 DNS 技术更好。

并非所有 DNS 服务器都支持 DoH

有大量传统 DNS 服务器需要升级以支持 DNS-over-HTTPS。这将需要很长时间才能被广泛采用。

在大多数 DNS 服务器支持此协议之前,大多数用户将被迫使用大型组织提供的公共 DNS 服务器。

这将导致更多的隐私问题,因为大部分 DNS 数据将在世界各地的几个集中位置收集。

早期采用 DoH 的另一个缺点是,如果全球 DNS 服务器出现故障,大多数使用该服务器进行名称解析的用户都会被绊倒。

DoH将是企业头疼的问题

虽然 DoH 将提高安全性,但对于监控员工活动并使用工具阻止网络的 NSFW(工作不安全)部分的企业和组织来说,这将是一个令人头疼的问题。

网络和系统管理员将很难应对新协议。

使用 DNS-over-HTTPS 会减慢浏览速度吗?

在针对旧版 Do53 协议测试性能时,需要注意 DoH 的两个方面:

  1. 名称解析性能
  2. 网页加载性能

名称解析性能是我们用来计算 DNS 服务器向我们提供我们要访问的网站所需的服务器 IP 地址所需时间的指标。

网页加载性能是我们在使用 DNS-over-HTTPS 协议浏览 Internet 时是否感到任何减速的实际指标。

这两项测试均由 samknows 执行,最终结果是 DNS-over-HTTPS 与旧版 Do53 协议之间的性能差异可以忽略不计。

你可以阅读 使用 samknows 的统计数据完成性能案例研究 .

以下是我们上面定义的每个指标的汇总表。 (点击图片查看大图)

名称解析性能测试 DoH 与 Do53 ISP 性能表

DoH 与 Do53 ISP 性能表

网页加载性能测试 DoH 与 Do53 网页加载性能

DoH 与 Do53 网页加载性能

如何在 Windows 10 上启用或禁用 DNS-over-HTTPS

默认情况下,Windows 10 Version 2004 将启用 DNS-over-HTTPS。因此,一旦 Windows 10 的下一版本发布并且您升级到最新版本,就无需手动启用 DoH。

但是,如果您使用的是 Windows 10 Insider Preview,则需要使用以下方法手动启用 DoH:

使用 Windows 注册表

  1. 运行 –> regedit .这将打开 Windows 注册表编辑器。
  2. 打开以下注册表项:
    HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesDnscacheParameters
  3. 右键单击 参数 文件夹并选择 新建 –> DWORD(32 位) 价值。
  4. 命名 启用AutoDoh .
  5. 将 EnableAutoDoh 条目的值设置为 2 .

您需要重新启动计算机才能使更改生效。

请注意,此更改仅在您使用支持 DNS-over-HTTPS 的 DNS 服务器时生效。下面你会发现一个 支持 DoH 的公共 DNS 提供商列表 .

默认情况下,包括版本 1909 和 1903 在内的早期版本的 Windows 10 不支持 DoH。

使用组策略

我保留此部分以备将来使用。目前,没有针对 DNS-over-HTTPS 的组策略规则。我们将在 Microsoft 为 Windows 10 Version 2004 提供这些步骤时填写这些步骤。

使用 PowerShell(命令行)

我保留此部分以备将来使用。如果 Microsoft 提供了使用命令行启用或禁用 DoH 的方法,我们将在此处列出步骤。

如何在浏览器中启用或禁用 DNS-over-HTTPS

某些应用程序支持绕过系统配置的 DNS 服务器并改用 DNS-over-HTTPS。几乎所有现代浏览器要么已经支持 DoH,要么将在不久的将来支持该协议。

在 Google Chrome 中启用 DNS-over-HTTPS

  1. 打开谷歌浏览器并转到以下 URL:
    chrome://settings/security
  2. 在下面 高级安全 , 打开 使用安全 DNS .
  3. 启用安全 DNS 后,将有两个选项:
    • 与您当前的服务提供商
    • 与 Google 推荐的服务提供商合作

你可以选择任何适合你的。第二个选项将覆盖系统的 DNS 设置。

在 Google Chrome 中启用安全 DNS

要禁用 DoH,只需切换 使用安全 DNS 设置为 离开 .

在 Mozilla Firefox 中启用 DNS-over-HTTPS

  1. 打开 Firefox 并转到以下 URL:
    about:preferences
  2. 在下面 一般的 , 去 网络设置 并点击 设置 按钮。或者只需按下 键盘键打开设置。
  3. 滚动到底部并 查看 通过 HTTPS 启用 DNS .
  4. 从下拉列表中,您可以选择首选的安全 DNS 服务器。

在 Microsoft Edge 中启用 DNS-over-HTTPS

  1. 打开 Microsoft Edge 并转到以下 URL:
    edge://flags/#dns-over-https
  2. 选择 启用 从旁边的下拉菜单 安全的 DNS 查找 .
  3. 重新启动浏览器以使更改生效。

在 Opera 浏览器中启用 DNS-over-HTTPS

  1. 打开 Opera 浏览器并转到设置 (Alt + P)。
  2. 扩张 先进的 在左侧菜单上。
  3. 在系统下, 打开 使用 DNS-over-HTTPS 而不是系统的 DNS 设置 .
  4. 重新启动浏览器以使更改生效。

直到我禁用了 Opera 的内置 VPN 服务,安全 DNS 设置才生效。如果您在 Opera 中启用 DoH 时遇到问题,请尝试禁用 VPN。

在 Vivaldi 浏览器中启用 DNS-over-HTTPS

  1. 打开 Vivaldi 浏览器并转到以下 URL:
    vivaldi://flags/#dns-over-https
  2. 选择 启用 从旁边的下拉菜单 安全的 DNS 查找 .
  3. 重新启动浏览器以使更改生效。

如何在 Android 中启用 DNS-over-HTTPS

Android 9 Pie 支持 DoH 设置。您可以按照以下步骤在 Android 手机上启用 DoH:

  1. 设置 → 网络和互联网 → 高级 → 私有 DNS .
  2. 您可以将此选项设置为“自动”,也可以自己指定一个安全的 DNS 提供商。

如果您在手机上找不到这些设置,您可以按照以下步骤操作:

  1. 下载并打开 QuickShortcutMaker 应用程序 来自 Google Play 商店。
  2. 转到设置并点击:
    com.android.settings.Settings$NetworkDashboardActivity

这将带您直接进入网络设置页面,您将在其中找到安全 DNS 选项。

如何检查是否使用了 DNS-over-HTTPS?

有两种方法可以检查您的设备或浏览器是否正确启用了 DoH。

检查这一点的最简单方法是去 此 cloudflare 浏览体验检查页面 .点击 检查我的浏览器 按钮。

在安全 DNS 下,如果您使用 DoH,您将收到以下消息:|_+_|

如果您没有使用 DoH,您将收到以下消息:|_+_|

Windows 10 Version 2004 还提供了一种实时监控端口 53 数据包的方法。这将告诉我们系统是使用 DNS-over-HTTPS 还是旧版 Do53。

  1. 使用管理权限打开 PowerShell。
  2. 运行以下命令:
    pktmon filter remove
    这将删除所有活动过滤器(如果有)。
    pktmon filter add -p 53
    这将添加要监视和记录的端口 53。
    pktmon start --etw -m real-time
    这从对端口 53 的实时监控开始。

如果您看到列表中显示了大量流量,这意味着正在使用旧版 Do53 而不是 DoH。

请注意,上述命令仅适用于 Windows 10 Version 2004,否则会报错:Unknown parameter ‘real-time’

支持 DoH 的名称服务器列表

以下是支持 DNS-over-HTTPS 的 DNS 服务提供商列表。

提供者 主机名 IP地址
广告卫士dns.adguard.com176,103,130,132
176,103,130,134
广告卫士dns-family.adguard.com176,103,130,132
176,103,130,134
干净浏览family-filter-dns.cleanbrowsing.org185,228,168,168
185,228,169,168
干净浏览成人过滤器 dns.cleanbrowsing.org185.228.168.10
185.228.169.11
云耀斑一个.一个.一个.一个
1dot1dot1dot1.cloudflare-dns.com
1.1.1.1
1.0.0.1
云耀斑security.cloudflare-dns.com1.1.1.2
1.0.0.2
云耀斑family.cloudflare-dns.com1.1.1.3
1.0.0.3
谷歌dns.google
google-public-dns-a.google.com
google-public-dns-b.google.com
8.8.8.8
8.8.4.4
下一个DNSdns.nextdns.io45.90.28.0
45.90.30.0
开放式DNSdns.opendns.com208.67.222.222
208.67.220.220
开放式DNSfamilyshield.opendns.com208.67.222.123
208.67.220.123
开放式DNS沙盒.opendns.com208.67.222.2
208.67.220.2
Quad9dns.quad9.net
rpz-public-resolver1.rrdns.pch.net
9.9.9.9
149,112,112,112

尽管 DNS-over-HTTPS 使网络更安全,并且应该在整个网络中统一实施(例如 HTTPS),但该协议将给系统管理员带来噩梦。

系统管理员需要找到阻止公共 DNS 服务的方法,同时使他们的内部 DNS 服务器能够使用 DoH。需要这样做以保持当前的监控设备和限制策略在整个组织中处于活动状态。

如果我遗漏了文章中的任何内容,请在下面的评论中告诉我。如果您喜欢这篇文章并学到了新东西,请与您的朋友和社交媒体分享,并订阅我们的时事通讯。