使用多个公共 IP 后面的多个邮件服务器进行 SMTP DNS 验证

使用多个公共 IP 后面的多个邮件服务器进行 SMTP DNS 验证

我知道当邮件服务器收到电子邮件时,它会执行“DNS 3 向检查”(我认为这有时也称为域名解析服务) 作为针对垃圾邮件发送者的简单测试。我理解它的工作原理如下:

从传入邮件的源 IP 开始(取自实际 IP 数据包):

  1. 反向查找源 IP 的 PTR——这将得到一个域名
  2. 从 #1 正向查找域名 - 这将得到一个 IP 地址
  3. 收到的邮件的 SourceIP 必须与 #2 中得到的 IP 地址相匹配。

有时还会对 SMTP Helo Banner 进行额外检查,其格式为域名。对域名进行正向查找,结果为 IP 地址。然后对 IP 地址的 PTR 进行反向查找,结果应解析回上述 SMTP DNS 记录中设置的相同域名。

但是,如果您有 30 台邮件服务器,并且全部共享 3 个不同的 IP,该怎么办?如何设置 SMTP 横幅、A 记录和 PTR 记录以通过上述所有测试? 假设 30 台邮件服务器无法知道它们在外部获得的 IP 地址。理论上,每个新的 TCP 连接可能来自不同的公共 IP。

我最好的猜测是你必须进行如下设置:

mailer.eddie.com     IN     A     1.1.1.1
mailer.eddie.com     IN     A     1.1.1.2
mailer.eddie.com     IN     A     1.1.1.3

3.1.1.1.in-addr.arpa.   IN     PTR     mailer.eddie.com
2.1.1.1.in-addr.arpa.   IN     PTR     mailer.eddie.com
1.1.1.1.in-addr.arpa.   IN     PTR     mailer.eddie.com

SMTP Banner for each server:  mailer.eddie.com

但是,如果 30 个邮件服务器共享完全相同的 SMTP 标语,这会导致其他问题吗?如果查找域返回 3 个不同的 IP 地址,正向查找(上述 3 步中的第 2 步)会受到怎样的影响?

总而言之,这实际上是一个有三个主要方面需要讨论的问题:
(1)确认 DNS/SMTP 三向检查的操作。
(2)确认一个公共 IP 后面的多个服务器的解决方案功能。
(3)确认并详细说明多个非静态公共 IP 地址后面的多个服务器的功能。

答案1

您的 NAT 场景“假设这 30 台邮件服务器无法知道它们在外部获得的 IP 地址是什么”在可靠的 SMTP 传送环境下出现故障。


这很简单。反向 DNS 记录只能可靠地映射回一个主机名。即2.1.168.192.in-addr.arpa.只会映射到smtp1.example.com

A 记录同样如此:smtp1.example.com.应该只指向一个 IP 地址,192.168.1.2否则您将得到一个循环 DNS,其中一次查找将显示与第二次查找不同的 IP 地址。

(收件人从 192.168.1.3 获取标识为 smtp1.example.com 的传入连接,并执行 DNS 查找,返回 A 记录 192.168.1.2 --> 不匹配,从而返回额外的垃圾邮件分数。)

这制定了一个简单的规则:邮件服务器应该只使用一个 IP 地址作为主要 IP 地址。

相关内容