首页 > 网络技术 > 1.1.1.1:史上最牛逼的公共DNS服务推出
2019
09-21

1.1.1.1:史上最牛逼的公共DNS服务推出

CloudFlare的任务是帮助建立一个更好的互联网,今天我们将发布DNS解析器1.1.1.1——一个递归的DNS服务。通过此服务,我们正在通过构建一个更快、更安全和以隐私为中心的公共DNS解析器,从而解决互联网的基础问题。DNS解析器1.1.1.1面向公众开放供所有人使用,它是Cloudflare发布的第一款以消费者为中心的服务。

我们使用以下IPv 4地址作为解析器:1.1.1.1和1.0.0.1,很容易记住吧。这些地址已由APNIC提供给Cloudflare,用于联合研究和此项服务。您可以通过APNIC博客了解更多相关的工作进展。

DNS解析器1.1.1.1由Cloudflare的Global Anycast Network提供服务.

背景:快速回顾解析器在DNS中的作用

我们在DNSimple的朋友已经为任何人提供了这个惊人的DNS教程,以填补他们在DNS工作原理上的空白。它们以非常丰富的方式解释了所有有关解析器、根域名服务器等等。

1.1.1.1:史上最牛逼的公共DNS服务推出 - 第2张  | 鹿鸣天涯

解析域名时,查询会从您的终端系统(即Web浏览器)传输到递归DNS服务。如果DNS记录不在服务器的本地缓存中,递归器将查询权限DNS层次结构,以查询您要查找的IP地址信息。递归是DNS解析器1.1.1.1所扮演的角色。它必须快速且安全地进行解析!

DNS解析器的目标,1.1.1.1

我们使用公共解析器的目标很简单:CloudFlare希望在提高用户隐私保护标准的同时,运行全球速度最快的公共解析器。为了加速互联网,我们已经在全球各地建立数据中心,以减少从用户到信息内容的距离(即延迟)。最终我们希望每个人都至少在我们的一个地点的10毫秒之内获得服务。

1.1.1.1:史上最牛逼的公共DNS服务推出 - 第3张  | 鹿鸣天涯

仅在三月份,我们就启用了全球31个新的数据中心(伊斯坦布尔, 雷克雅未克, 利雅得, 澳门, 巴格达, 休斯顿,印第安纳波利斯,蒙哥马利,匹兹堡,萨克拉门托, 墨西哥城, 特拉维夫, 德班,路易港, 宿务, 爱丁堡, 里加、塔林、维尔纽斯, 卡尔加里,萨斯卡通,温尼伯, 杰克逊维尔,孟菲斯,塔拉哈西, 波哥大, 卢森堡市,基希讷乌),就像我们网络中的其他城市一样,新网站在第一天就会运行DNS解析器1.1.1.1!

我们的快速高度分布式网络旨在为任何协议提供服务,并且我们目前是互联网上速度最快的权威DNS提供商,拥有超过700万的互联网属性。另外,我们已经为13个根域名服务器中的两个提供了任播服务。下一个合乎逻辑的步骤是为用户提供更快的递归DNS服务。我们的递归程序可以利用与我们共存的权限服务器,从而加快查找所有域名的速度。

虽然DNSSEC确保了解析器和权限服务器之间数据的完整性,但它不会保护您的“last mile”的隐私。DNS解析器1.1.1.1支持新兴的DNS隐私标准-DNS-over-TLS和DNS over-HTTPS,它们都提供last mile的加密功能,以保护您的DNS查询不被篡改。

使我们的解析器具有隐私意识

从历史上看,递归将完整的域名发送给任何中介机构,因为它找到了通向根或权限DNS的路径。这意味着如果你要访问www.Cloudflre.com,根服务器和.com服务器都将使用完整的域名(即万维网,cloudflare,以及COM),即使根服务器只需要将递归重定向到 .com(独立于完全限定的域名中的其他任何内容)。通过DNS访问所有这些个人浏览信息的方便性给许多人带来了严重的隐私问题。尽管并非所有的解决方案都得到了广泛的调整或部署,但已经有几个解析器的软件包解决了这个问题。

