邮件服务器-邮件系统-邮件技术论坛(BBS)

标题: SMTP连接里很多维持超长时间的连接 CLOSE_WAIT状态 [打印本页]

作者: protostar    时间: 2008-10-3 18:24
标题: SMTP连接里很多维持超长时间的连接 CLOSE_WAIT状态
看到SMTP当前会话里很多维持了很长时间的连接,netstat看到的多是close_Wait状态,选择全部终止后,多数状态变成last_ACK状态,需不需要处理?为什么会维持这么长时间的连接不中断?

[ 本帖最后由 protostar 于 2008-10-9 19:03 编辑 ]
作者: protostar    时间: 2008-10-4 22:46
看样子有些不对劲,我观察了一下,一些IP已经连接了27个多小时,还是保持在这个CLOSE_WAIT状态,这样,很快打开的smtp连接数已经上升到120多个了,而我设置的smtp并发数是500个,以前设置成200个时,出现smtp服务死掉的情况,不过尚不确定是不是肯定和这个情况有关,但是我想应该是有一定联系的。没有人遇到过这个情况么?
作者: jimmy_xu    时间: 2008-10-5 11:22
SMTP用的是25号端口,本地测试telnet 205.188.249.132 25是否可以连接。AOL好象是美国在线吧,如果你有中国电信的IP或许无法访问那些IP,如果是香港或境外ISP的线路应该是没有任何问题。要么找你的ISP帮你解决这个问题。

[ 本帖最后由 jimmy_xu 于 2008-10-5 11:30 编辑 ]
作者: protostar    时间: 2008-10-5 12:03
版主你搞错了方向,不是我要连接它们,是它们连接在我的25端口,迟迟不终止Close_wait状态,netstat里能看到都是它们在连接我这边。记得以前iMail系统里有关于timed_wait的调整方法的,是在系统的HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\tcpip\Parameters注册表项下调整的,但是找不到怎么调整这个close_wait状态的注册表项。

[ 本帖最后由 protostar 于 2008-10-5 12:13 编辑 ]
作者: jimmy_xu    时间: 2008-10-5 15:49
怎么搞错方向,上面那张图不是你们发邮件给AOL的信息么,你发邮件给别人怎么叫别人连接你的25端口,是你连接别人的服务器,自己反思一下。你不会告诉我你是AOL的管理员吧?????????这张图是某个客户的管理员抓出来给你的吧????
连接与被连接是相互的,你连接别人,别人当然也要连接你。你都迟迟连接不上对方向邮件服务器的端口,在小于默认关闭时间,这个连接是会不断重试的。只有当超过邮件系统设定的时间,发现还是连接不上,才会自动丢弃,终止连接。建议找本书好好了解一下SMTP连接器的工作原理。

[ 本帖最后由 jimmy_xu 于 2008-10-5 15:53 编辑 ]
作者: everyboy    时间: 2008-10-6 08:49
SMTP裡的都是發出去的,不是收進來
作者: protostar    时间: 2008-10-6 10:39
版主大人看明白了没?前面的IP地址是我本地的地址,后面的是对方的IP地址,您是说我用25端口,连那些IP的三四万开外的端口去发邮件?咱们心平气和些讨论问题。

[ 本帖最后由 protostar 于 2008-10-6 10:56 编辑 ]
作者: northboy    时间: 2008-10-6 14:42
关注!

之前注意到我的服务器上也有几个这样的连接,但不多。
希望lz解决后和大家分享。
作者: jimmy_xu    时间: 2008-10-7 15:05
为什么你不去telnet 对方的25端口,而是查看对方与自己的25号端口连接情况,是你发邮件给别人,不是别人发邮件给你,你估计也没有明白我的意思。
作者: protostar    时间: 2008-10-7 16:03
好吧,虽然不明白你的意思,我还是照做,ok,我测试了几个那些连接的IP的25端口,可以连上,响应正常。然后呢?
我之所以有把握说不是我们在向它们发送邮件,是因为我知道公司的主要邮件方向。
请明示,我不是很理解你的意思。

BTW,我特意找了几个在netstat里显示是close_wait状态的IP,连到它的25端口测试了一下,全部ok。

