在Firefox上开始使用DNS over HTTPS

原文链接:

原文链接medium.com

DNS over HTTPS(DoH)是一种新协议,最近获得了很大的关注。 Firefox最近在其nightly版本中添加了对它的支持,在本文中,我们将介绍配置它的步骤。

Firefox配置

Firefox在默认情况下不启用DNS over HTTPS(DoH),因此您必须在浏览器栏上键入about:config以打开设置页面。 在那里,你必须修改2个与Trusted Recursive Resolver(aka network.trr)相关的设置:

  • network.trr.mode
  • network.trr.uri(您指定要使用的安全解析程序)。

第1个(trr.mode)控制如何使用DNS over HTTPS(DoH)。 默认情况下,它设置为0,表示已禁用。 您可以将其更改为“2”以启用它。 trr.mode的选项是:

  • 0 — Off (默认)。使用操作系统解析程序。
  • 1 — Race native against TRR.。并行执行并与首先返回结果的那个一起执行。最有可能的是本地将获胜。
  • 2 — First。首先使用TRR,并且仅当安全解决方案失败时才使用操作系统解析程序。
  • 3 — Only。只使用TRR。不使用原生(初始设置后)。
  • 4 — Shadow。运行TRR与本机并行进行定时和测量,但仅使用本机解析器结果。
  • 5 — Off by choice。这与0相同,但标记为:通过选择完成,默认不完成。

我建议将trr.mode设置为2,这样如果失败,它将回退到默认的解析器。 对于最偏执的人,您可以设置为3,但如果您的DNS over HTTPS(DoH)服务器发生故障,您可以脱机。

至于第2个(network.trr.uri),您必须指定要使用的提供程序。 有4个公开宣布的DNS over HTTPS(DoH)服务器:

因此,如果我强制执行Google的DNS over HTTPS(DoH),那么您的about:config将如何显示(模式设置为3,trr.uri设置为Google URL):

对于CleanBrowsing,如果您想要过滤成人内容,则如下所示:

在幕后

在幕后,DNS over HTTPS(DoH)非常有趣。 我设置了一个代理来查看流量,这就是GET模式的样子(而不是使用HTTP POSTS):

GET https://dns.google.com/experimental?ct&dns=AAABAAABAAAAAAAAB2V4YW1wbGUDY29tAACAAE HTTP/2.0

DNS查询来自此base64值,该值解码为example.com的A记录请求。 我注意到Firefox正在为example.com做多个A请求,即使我没有访问该网站。 我认为这是为了测试DNS over HTTPS(DoH)是否有效。

提供给服务器的用户代理只是浏览器的标准。 就我而言:Mozilla / 5.0(Macintosh; Intel Mac OS X 10.11; rv:61.0)Gecko / 20100101 Firefox / 61.0

这意味着一些事情:

如果您使用的是GET模式,则所有请求都将存储在DNS服务器Web日志中。 除非确实有必要,否则不要使用它。

您必须信任您的 DNS over HTTPS 提供商(duh)。 但有些事情需要考虑。 只有少数提供商支持它,我们正在将DNS集中在一些可以看到您正在做的事情的公司手中。 Google没有任何恶意,CloudFlare和CleanBrowsing都表示他们不会记录请求。 但是,我们必须要小心。

调试DNS over HTTPS(DoH)

如果您需要调试和测试 DNS over HTTPS (或FireFox模式不起作用),我建议您尝试以下两种工具:

第一个是在Perl中,可用于解码base64请求,另一个在PHP中,可用于解决连接问题并测试任何doman的DoH。

这就是它。 您是否使用DNS over HTTPS(DoH)? 到目前为止你的经历是什么?

更多信息

这个故事发表在Noteworthy,每天都有成千上万的人来学习塑造我们喜爱的产品的人和想法。

关注我们的出版物,查看期刊团队的更多产品和设计故事。

编辑于 2018-08-24

文章被以下专栏收录