在主机上运行的应用程序的Linux机器上,我们已经开始看到连接远程主机端口的连接尝试有时需要更长时间才能恢复的问题。
作为一个testing,一个简单的脚本被build立起来,只是试图在一个不存在的远程端口上进行无限循环的远程login。
在大多数连接尝试中,我们会马上得到类似下面的内容:
telnet remoteHost 12345 Trying 192.168.1.1... telnet: connect to address 192.168.1.1: Connection refused
但是,在相当规律的时间间隔内,连接似乎会挂起几秒钟,然后继续进行下一次连接尝试,这将返回到即将到来的状态。 它只会坐在“尝试”阶段:
telnet remoteHost 12345 Trying 192.168.1.1...
通常情况下,这不是一个大问题,但是在一个应用程序中,在大约100台服务器之间每秒钟执行数以千计的事情之后,这些随机的缓慢下降开始成为一个问题。 有谁知道是什么驱动这个长度或时间,或为什么它可能是不一致的?
万一它很重要,这里有一些系统信息:
uname -r -> 2.6.16.60-0.39.3-smp uname -m -> x86_64 cat /etc/*-release -> SUSE Linux Enterprise Server 10 (x86_64) VERSION = 10 PATCHLEVEL = 2
这听起来像您的扫描技术类似于端口扫描,所以服务器可能configuration为丢弃SYN数据包来响应端口扫描? 服务器上的任何防火墙设置类似于10个iptables规则中的#8 来帮助保护您的Linux机器 ?