最近我们的内部 SMTP 中继服务器停止工作 - 或者更确切地说,停止发送电子邮件。它响应发送邮件请求,一个简单的 TELNET 会话显示没有错误,但所有消息都卡在它的队列中。
这一切都发生在我们的虚拟化服务器用完磁盘空间并暂停了很多机器之后。
我怀疑这是一个 DNS 问题。我能够在虚拟机(在我自己的工作站上)中设置一个工作中继服务器,但我必须将 8.8.8.8 配置为该机器的 DNS 服务器。
一旦我恢复到我们的 DHCP 分配的 DNS,我自己的邮件服务器就会停止。
不幸的是,似乎没有任何有用的日志。我不知道邮件服务器是否在解析某些域名或连接到某些 IP 时遇到问题。在我使用 Google DNS 的虚拟机上,日志包含发送消息请求,然后是一组用于中继的消息 - 即连接到另一个邮件服务器并转发电子邮件。在发生问题的实际服务器上,没有关于中继的消息。
不幸的是,托管邮件服务器的机器也是我们内部网络的主要 DNS 机器(别看我,我没有设置它),所以我不能只使用 Google 的 DNS 并收工 - 这样做我可能会破坏很多其他的东西。
知道什么可能是错的吗?或者 - 有没有办法找出消息没有离开队列文件夹的确切原因是什么?
我终于设法找到了答案。
有人打开了 DNS 服务器中的“禁用递归”高级选项。
我不确定为什么完全关闭递归会有效地禁用 SMTP 中继服务器的功能,但在我的情况下,这是问题的直接原因。
我在 DNS 条目前面有一个空格