当尝试使用服务器的 IP 地址(而不是本地主机)通过 Sendmail 发送电子邮件以建立 SMTP 连接时,我在 IP 地址后的标题中收到此消息“可能被伪造”(括号中)。据我所知,rDNS 配置正确:
[root] nslookup ip.ad.dr.es
非权威答案
es.dr.ad.ip.in-addr,arpa 名称 = fqdn.domain.com
[root] dig -ta fqdn.domain.com
fqdn.domain.com IN A ip.ad.dr.es
在 /etc/hosts 中,我列出了以下内容:
127.0.0.1 fqdn.domain.com localhost.localdomain 本地主机
我是否应该在 .etc/hosts 中将 fqdn.domain.com 与实际的外部 IP 地址对应?还是其他地方存在问题?
短暂性失眠!
答案1
这是什么操作系统?我以前在 Debian/Ubuntu 上遇到过问题,内核试图变得聪明 - 如果您连接到分配了 IP 的同一台服务器上的外部 IP 地址,它实际上会通过本地主机适配器进行路由。
当我设置防火墙时,这个问题让我困惑了很长时间 - 我只允许外部适配器上的流量进入,但防火墙阻止了来自该机器的任何请求 - 结果是它通过防火墙被告知要阻止的本地主机进行路由。
在您的情况下,最终结果是 sendmail 在本地主机(127.0.0.1)上接收连接,但 EHLO 指出外部 ip.ad.dr.es - 因此认为它是伪造的。
这只是瞎猜,可能不适用于您的情况。如果您有另一台带有 sendmail 的服务器,请尝试让该服务器连接到此 sendmail 服务器上的外部 IP 地址。
答案2
好的,我已经解决了这个问题。事实上,/etc/hosts 中列出了针对本地主机 IP(127.0.0.1)的 FQDN。从该行中删除 FQDN 并添加包含外部 IP 和 FQDN 的新行即可解决问题。