PTR 记录和 A 记录要匹配,如果没有 A 记录怎么办?

PTR 记录和 A 记录要匹配,如果没有 A 记录怎么办?

如果我理解RFC19122.1 节正确,这些规则适用于 PTR 记录:

1)每个工作IP都应该有一个PTR记录

2)PTR 和 A 记录应该匹配(尽管通常不检查)

现在,如果我有一个有效的 IP(在我的情况下是 IPv6),并且想要设置正确的 PTR 记录(这是我的 ISP 能够做到的),但是 IP 却不是有 A 或 AAAA 记录吗?它只是一个连接到互联网的客户端,没有自己的域,不是服务器(但它是不是在任何 NAT 后面,我在这里谈论的是 IPv6)

它有一个有效的 IP,因此应该有一个定义的 PTR 记录 (1),但它应该指向什么 (2)?

答案1

您在评论中写道:

我既没有 A 记录也没有 AAAA 记录 - 只是一个完全没有主机名的客户端。然而,它仍然是一个有效的 IP 地址,并且根据标准应该有一个 PTR 记录。

首先,请注意RFC 1912, “常见的 DNS 操作和配置错误”, 是信息性的。也就是说,它提供信息和指导,但并不试图指定一个标准或者编纂要求。其他类别的 RFC 对如何完成任务提出了实际要求;例如,您不能编写 HTTP/1.1 服务器,然后为响应代码 301 赋予除在RFC 2616 第 10.3.2 节;如果这样做,则说明您没有实现 HTTP/1.1,而是实现了其他东西,也许是仿照 HTTP/1.1 实现的。

由于 RFC 1912 比RFC 2119(“RFC 中用于指示需求级别的关键词”),我们不能将后者专门应用于 RFC 1912,但 RFC 2119 仍然可以提供一定程度的指导如何解释“应该”、“必须”等术语。具体来说,RFC 2119 规定我们应该这样解释:

必须该词或术语“REQUIRED(要求)”或“SHALL(应该)”表示该定义是规范的绝对要求。

应该这个词,或形容词“推荐”,意味着在特定情况下可能存在忽略特定项目的正当理由,但在选择不同的方案之前,必须理解和仔细权衡其全部含义。

RFC 1912 第 2.1 节部分指出(我强调):

每个可访问互联网的主机应该有名字。这种做法的后果越来越明显。如果您没有在 DNS 中正确注册,互联网上许多可用的服务都不会与您通信。

确保您的 PTR 和 A 记录匹配。对于每个 IP 地址,应该是 in-addr.arpa 域中的匹配的 PTR 记录。 如果主机是多宿主的(多个 IP 地址)确保所有 IP 地址都有相应的 PTR 记录(而不仅仅是第一个)。没有匹配的 PTR 和 A 记录可能会导致互联网服务丢失,类似于根本没有在 DNS 中注册。此外,PTR 记录必须指回有效的 A 记录,而不是 CNAME 定义的别名。

首先,第一个表述是“应该”,这立即意味着这不是一个绝对的要求。它可能是一个要求在某些特定情况下,这就是提到它的原因,但在一般情况下它并不是要求。

我认为第二段以“确保”开头,对管理员提出更严格的要求。请注意,下一句话又说应该, 不是必须或其任何变体。

这里的底线有两点:

  1. 如果您不需要映射到 IP 地址的全局唯一主机名,则无需将其添加到 DNS。(如果它是一个仅客户端的系统,不公开任何服务,并且使用所需服务没有任何问题,那么您显然至少暂时不需要它。)
  2. 如果 DNS 中没有映射到您的 IP 地址的主机名,则您的 IP 地址的 PTR 记录将无法指向任何内容,因此您无法添加或已添加过您的 IP 地址的 PTR 记录。(这是因为 PTR 记录必须指向具有相应地址记录的主机名。)

另外,请注意,在实践中,主机、IP 地址和 DNS 名称之间不需要一对一映射。例如,我负责一台服务器主机,它有三个不同的 IP 地址,多个名称通过直接地址记录和 CNAME 指向不同的 IP 地址,但只有一个 IP 地址具有正确的反向名称(具有等效的正向映射回到相关 IP 地址)。

答案2

对于要创建哪些记录,并没有严格的规定。可以有许多 A 和/或 AAAA 记录指向同一个 IP 地址,也可以没有。某个地址可能有反向 (PTR) 记录,也可能没有。这些情况没有有效或无效之分,因为没有真正的规则。

但是,有一些期望。其中之一是,如果您运行邮件服务器,那么邮件服务器用于连接到其他邮件服务器的 IP 地址应该有一个 PTR 记录,该记录指向一个主机名,而该主机名又具有该 IP 地址的 A 或 AAAA 记录。

让我们看一个例子:

  • 您的邮件服务器有 IPv4 地址192.0.2.1
  • 有一个1.2.0.192.in-addr.arpa指向 blabla.example.com 的PTR 记录
  • blabla.example.com 上有一条 A 记录指向192.0.2.1

这样,PTR 记录可用于基于域的信誉过滤,因为如果名称是假的,域持有者就不会在其区域内创建正确的 A 记录。

由于这种验证策略,如果您的 PTR 记录与 A 或 AAAA 记录不匹配,则“信任”会降低。每个人都可能创建指向的 PTR 记录,something.important.google.com但如果该名称确实存在,则只有 Google 会为该名称创建匹配的 A/AAAA 记录。A/AAAA 记录不存在并不能证明该地址不是来自 Google,但也不能确认这一点。

所有此类记录都一样:创建匹配的 A/AAAA 和 PTR 记录是一种很好的常见做法,但这不是要求。大多数从该 IP 地址接收邮件的服务器都会强制执行匹配记录。

RFC1912 是描述常见做法的信息性 RFC,而不是互联网标准。从技术上讲,您的 PTR 记录可以指向您希望的任何地方,但如果您将其指向不属于您的域名,则不礼貌。如果您确实想要拥有 PTR 记录,并且不想创建匹配的 A/AAAA 记录(无法想象为什么,但可以),那么请将其指向您自己的域中不存在的名称。如果您没有自己的域名,那么您可能应该询问有自己的域名的人是否可以指向他们的域名。

答案3

RFC1912 很旧,仅供参考... 它从未发展成为标准,因此不需要实施,所以一般没人关心它。你会发现大多数人大部分时间都会忽略该建议,除了邮件服务器和安全 FTP 服务器。它也不涵盖 AAAA 记录。

总而言之,您不需要担心这一点。

相关内容