使用多个公用IP后面的多个邮件服务器进行SMTP DNSvalidation

我知道邮件服务器何时收到电子邮件,它会执行“DNS 3路检查”(我认为这有时也称为FCrDNS ),作为对垃圾邮件发送者的简单testing。 我理解它的工作方式如下:

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

  1. 反向查找源IP的PTR – 这会导致域名
  2. 正向查找来自#1的域名 – 这会产生一个IP地址
  3. 传入邮件的SourceIP必须与#2中的IP地址相匹配。

有时会另外检查SMTP Helo Banner,这是以域名格式。 在域名上进行正向查找,得到IP地址。 然后做一个IP地址的PTR的反向查找,并且应该parsing回到上面设置的SMTP DNSlogging中的相同的域名。

但是,如果你有30个邮件服务器,所有共享3个不同的IP地址。 如何设置SMTP Banner,A Records和PTRlogging以通过上述所有testing? 假设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后面多个服务器的解决schemefunction。
(3)确认并详细说明多个非静态公共IP地址之后的多个服务器的function。

你的NAT场景“假设没有办法使30个邮件服务器知道他们在外面得到的是什么IP地址”在可靠的SMTP传递的上下文中被破坏了。


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

Alogging同样适用: smtp1.example.com. 应该只指向一个IP地址192.168.1.2否则你会得到一个循环的DNS,其中一个查询将显示从第二个不同的IP地址。

(收件人从192.168.1.3获取标识为smtp1.example.com的传入连接,并执行DNS查找,返回Alogging192.168.1.2 – >不匹配,从而增加额外的垃圾邮件分数。

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