通过反向 DNS 让多个 IP 解析到同一个主机名是不好的做法吗?
假设有一台路由器有多个接口:1 个 WAN 和 3 个独立的 LAN。是否应该将这四个 IP 解析为 router.domain.com,还是应该将 WAN 接口解析为 wan-router.domain.com,将 LAN 接口解析为 lan01-router.domain.com、lan02-router.domain.com 和 lan03-router.domain.com?
答案1
我个人更喜欢后者,因为否则你会破坏循环解析(也就是说,如果你将 IP 地址反向解析为完全限定域名(FQDN),然后正向解析 FQDN,你会得到不同的 IP 地址)。
另一种循环解析方式不可靠,因为许多名称可以解析为一个地址;但由于一个地址只能 PTR 到一个名称,因此人们通常认为该名称至少应该解析回起始地址。有时,如果不是这样,可能会发生奇怪的事情。
RFC1912 确认了这一点,其中指出
确保您的 PTR 和 A 记录匹配。对于每个 IP 地址,在 in-addr.arpa 域中都应该有一个匹配的 PTR 记录。如果主机是多宿主的(多个 IP 地址),请确保所有 IP 地址都有相应的 PTR 记录(而不仅仅是第一个)。无法匹配 PTR 和 A 记录可能会导致互联网服务丢失,类似于根本没有在 DNS 中注册。
答案2
我倾向于让 router.example.com 解析为路由器的管理地址,并让 router-interface.example.com 解析为该特定接口的 IP,然后确保反向解析与正向解析相匹配。
答案3
这是不好的做法吗?
绝对地;任何依赖客户端地址进行主机名解析的服务都很难获得一致的答案。
最著名的例子是 SMTP、SSH 和大规模 NFS。
这是被禁止的吗?
不,DNS 并不关心;RR 就是 RR。