系统设置:Linux Red Hat Enterprise Linux ES 版本 4(Nahant Update 9)、Postfix 邮件服务器
我有一位用户正在尝试发送电子邮件。此服务器上的电子邮件多年来一直运行良好,没有任何(持续的)问题。现在,此用户无法向特定服务器发送电子邮件,而且只能向该服务器发送电子邮件。我测试了我的帐户,也无法向该服务器发送电子邮件。
当我挖掘 mx 记录时,我得到了以下信息:
dig -t mx xxxxxxxxx.com
;; Truncated, retrying in TCP mode.
;; connection timed out; no servers could be reached
当我使用 +ignore 运行相同的命令时,它可以起作用。
我已经运行了这个命令并且它显示了我的 UDP 数据包大小:
dig +short rs.dns-oarc.net txt
rst.x3827.rs.dns-oarc.net.
rst.x3837.x3827.rs.dns-oarc.net.
rst.x3843.x3837.x3827.rs.dns-oarc.net.
"Tested at 2013-06-14 22:41:30 UTC"
"72.51.49.20 sent EDNS buffer size 4096"
"72.51.49.20 DNS reply size limit is at least 3843"
这看起来足够大但我不知道。
我将 OpenDNS 服务器添加到我的 resolv.host,但没有帮助。
服务器比较旧(大约 2008 年),很快就会被替换。我怀疑这会解决问题,但距离替换还有两到四周的时间,我想在此期间修复它。
Postfix 在该服务器的邮件日志中向我提供了以下信息:
6 月 14 日 16:01:35 postfix/smtp[10962]: to=, reply=none, delay=94925, delays=94358/0.03/567/0, dsn=4.4.3, status=deferred (未找到主机或域名。name=xxxxxxx.com 的名称服务错误 type=MX: 未找到主机,请重试)
不确定是否需要以某种方式更改后缀或命名等等。
谢谢bqb
答案1
第一行错误是警告信息。
;; 被截断,以 TCP 模式重试。
尼尔斯在他关于 SF 的帖子中:强制将 DNS 请求转发为 TCP 模式解释如下:
第一个查询以 UDP 模式发出,答案不适合 UDP(由于权威 NS 列表较长),然后以 TCP 模式重试,并给出正确答案。
第二个是永久性错误,dig 无法访问任何 NS 服务器。
;;连接超时;无法访问服务器
例如,你可以告诉 dig 公布一个大的接收缓冲区dig +bufsize=2048 xxxxx.com
。
基于关于你的评论,它对你的情况有效。
解决方案
您可以尝试在 named.conf 中设置参数edns-udp-size
和/或max-udp-size
参宿一指出他的回答。
还请尝试检查防火墙规则以允许 TCP 数据包通过端口 53。看起来这就是你的挖掘失败的原因时间到在 TCP 模式下。