FCRDNS是否需要RDNS与第一个转发查询相同的主机名?

转发确认反向dns(fcrdns)只查找IP到主机名,然后主机名到IP还是比较,以及第一个主机名(以及特别是在垃圾邮件过滤)?

假设我有这些logging:

  • 一个reverse.somedomain:127.0.0.1
  • 一个mail.somedomain:127.0.0.1
  • 一个mail.mailserverdomain:127.0.0.1
  • PTR 127.0.0.1:reverse.somedomain

MTA会尝试validation主机的RDNS并将mail.mailserverdomainparsing为127.0.0.1 ,然后将127.0.0.1反转为mail.mailserverdomain ,然后将mail.mailserverdomain转发到127.0.0.1 。 这将是一个有效的FCRDNS或PTRlogging是否需要指向HELO命令中给出的名称(邮件服务器如何标识自己)?

问题归结为这样一个问题,如果FCRNDS使用两个或三个查询,那么序列是:

  • 得到了HELO mail.senderdomain
  • mail.senderdomainparsing为IP。
  • parsing连接IP到hostname.senderdomain

FAIL: hostname.senderdomain != mail.senderdomain

要么

  • 得到了HELO mail.senderdomain
  • mail.senderdomainparsing为IP
  • 将IPparsing为hostname.senderdomain
  • hostname.senderdomainparsing为相同的IP

SUCCESS: hostname.senderdomain匹配连接的ip,反之亦然。

作为一个有用的检查需要确认的HELO主机名对IP(否则我的邮件服务器可以声称在HELO是谷歌),将有一个正向查找,这是比较连接IP。 然后下一步是反向查找,给出连接ip的主机名。 现在较短的序列会比较主机名,而较长的序列会进行另一次正向查找并比较ips。

如果使用第一个序列,这意味着在mailserverconfiguration中使用function主机名(例如mail.domain ,而在使用主机名(在server123.domain rDNS中标识主机)将使您的邮件被标记为可能的垃圾邮件。

其实也不是。

FCRDNS代表“转发确认反向DNS” 。

这是如何工作的,首先,查看连接IP地址的PTRlogging。 如果没有PTRlogging,则检查立即失败。 具有此function的邮件服务器将拒绝该连接,例如从我自己的邮件服务器收到的拒绝邮件:

 Sep 18 02:48:10 grummle postfix/smtpd[16577]: NOQUEUE: reject: RCPT from unknown[204.51.178.49]: 450 4.7.1 Client host rejected: cannot find your hostname, [204.51.178.49]; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<smtp49.rsend1.com> 

由于204.51.178.49没有PTRlogging,反向DNS检查失败。

第二步是获取返回的主机名,并查找其IP地址。 该IP地址必须与连接到服务器的IP地址相匹配。 这是前进证实的手段。 如果没有,那么我们再次拒绝连接。 (很less有人能够certificate,在上周的日志中,我甚至没有例子)。