bind 的默认配置中 0.in-addr.arpa 和 255.in-addr.arpa 的目的是什么?

Bul*_* M. 11 networking linux dns bind

我有 Ubuntu 16 LTS

bind 的默认配置中 0.in-addr.arpa 和 255.in-addr.arpa 区域的目的是什么?( named.conf.default-zones)

我在这里问是因为认为这些区域文件在各种 GNU/Linux 发行版上的 bind 包中是通用的,而不是 Ubuntu 特定的发行版。

Dar*_*ren 15

这是从这里(一个 MS 页面,但仍然相关):

反向查找区域使 DNS 服务器具有权威性,即提前知道答案并立即响应最常见的名称查询,消除不必要的递归查询。根据相关的评论请求 (RFC),默认情况下,DNS 服务器对三个反向查找区域具有权威性:

0.in-addr.arpa (0.0.0.0)

127.in-addr.arpa (127.0.0.1 - loopback)

255.in-addr.arpa (255. 255. 255. 255 - broadcast)
Run Code Online (Sandbox Code Playgroud)

换句话说; DNS 服务器不会为这些地址查询基于 Internet 的 DNS 服务器(因为它们都是本地地址)。

  • “经常”有点轻描淡写。[到达某些根服务器的总流量中高达 7% 由对私有 IP 地址的反向查询组成,并且已经构建了一个完整的路由基础设施(AS112)来解决这个问题](http://archive.oreilly.com /pub/a/sysadmin/2007/04/26/5-basic-mistakes-not-to-make-in-dns.html) (8认同)
  • 但是,例如有一个工具可以显示您的 PC 上的所有侦听进程和端口、它们绑定到的 IP 地址以及**匹配 rDNS 主机名**,这是完全合理的。这样的工具会经常尝试查找“127.0.0.1”、“0.0.0.0”等的主机名。这只是我想出的第一个例子。 (4认同)
  • @BulatM.:我认为没有人会故意这样做,但是这样的地址可能会被更通用的工具捕获,也可能是偶然发生的。当它发生时,您需要正确的结果。那么为什么不实施呢? (3认同)
  • @BulatM。:我认为你是在向后看。您正在尝试找到一个用例。相反,我们按照规范正确地做事,然后默认情况下涵盖所有可以想象和不可想象的用例。 (3认同)
  • @Darren 它已经过时了,因为 IETF 推荐并由 IANA 维护的区域列表包含大约 30 个条目,而不仅仅是 Microsoft 提到的 3 个。这个特定的主题_has_最近发生了很大变化,我在答案中包含的链接是权威参考。我无法回答其他流行的解析器,但默认情况下 BIND 会为整个 IANA 列表执行此操作。 (2认同)

Aln*_*tak 1

BIND 中默认本地区域的目的是阻止对这些 IP 范围的查询泄漏到全球互联网上,并根据RFC 6303 “本地服务的 DNS 区域”减少根名称服务器上的负载。

从 RFC 的介绍来看:

提出此建议是因为数据显示,尽管有指示限制这些命​​名空间,但仍发生了严重的查询泄漏,并且因此有必要部署牺牲性名称服务器以保护这些区域的直接父
名称服务器免遭过度、无意的查询加载[AS112] [RFC6304] [RFC6305]。除非按照此处概述的步骤采取措施,否则查询负载将继续增加。

此外,来自配置不当的防火墙后面的客户端的查询允许对这些命名空间进行传出查询,但会丢弃响应,从而给根服务器带来很大的负载(配置了正向区域,但未配置反向区域)。它们还会给根服务器操作员带来操作负担,因为他们必须回复有关根服务器为何“攻击”这些客户端的询问。

这应该被视为权威参考,尤其是因为 RFC 是由 BIND 的主要开发人员之一 Mark Andrews 编写的。

另请参阅IANA 本地服务区域注册表,其中包含应像这样提供服务的所有(反向)区域的列表。

自 2011 年发布 BIND 9.9 以来,BIND9 会在启动时自动创建默认本地区域,除非使用文件empty-zones-enable中的标志明确关闭named.conf

IANA 注册表由 ISC 跟踪,并且新条目在出现时添加到当前 BIND 源中。