AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 754331
Accepted
Watki02
Watki02
Asked: 2016-02-06 11:49:45 +0800 CST2016-02-06 11:49:45 +0800 CST 2016-02-06 11:49:45 +0800 CST

当两个 DNS 区域在同一台服务器上相交时会发生什么?

  • 772

我有一个 example.com 的 DNS 区域,其中包含A为foo.example.com. 在同一台服务器上,我有另一个名为foo.example.comwith 的区域,并且在该区域的顶部没有定义 A 记录。如果我的服务器收到对 的查询foo.example.com,它会返回example.com区域中定义的记录吗?(或者搜索算法会在到达更具体的区域后停止,然后回答“未找到”吗?)

一个类似的问题:

如果我具备以上所有条件,然后在区域 ( )A顶部设置一条指向不同 IP 地址的记录,将返回哪个地址?foo.example.com@

例子.com

foo.example.com. 3600 IN A <location A>

foo.example.com

@               3600 IN A <location B>

显然你不需要两者 - 我正在梳理 DNS 的行为。但是有一个标准的方法来解决这个问题 - 一个标准的地方吗?

我正在使用 BIND。

domain-name-system
  • 1 1 个回答
  • 2872 Views

1 个回答

  • Voted
  1. Best Answer
    Andrew B
    2016-02-06T13:17:21+08:002016-02-06T13:17:21+08:00

    在权威名称服务器上定义重叠区域时,将使用最具体的区域来提供答案。

    • example.com. IN A?命中example.com区域的查询。
    • foo.example.com. IN A?命中foo.example.com区域的查询。如果foo.example.com在example.com区域中定义,它将被忽略。
    • 查询sub.foo.example.com. IN A?命中foo.example.com区域,因为它比请求更具体example.com。

    在您的具体示例中,查询的返回值将是NXDOMAIN因为该foo.example.com区域没有为自身提供 A 记录定义。

    使用 DNS 术语,在父区域和更具体的区域之间的边界处有效地切割了一个区域。RFC2181 §6.1描述了您的场景的正确行为:

    这样的服务器对一个区域中不在另一个区域中的所有资源记录具有权威性。指示区域切割的 NS 记录是创建的子区域的属性,与该子区域或其任何子域的起源的任何其他记录一样。一个区域的服务器不应该返回与另一个区域中的名称相关的查询的权威答案,其中包括 NS,也许还有 A,区域切割处的记录,除非它也恰好是另一个区域的服务器。

    除了下面立即提到的 DNSSEC 案例之外,服务器应该忽略 NS 记录以外的数据,以及定位 NS 记录中列出的服务器所需的 A 记录,这些数据可能恰好在区域切割的区域中配置。

    至于哪个是最佳实践,这完全取决于您。您可以将所有记录放在一个区域中,或者为您的子域拆分单独的区域文件,如果这样更方便的话。(例如,由于它们每个都包含数百条记录)我要警告的一件事并不是很明显,那就是验证工具named-checkzone通常不知道位于同一服务器上的子区域,并且如果父级可能会生成不正确的警告zone 包括对子区域内记录的引用。(例如,CNAME 别名)

    • 10

相关问题

  • Solaris DNS

  • resolv.conf 在经过一段时间后被更改

  • 为什么有些网站的网址中没有“www”就无法显示?[关闭]

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve