我正在使用Linux客户机,连接到第三方外部邮件服务器。
当我尝试发送邮件时,邮件服务器的响应时间非常长。 为了进行debugging,我安装了mailx基本客户端,并跟踪客户端和服务器之间的通信。 在进一步缩小之后,事实certificate,即使提供服务器的IP地址(即不涉及DNS查询),到端口25的telnet也是缓慢的步骤。
因此,我可以通过在Linux命令行提示符下运行以下命令来重现速度慢的问题:
% telnet 192.186.222.162 25 Trying 192.186.222.162...
等待几秒钟,然后中止或继续。
奇怪的部分是 – 这种缓慢只在一些客户端电脑上看到 – 与Xubuntu 14.04。
% uname -a Linux myPC 3.13.0-24-generic #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
在Fedora系统上看不到缓慢。 当我通过不同的ISP连接到相同的邮件服务器时,在同一个系统上也没有看到。 这可能是因为第一个ISP是一个办公室networking,许多用户同时试图将他们的邮件客户端连接到同一个邮件服务器。
任何提示,将不胜感激。
你所描述的最可能的原因是:
远程服务器反向DNS查找客户端IP地址的问题
IP地址 – > [ PTR DNSlogging] – >名称 – > [ A / AAAA DNSlogging] – > IP_Address
标识查询超时[从远程主机到smtp客户端主机的TCP连接]
默认的标识超时已经是30秒了,AFAIR现代sendmail使用5s超时。
你会想迅速回应逆向dns。
有一件事你可以用你的本地DNS服务器(如果它正在运行绑定)
$ORIGIN 0.168.192.in-addr.arpa. $GENERATE 1-254 $ PTR 192-168-0-$.lan.example.com. $ORIGIN lan.example.com. $GENERATE 1-254 192-168-0-$.lan.example.com. IN A 192.168.0.$