问题:
什么原因会导致SMTP标识延迟?
通常,当您远程登录到邮件服务器的端口25时,您会非常快速地收到SMTP标语。以下是SMTP标识的示例:
220 host.example.com ESMTP
554 host.example.com
有时会出现延迟,您得到的只是显示中的连接信息。例如:
host.example.com> telnet 10.92.152.18 25
Trying 10.92.152.18 ...
已连接到host.example.com。
转义字符为“^]”。
请注意,本示例中缺少标语。经过一段时间后,标语应最终显示在下一行。本文讨论这一特定情况。我们将讨论四种常见原因:DNS问题、高CPU使用率、资源节约模式和防火墙。
DNS问题
SMTP标识被延迟的最常见原因是DNS查找时间长于正常时间或超时。在连接和标语显示之间会进行三次查找:反向DNS(或PTR记录)查找,然后对PTR记录中给定的主机名进行正向(或A记录)查找,然后执行SenderBase查找以获得连接主机的SBRS(SenderBase信誉得分)。
这些查找用于确定连接主机所属的发件人组。这决定了使用的邮件流策略,以及是否从此主机接受邮件。这会影响要发送的邮件横幅(如果有)。因此,在给出横幅之前进行这些查找至关重要。
要确定问题是否与DNS相关,您需要登录到ESA的命令行(CLI)并使用nslookup命令。从设备本身执行此操作非常重要,因此您从设备的角度执行操作。首先,您需要知道尝试连接的IP地址。您可能需要使用mail_logs或Message Tracking来获取IP地址。
一旦知道IP,就可以开始使用nslookup进行测试。请务必计算每个配置所需的秒数
DNS查找!首先执行反向DNS查找:
host.example.com> nslookup 10.92.152.18
PTR= host.example.com TTL=2h 35m 43s
然后对反向DNS查找返回的主机名执行查找,如下所示:
host.example.com> nslookup host.example.com
A=10.92.152.18 TTL=2h 34m 16s
如果这两个查找的总时间与横幅的延迟时间大致相同,则说明您找到了原因,希望进一步查看DNS情况。接下来的步骤可能包括测试来自不同网络的其他IP地址。这将告诉您问题是否与特定主机或网络隔离,或者是否存在更常见的DNS问题。
高CPU使用率
导致SMTP标识延迟的另一个可能原因是CPU使用率过高。
当系统负载较重时,所有操作都需要更长的时间才能完成。您可以转到Monitor选项卡的System Status页面,或者使用“status detail”CLI命令来检查这一点。这两种方法都将提供“计量器”部分的CPU使用率统计信息。例如:
CPU 利用率
总计67%
MGA 16%
案例 46%
Brightmail反垃圾邮件0%
防病毒0%
报告 4%
隔离区0%
如果总计很高(95%或更高)并继续保持高水平几分钟,则可能是CPU使用率较高的原因。
smtp标识延迟。
资源节约模式
SMTP标识延迟的另一个可能原因是系统已进入资源节约模式。在此模式下,系统通过减缓邮件接受速度来保护自己。它通过有意延迟其发送的每个SMTP响应来完成此操作。要确定系统是否处于资源节约模式,请转至“监控”选项卡的“系统状态”页面,或者使用“状态详细信息”CLI命令。在Gauges部分中查找Resource Conservation行。
例如:
资源节约0
任何非零数字都表示系统试图通过减慢SMTP响应来保护自己。您可以在此处了解有关资源节约的更多信息:
什么是资源节约模式?
防火墙
SMTP标识延迟的最后一个常见原因是具有SMTP感知功能的防火墙。这些功能,例如对所有SMTP内容执行“SMTP修正”或运行安全扫描。有时,防火墙可能会在扫描时延迟标语,也可能修改SMTP标语的内容。下面是更改SMTP标识的常用防火墙的示例:
220
*****02***********************************************************0****0****
0 ***************2******200**0*********0*00