【发布时间】:2017-02-14 07:34:00
【问题描述】:
我们有一个在集群中的 6 台计算机上运行的网站。因此,可以使用该域名访问任何一台计算机,例如:
http://example.com/
除此之外,我们还有第 7 台计算机,用于发送带有后缀的电子邮件。该邮件服务器设置为使用 DMARC、SPF 和 DKIM 发送电子邮件。
此时,我们的 DNS 使用循环法将 5 个不同的 IP 地址返回到前 5 台前端计算机中的任何一台,再加上一个到邮件服务器。如果邮件服务器被 HTTP 请求命中,我们会将其转发到第 6 个前端服务器(即代理)。
所以 DNS 有这样的条目(仅限真实的公共 IP):
example.com IN SOA ns1.example.com. webmaster.example.com. (
...
)
60 IN 10.0.0.1
60 IN 10.0.0.2
60 IN 10.0.0.3
60 IN 10.0.0.4
60 IN 10.0.0.5
60 IN 10.0.0.7
如您所见,最后一个是 10.0.0.7,用于邮件服务器。其他的是前端计算机。
现在的问题是:我是否需要所有计算机(1 到 5 和 7)都具有正确的 PTR,以便邮件服务器按预期工作? (即毕竟,反向查找将返回所有这 6 个 IP ......但在循环赛中,它们将以随机顺序呈现。)或者我是否需要在 10.0.0.7 上设置 PTR仅计算机,因为那一台是实际发送电子邮件的那台?
我担心的是,验证我们 IP 地址的某些邮件服务器最终可能会找到引用 example.com 的 6 个 IP 中的任何一个,而不仅仅是第 7 台计算机的 IP(在我的示例中为 10.0.0.7.),因此会被拒绝电子邮件,因为反向查找失败。
我实际上希望只有 IP 10.0.0.7 的计算机需要 PTR。其他的可能有不同的名字并且没有 PTR。
【问题讨论】:
-
据我所知,邮件服务器似乎足够聪明,可以解决这个问题——它们查找 PTR 的连接 IP,而连接 IP 将始终来自邮件服务器(10.0 .0.7).