DNS解析器1.1.1.1在第一天提供了所有已定义和建议的DNS隐私保护机制,供在根解析程序和递归解析程序之间使用。对于那些不熟悉的人,根解析器是操作系统中与递归解析器对话的组件。通过仅使用RFC7816中定义的DNS查询名称最小化,DNS解析器1.1.1.1可减少泄露给中间DNS服务器(如根和TLD)的信息。这意味着DNS解析器1.1.1.1仅向权威机构发送足够的域名,以告知解析器在哪里询问下一个问题。

DNS解析器1.1.1.1也支持端口853(TLS上的DNS)上启用隐私的TLS查询,因此我们可以将查询隐藏在监听网络中。此外,通过提供实验DoH((DNS over HTTPS)协议,我们加强了隐私和一些终端用户的未来速度,因为浏览器和其他应用程序现在可以将DNS和HTTPS流量融合到一个单独的连接中。

使用DNS攻击负缓存,如RFC 8198中所述,我们可以进一步减少全球DNS系统的负载。该技术首先尝试使用现有的解析器负面缓存,负面缓存在一段时间内保持负面(或不存在)信息。对于使用DNSSEC签名的区域和缓存中的NSEC记录,解析器可以在不执行任何进一步查询的情况下确定请求的名称是否不存在。所以如果你输入wwwwwww.xxxx.wwww.xxx,第二个查询会很快地回答为“no”(DNS世界中的NXDOMAIN)。积极的负缓存只适用于DNSSEC签名区域,其中包括根和今天签署的1544个TLD中的1400个。

我们尽可能使用DNSSEC验证,因为这样可以确保答案准确无误。签名验证的成本很低,我们从攻击负缓存中获得的潜在节省远远超过了弥补这一点。我们希望用户信任给出的答案,从而执行所有可能的检查,以避免给用户提供错误的答案。

然而,DNSSEC是非常无情的。权限DNS运营商在DNSSEC配置中的错误可能会导致配置不当的域无法解析。为了解决这个问题,Cloudflare将在被检测到的DNSSEC错误上配置“Negative Trust Anchors”,并在配置被权威操作人员纠正后删除它们。通过暂时禁用特定错误配置域的DNSSEC验证,恢复对终端使用者的访问,从而限制了DNSSEC域名被破坏的影响。

我们是怎么构建的?

最初,我们考虑建立自己的解析器,但由于复杂性和上市考虑,我们没有采用。然后,我们查看了市场上的所有开源解析器;从一份长长的清单中,我们将我们的选择缩小到了两个或三个,以适应大多数项目目标。最后,我们决定围绕CZ NIC的Knot Resolver构建系统。它是当前的解析器,最初是在两年半前发布的。通过选择Knot Resolver,我们也增加了软件的多样性。关键在于它有更多我们想要的核心特性,采用类似于OpenResty的模块化架构。Knot Resolver正在积极使用和开发中。

我们做的有趣的事没有人做

最近想要的高级功能是:

查询最小化RFC 7816,

DNS-over-TLS (传输层安全)RFC 7858,

DNS-over-HTTPS协议 DoH

攻击性否定回答RFC 8196,

免责声明:Knot Resolver的最初主要开发人员Marek Vavruša在Cloudflare DNS团队工作了两年多。

如何使我们的解析器更快

有许多因素会影响解析器的速度。首要的是:它可以从缓存中进行解析吗?如果可以,则解析的时间只是客户端到解析器的数据包的往返时间。

1.1.1.1:史上最牛逼的公共DNS服务推出 - 第4张  | 鹿鸣天涯

当解析器需要从权限处得到结果时,事情就变得更加复杂了。解析器需要遵循DNS层次结构来解析域名,这意味着它必须与从根开始的多个权限服务器对话。例如,我们在阿根廷Buenos Aires的解析器将需要更长的时间来遵循DNS层次结构,而不是在德国Frankfurt的解析器,因为它接近权限服务器。为了解决这个问题,我们为常用域名预先填充了缓存,这意味着当一个实际查询出现时,可以从缓存中获取响应,这要快得多。在接下来的几周里,我们将在博客上发布一些关于我们正在做的使解析器更快更好的事情,包括我们的快速缓存。

我们扩展网络的一个问题是,缓存命中率与每个数据中心中配置的节点数成反比。如果数据中心中只有一个离您最近的节点,可以确定,当您进行了两次相同的查询,那么第二次将从缓存中获取响应。然而,由于我们的每个数据中心中有数百个节点,您可能会得到一个非缓存的响应,并为每个请求支付延迟代价。一个常见的解决方案是在所有解析器之前放置一个缓存负载均衡器,但这就引入了单点故障。我们不接受单点故障。

DNS解析器1.1.1.1采用了一种创新的分布式缓存,而不是依靠集中式缓存,我们将在后面的博客中讨论这种缓存。

数据策略

这是我们的协议-我们从不,永远不存储客户端IP地址,而且我们只使用查询名称来提高DNS解析器的性能(例如根据区域中的常用域名或混淆之后预先填充所有缓存,APNIC研究)。

CloudFlare不会在日志中存储任何标识最终用户的信息,公共解析器收集的所有日志将在24小时内被删除。我们将继续遵守隐私政策并确保没有用户数据被出售给广告商或用于目标消费者。

设置

见 https://1.1.1.1/,就这么简单!

关于那些地址

我们感谢APNIC,我们的IPv 4地址的合作伙伴。1.0.0.1和1.1.1.1(每个人都同意,这是非常容易记住的)。没有他们多年的研究和测试,这些地址就不可能投入生产。然而,我们仍有一段路要走。请继续关注我们在未来博客中与这些IP的探索。

对于IPv 6,我们选择了2606:4700:4700::1111和2606:4700:4700::1001为我们提供服务。要获得很酷的IPv 6地址并不容易;但是,我们选择了一个只使用数字的地址。

为什么要使用容易记住的地址呢?公共解析器有什么特别之处?虽然我们对所做的几乎每件事都使用名称;但是,在这个过程中需要有第一步,这就是这些号码进入的地方。我们需要一个号码,输入到您使用的任何计算机或连接设备上,以便找到解析器服务。。

互联网上的任何人都可以使用我们的公共解析器,您可以通过访问https://1.1.1.1/并单击GET STARTED来查看如何执行此操作

为什么要在4月1日宣布呢?

对于世界上大部分地区来说,星期日是1/4/2018(在美国,日期/月份是颠倒的 – 如4/1/2018)。你看到4和1吗?这就是我们今天宣布1.1.1.1的原因。四个1!如果它帮助你记住1.1.1.1,那么这是件好事!

1.1.1.1:史上最牛逼的公共DNS服务推出 - 第5张  | 鹿鸣天涯

当然,今天是愚人节,对于很大一部分人来说,这是笑话,愚人或无害的恶作剧。这不是玩笑,这不是恶作剧,这不是愚蠢的举动。这是DNS解析器,1.1.1.1!

回顾一下 IP 地址归属:

1.1.1.1 – APNIC 亚太互联网络信息中心

2.2.2.2 – 法国电信/ Orange

3.3.3.3 – 通用电气

4.4.4.4 – Level3 通信

5.5.5.5 – E-Plus(德国第三大的手机运营商)

6.6.6.6 – 美国陆军

7.7.7.7 – 未使用的理论上属于美国国防部

8.8.8.8 – 谷歌

9.9.9.9 – IBM

译者介绍:

左灿,四川大学在读研究生,研究方向为云计算、虚拟化,对该领域比较感兴趣。

最后编辑:
作者:jacky
这个作者貌似有点懒,什么都没有留下。

留下一个回复

你的email不会被公开。