[ 本帖最后由 protostar 于 2008-10-7 16:06 编辑 ]
作者: xinsui    时间: 2008-10-7 16:16
关注,防止类似问题发生
作者: 钉子    时间: 2008-10-8 11:24
在STMP中有没有限制连接数及连接超时的时间?
作者: protostar    时间: 2008-10-8 16:04
有限制,“限制连接数不超过500”,连接超时 5分钟。我记得以前用iMail的时候,看到的是一堆TMED_WAIT,和这个不大一样,那个通过修改系统注册表可以进行改善,这个查了很多资料,貌似没有个定论。原理倒是解释的很清楚,都是对方close socket的时候FIN包只发出了第一个,后面的没有了,然后这边就傻傻的等,问题是得有个度啊,怎么能傻等这么长时间还不终止。
作者: protostar    时间: 2008-10-8 16:10
对了,钉子,那个连接超时5分钟应该可以关掉不活动的连接吧?为什么没关闭掉呢?
作者: protostar    时间: 2008-10-8 20:40
我想我应该大概正在接近答案了,我检查了SMTP日志,找了那些IP地址,发现无一例外,都有个规律,那就是都完成了helo、from和rcpt命令后就没有后面的动作了,而且从SMTP日志里,可以看到这些IP要发送的邮件肯定都是垃圾邮件。那么我就认为出现这种问题的原因应该是反垃圾邮件策略引起的。
我将这些IP地址在系统引用的两个rbl里查询了一下,发现都没有记录中,这样可以知道,这些IP没有下一步动作的原因不会是因为RBL过滤引起的。
剩下的原因就在于IMF和其它SPF之类的影响了,我就怀疑到会不会是因为我设置的过滤动作是“拒绝”引起的呢?系统检测到对方发来的邮件符合过滤标准后,就进行了拒绝响应,然后正是因为不知道它采取了什么方式进行了拒绝,结果导致这个连接没有正常关闭,然后就处于这个状态了。
为了证实我的猜测,我修改了IMF和SPF过滤的动作为“收取后删除”,果然,修改完后,观察了大概二三十分钟后,没有再出现类似情况。

我认为这个问题应该是Exchange的一个bug,有兴趣的TX可以试试把IMF和SPF的过滤动作设置为“拒绝”看看会不会出现类似情况,主要应该是IMF的拒绝动作引起的。
作者: protostar    时间: 2008-10-8 20:47
再抱怨一句,Exchange的smtp日志真TM垃圾,差iMail日志的可读性不是一点两点。
作者: 钉子    时间: 2008-10-9 00:03
标题: 回复 15楼 protostar 的帖子
确实有进展了,也就是说你把这些IMF这些改成非"拒绝"就不会出现了?不过很有可能是启用了发件人ID造成的,请查看以下KB,并下载安装KB所附的Hotfix看问题是否有改观:

The performance of the server deteriorates over time after you enable Sender ID Filtering in Exchange Server 2003 Service Pack 2
http://support.microsoft.com/kb/918283/en-us
作者: protostar    时间: 2008-10-9 13:28
非常好,哈哈,钉子,还是你N啊,确实,我昨天试了一下,只将IMF的设置为删除,发件人过滤设置为拒绝,结果今天早上一看,又有了一堆连接,不过情况要稍微好些。我看了那个KB,里面描述的症状是完全符合的。MS为什么不通过更新发布这么个补丁呢?

强烈要求钉子说下,你是怎么找到这篇KB的?我都找了好几天了,都没找到,找到的都是一堆什么java编程、Unix下面处理,还有解释原理方面的文章,看的我眼都花了,也没找到合适的。钉子你是怎么找到的?
作者: 钉子    时间: 2008-10-9 13:33
标题: 回复 18楼 protostar 的帖子
http://www.google.cn/search?comp ... a=&aq=f&oq=
作者: protostar    时间: 2008-10-9 13:34
哦,我真够笨的,怎么就没想起来在MS的站点上搜索一下呢,呵呵。搜索exchange close_wait 第一条KB就是的。
作者: protostar    时间: 2008-10-9 19:03
谢谢钉子给出的线索,这个补丁我打上了,现在这个问题已经不存在了,确实是和发件人过滤有关,我启用了IMF的设置还为拒绝,但是去掉发件人过滤,情况就彻底好转了。现在打上这个补丁后,这个故障已经消失了。
作者: 钉子    时间: 2008-10-9 22:06
恭喜兄弟了.
作者: protostar    时间: 2008-10-10 08:52
哇哈哈,高兴的太早了点,过了一夜后,今天一看,又不少这种连接了。我现在不启用发件人过滤看看。
作者: tdk    时间: 2008-10-10 11:54
学习
作者: protostar    时间: 2008-10-10 12:46
这个,取消发件人过滤后,应该行了,现在一上午了,netstat里还没有看到一个close_wait的。

MS这个bug,打了补丁也没根本解决,哎。
作者: protostar    时间: 2008-10-11 08:19
这下是终于可以确认了,就是发件人过滤引起的问题,打了补丁也不行,取消这个过滤后,过了一个晚上,完全正常了。没有一个超长的连接了。




欢迎光临 邮件服务器-邮件系统-邮件技术论坛(BBS) (http://www.5dmail.net/bbs/) Powered by Discuz! X3.2