View on GitHub

DNS flag day 2020

English (US) Le Français 日本語 Español 中文(中国)

感谢!

2019年DNS Flag Day是一个非常成功的活动。互联网社区共同努力解决了一系列带给全球互联网用户 延迟和其他故障的问题。我们要感谢所有合作的运营者,是他们帮助互联网变得更好。

DNS Flag Day过去的总结和未来计划请参考: https://youtu.be/mH_elg9EUWw?t=649.

目录

下一步的计划?

下一步的DNS flag day的计划正在制定中. 它将聚焦由IP报文分片导致的DNS的运营和安全的问题。

为了获得及时的信息推送,请订阅 dns-announce邮件列表 或者关注 Twitter账号 @dnsflagday

DNS Flag Day 2020

DNS社群一直在行业邮件列表和会议中讨论DNS持续的互操作性与系统性能问题,例如 DNS-OARC 30, 专题讨论会 (video, slides).

2020 DNS Flag Day计划建议稿在RIPE78 会议期间由 CZ.NIC的Petr Špaček, 和ISC的Ondřej Surý发布 (videoslides). 这一次我们要聚焦在DNS报文的IP分片问题上。

IP分片是一个当前互联网存在的问题,尤其是当DNS应答消息比较大的时候。 即使IP分片工作正常,它对DNS来说也可能不够安全。

请参考:

这些问题的解决方法是通过设置一个固定的EDNS buffer size (缓冲区大小),使其不会导致IP层分片。 当有DNS大包超过这个缓冲区大小的时候,DNS将会从UDP模式切换到TCP传输(通过设置应答包的TC位)

注: 在开展的工作

这个网站和2020 DNS Flag Day的一些工作还在开展中(尚未确定)。

然而,技术需求已经足够清晰,运营者和开发者可以开始准备测试和改动他们的系统。

如果你对此有评论或建议,请参加dns-operations 邮件列表的讨论.

行动: 权威DNS运营者

对于权威侧来说,需要你帮助做的是应答DNS over TCP的查询(53端口)。同时检查你的防火墙!

你也应该使用一个固定的EDNS 缓冲区大小,那样就不会造成分片。这里建议采用大概1232字节,但是这个取值仍然在讨论中。

最后,权威DNS服务器不可以发送超过查询报文中请求的EDNS 缓冲区大小的报文!

现在你可以测试检查你的域名了!通过在下面输入你的域名,然后按Test! 这个测试使用了ISC的EDNS合规性测试器,它会从所有通用合规性测试例中选择edns512tcp 来测试。

测试你的域名


行动: 递归DNS运营者

对递归解析测来说,或多或少与权威的要求类似,即能够通过TCP(53端口)应答DNS查询,用固定的EDNS 缓冲区大小 (大概1232字节)从而避免IP分片。记得要检查你的防火墙。

最重要的是,递归解析服务器必须要通过TCP重复查询,如果他们收到一个被截断的UDP应答报文(TC被设置为1)!

NEW! This checker will test your browser, system and ISPs resolver by loading an image on a specific URL that can only be looked up if there is support for TCP at the last resolver querying the authority. For more information go to Check My DNS which this checker uses.

Test your resolver


行动: DNS软件供应商

对DNS软件供应商重要的一点就是要符合标准,采用 EDNS 缓冲区大小默认值 (~ 1232字节),这样就不会造成分片。

相关重要的标准主要是RFC 7766, RFC 6891 section 6.2.3.RFC 6891 section 6.2.4..

这一改动的动机记录在IETF草案 intarea-frag-fragile section 6.1IETF草案 iab-protocol-maintenance.

如何测试?

如果你是一个域名的所有者,或者是权威DNS服务器运营者,你可以用我们基于网页的测试工具来检查一个域名,你可以在“行动: 权威DNS运营者” 中找到。

我也在开发针对客户端和DNS递归运营者的一套基于网页的测试工具。一旦准备好,你就可以在这个页面找到它。

你也可以通过下面的CLI命令行来测试:

$ dig +tcp @auth_IP yourdomain.example.
$ dig +tcp @resolver_IP yourdomain.example.
$ dig @resolver_IP test.knot-resolver.cz. TXT

无论是否使用‘+tcp’选项,所有的DNS查询必须是成功的。如果你是一项业务的提供商,你也可以通过允许DNS支持TCP,以及改变下面默认的EDNS 缓冲区大小的配置来测试你的权威和递归服务。

如果一切工作正常(支持TCP),以上的配置不会有明显的影响。如果递归或者权威不支持TCP,一些查询就会失败。

以前的 flag days

下面是以前的Flag day活动列表:

谁在推动 DNS flag day?

DNS Flag Day的倡议活动由DNS软件和服务提供者社群发起,该活动也得到了DNS-OARC的支持(OARC的会员大部分都在这个社群内)。

如果你有围绕DNS Flag Day相关的技术的问题,你可以参与DNS-operations邮件列表来向他们提问.

联系我们

新闻与媒体的问题请发信给 media (at) dns-oarc.net, 请将“DNS Flag Day” 填入邮件的主题栏。 注:邮箱(at)替换成@

支持者

常见问题