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 / 问题 / 593858
Accepted
tripleee
tripleee
Asked: 2014-05-09 01:20:50 +0800 CST2014-05-09 01:20:50 +0800 CST 2014-05-09 01:20:50 +0800 CST

没有 SOA 记录——这意味着什么?

  • 772

我正在调查一堆垃圾邮件域,但没有一个有 SOA 记录。我以前从未见过这种情况——我什至不知道这是可能的。

如果没有 SOA 记录,DNS 如何工作?如果它不是绝对必要的,那么省略它的含义是什么?

我并不特别想添加指向垃圾邮件站点的链接,但一个示例域是“vance miller kitchens uk dot co dot uk”。

domain-name-system
  • 3 3 个回答
  • 20185 Views

3 个回答

  • Voted
  1. Best Answer
    Andrew B
    2014-05-09T07:53:46+08:002014-05-09T07:53:46+08:00

    事实上有一个SOA记录,它只是不是你所期望的。让我们看一下 AUTHORITY 部分...请记住,这ns1.nservers.co.uk.与名称服务器没有任何关联,这些nic.uk.名称服务器对co.uk..

    $ dig @ns1.nservers.co.uk. +norecurse +noall +authority vancemillerkitchensuk.co.uk SOA
    co.uk.                  3600    IN      SOA     win-k7rk0hedad1. hostmaster. 6 900 600 86400 3600
    $ dig @ns1.nservers.co.uk. +norecurse +short co.uk SOA
    win-k7rk0hedad1. hostmaster. 6 900 600 86400 3600
    

    这暴露了它们的实际配置:它们co.uk定义了一个区域。这简化了他们的配置,因为他们只需要维护一个文件。您没有得到SOA请求的答案部分的原因是因为这不是该区域的真正顶部。请记住,这是一个糟糕的配置:您永远不应该假装对您不是的域具有权威性。不要模仿这个。

    SOA记录是强制性的。如果您希望 Internet 的其余部分与您很好地配合,您必须在 RFC 要求的 AUTHORITY 部分中添加一些内容。显然,它们对 . 来说并不是真正的权威co.uk,但这至少告诉其他名称服务器负 TTL 应该是什么。

    • 8
  2. Patrick Mevzek
    2020-07-05T11:34:12+08:002020-07-05T11:34:12+08:00

    SOA根据 DNS 规范,在子名称服务器上每个区域的顶点记录是强制性的,请参阅RFC 2181 的 §6.1:

    区域的权威服务器在区域起源的 NS 记录中枚举,与授权开始 (SOA) 记录一起是每个区域中的强制性记录。这样的服务器对一个区域中不在另一个区域中的所有资源记录具有权威性。

    没有 SOA 的区域则不符合 DNS。名称服务器将在加载时拒绝它:

    $ cat example.com 
    example.com. 1 NS a.example.
    example.com. 1 NS b.example. 
    
    $ named-checkzone example.com example.com 
    zone example.com/IN: has 0 SOA records
    zone example.com/IN: not loaded due to errors.
    

    也许您可以找到一个可行的设置,但为什么要冒险呢?

    除了根据规范强制之外,SOA 记录中至少有 3 项是客户端需要的(如果其名称服务器集使用 AXFR/IXFR/DNS 更新来更新自己,则所有其他项仅对名称服务器管理员有用) :

    • RNAME通常是区域负责人的电子邮件地址,如果出现问题,您可以联系该地址;不幸的是,现在你可能在那里得不到答案,或者它甚至可能不是一个有效的现有邮箱,所以理论上很有用,实际上不确定

    • DNS 更新需要RFC 2616的第MNAME4.3 节:

    4.3. 如果请求者有合理的理由相信一个区域的所有服务器都可以同等访问,那么它应该安排首先尝试主主服务器(如果与某些 NS NSDNAME 匹配,则由 SOA MNAME 字段给出)以避免内部不必要的转发从服务器。(请注意,由于防火墙或网络分区,在某些情况下,所有请求者都无法访问主 master。)

    • SOAMINIMUM已在一年中重新定义为“负 TTL”,即缓存可以保留NXDOMAIN收到的回复的时间量(因为NXDOMAIN 根据定义,回复将不会在答案部分返回任何记录,因此不会有任何 TTL 都可以找到)。请参阅RFC 2308的§5 :

    与正常答案一样,否定答案也有生存时间(TTL)。由于答案部分没有记录可以应用此TTL,因此必须通过其他方法携带TTL。这是通过在回复的权限部分包含来自区域的 SOA 记录来完成的。当权威服务器创建此记录时,其 TTL 取自 SOA.MINIMUM 字段和 SOA 的 TTL 中的最小值。此 TTL 以与正常缓存答案类似的方式递减,并且在达到零 (0) 时表示不得再次使用缓存的否定答案。

    NXDOMAIN正如RFC 8020“NXDOMAIN:下面真的没有”中所述,正确缓存回复对性能很重要:如果名称触发NXDOMAIN回复,则递归名称服务器可以在缓存条目期间立即回复所有名称“下面”这个查询,因为它知道下面不能存在任何名称,根据 DNS 设计,将所有名称都放在树中。

    此外,多个注册表在允许进行委派之前测试配置。英国不是这种情况,但例如 DENIC (.DE) 就是这种情况。请参阅https://www.denic.de/fileadmin/public/documentation/DENIC-23p_EN.pdf中的第 2.1.4 节,其中概述了 SOA 测试。

    各种工具也会检查它。请参阅https://zonemaster.net/上的Zonemaster 以及https://github.com/zonemaster/zonemaster/blob/master/docs/specifications/tests/Delegation-TP/delegation06.md上的 SOA 测试说明

    • 5
  3. Reaces
    2014-05-09T01:30:57+08:002014-05-09T01:30:57+08:00

    SOA 记录几乎可以调节 DNS 服务器的身份和更新频率。如果您的 DNS 服务器是域的唯一权威 DNS 服务器(或者您控制所有权威并喜欢手动操作),您可以忽略 SOA 记录而几乎没有影响。唯一的影响可能是某些响应缓存不会发生。

    总结:DNS 可以在没有 SOA 的情况下正常工作,SOA 只是调节对辅助服务器的更新和缓存。因此,没有 SOA 记录是一个非常糟糕的主意。

    • 2

相关问题

  • 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