我经常 读到 ,不build议在DNSconfiguration中使用多个PTRlogging。
但是,原因往往含糊不清,或者不那么明显,命名方式:
这些好理由吗? 你知道其他(好的)理由吗? 所有这些有点像“遗留的恐惧”…
反向名称的PTR
logging(例如7.2.0.192.in-addr.arpa
)预计将标识与该IP地址关联的规范名称 。
networking节点上的网关指针和全地址节点上的普通主机指针都使用PTR RR来指向相应主机的主要域名。
来自: http : //tools.ietf.org/html/rfc1035#section-3.5
这种期望反映在反向查找的软件中; 通常这样的软件特别期待一个单一的名字,它期望能够使用该名称作为该主机的规范名称。 如果有多个返回的名字,通常随便选一个,因为他们绝对没有办法知道在这个特定的时刻你会select哪一个。
由于一般的预期是有一个与IP地址相关的规范名称,并且该名称是PTR
应该指向的内容,因此添加多个名称通常没有任何优势(没有预期任何随机的A
/ AAAA
logging具有匹配的PTR
),而是它有一个潜在的缺点,因为它可能会导致奇怪的结果,因为如果添加了多个PTR
logging,则无法控制使用哪个PTR
logging。
实质上,如果您有多个PTR
logging,实际上并不会使主机看起来更合法,反而会出现相反的情况,否则就会冒失败的风险。
作为一个或许有些极端的隐喻,在机场交出五张带有你的照片但名字不同的护照可能不会被接收,如果你只是交出一张。
这一切都归结为不可预知的行为,因为RFC没有规定限制或处理这些PTRlogging的方法。 大多数实现将select循环,你不会达到你想要的结果(多个名称之间的完美匹配到一个IP)。
你可以阅读更多关于这里: https : //supernoc.rogerstelecom.net/pdfs/multiple-ptrs.pdf
另外,从Glibc的getnameinfo函数( https://sourceware.org/bugzilla/show_bug.cgi?id=5790 )检查这个bug。 你怎么能保证这不是发生在互联网上的无数不同的系统(其中一些非常老,没有打补丁)呢?
作为一个经验法则,为了加强,避免不明确和不可预测的行为总是很好的。 遗憾的是,单个知识产权的多个PTRlogging属于该类别(就RFC而言)。
如果您有多个PTR,您如何保证PTR将匹配特定的转发logging?
这在邮件服务器交互操作中尤为重要,大多数入站接收SMTP服务器将检查前向是否匹配反向
相当困难的是,你有多个PTR,没有办法保证select哪个PTR,并且它符合你在连接中的前进方向
保证完美匹配的最简单的方法是有一个匹配转发条目的PTR