我有几个设备,每个设备都有自己的 IP 地址。有多个名称指向这些地址(在几个不同的域中)。例如,具有
- IP地址
10.0.0.1
称为dev1.example.com
abc.example.net
- IP地址
192.168.1.1
称为dev2.example.com
xyz.example.net
example.com
在和的各自 DNS 权威中example.net
(A
记录)。
我想了解如果两个 IP 地址都指向(PTR
)一个名称(比如contact-john-doe.example.org
),会对 DNS 产生什么影响。
这样做的理由是确保在日志、监控等中看到 IP 地址之一的人能够获得contact-john-doe.example.org
解析的名称。此解析名称可能会也可能不会指向真实的IP address
/ CNAME
,但由于 IP 地址背后的服务性质(这些是扫描器,它们不为最终用户提供任何服务),因此这无关紧要。
答案1
虽然信息(非标准)RFC 1912从 1996 年起就表明:
确保您的 PTR 和 A 记录匹配。对于每个 IP 地址,在 in-addr.arpa 域中都应该有一个匹配的 PTR 记录。如果主机是多宿主的(多个 IP 地址),请确保所有 IP 地址都有相应的 PTR 记录(而不仅仅是第一个)。无法匹配 PTR 和 A 记录可能会导致互联网服务丢失,类似于根本没有在 DNS 中注册。
尽管如此,PTR 记录与 A 记录匹配并不是必需的。PTR 不匹配最常见的问题是邮件传递。话虽如此,我还是要确保您至少将记录指向您实际拥有和控制的域。
答案2
标准定义 RFC 规定的指导原则是,记录PTR
应指向相关 IP 的规范主机名,而不是指向别名。这一点很重要,因为您的问题似乎表明您CNAME
在某些情况下考虑将一个点指向某个点,而在许多情况下则使用虚假值。
RFC1034 §3.5(感谢@Håkan Lindqvist,他让我一如既往的诚实)
地址节点用于保存指向普通域空间中主要主机名的指针。
RR 中指向其他名称的域名应始终指向主名称而不是别名。这可避免访问信息时出现额外的间接操作。
这两个 RFC 都是在“不应该”和“一定不能”的明确定义存在之前编写的(RFC2119)。这很不幸,因为 DNS 是互联网的粘合剂,原始标准中的许多建议通常会被曲解,直到通过补充 RFC 进一步加强。话虽如此,意图这一点在这里相当明显。在使用适当的记录类型时将 DNS 用作通用分层数据库是一回事,完全忽略建议则是另一回事。
如果继续,会破坏事物吗?可能不会,但这仍然不是一个很好的方法,特别是如果您不打算将其映射回对用户或软件有用的值时。(使 DNS 递归程序做更多工作而没有增加价值)