症状
运行 Microsoft 最前沿威胁管理网关 (TMG) 2010年的服务器可能会停止接受新的连接上的特定 web 代理或 web 侦听器。可能会出现此问题后几个小时到几天的服务器正常运行时间。
原因
在 TMG 停止接受新的连接,web 侦听器上时,将发生此问题。这很快就填满缓冲区队列的辅助功能的驱动程序 (AFD) 套接字。缓冲区队列已满之后,服务器将启动重置新传入的连接。如果这种情况下使用网络监视器来监视服务器,您可能会注意到 SYN,每次新的连接尝试的 ACK/RST 模式。
解决方案
要解决此问题,请安装最前沿威胁管理网关 (TMG) 2010 Service pack 2 的累积 5 。
状态
Microsoft 已经确认这是“适用于”一节中列出的 Microsoft 产品中的问题。
详细信息
安装累积 5 之后,必须启用时间空闲出接受呼叫的功能。若要执行此操作,请执行以下步骤:
-
将以下脚本复制到记事本中,然后再将该文件另存为 SetAcceptIdleTimeout.vbs:
'Define the constants needed.Const strVpsGUID = "{143F5698-103B-12D4-FF34-1F34767DEABC}"Const strVpsPropertyName = "AcceptIdleTimeout"Const Error_FileNotFound = &H80070002Set objArgs = wscript.Argumentsif objArgs.Count > 0 then uAcceptIdleTimeout = objArgs(0)end ifif objArgs.Count <> 1 then wscript.echo "Usage: SetAcceptIdleTimeout.vbs <timeout>" wscript.echo wscript.echo "Set async accept timeout to <timeout> value (in sec)" wscript.echo "To disable async accept timeout set it to 0" wscript.Quit 2end ifset objArray = CreateObject("FPC.Root").GetContainingArray()Set objVPSet = OpenVPSet(objArray, strVpsGUID)objVPSet.Value(strVpsPropertyName) = uAcceptIdleTimeoutobjArray.Save()objArray.RestartServices(1)function OpenVPSet(objParent, strVpsGUID) Set objVPSets = objParent.VendorParametersSets On Error Resume Next Set OpenVPSet = objVPSets.Item(strVpsGUID) ' Save the Err properties in case it needs to be re-raised errNumber = Err.Number errSource = Err.Source errDescription = Err.Description errHelpFile = Err.HelpFile errHelpContext = Err.HelpContext On Error GoTo 0 if errNumber = Error_FileNotFound Then Set OpenVPSet = objVPSets.Add(strVpsGUID) Elseif errNumber < 0 Then ' An error other than "file not found" occurred -- re-raise the error, ' this time not under "On Error Resume Next" Err.Raise errNumber, errSource, errDescription, errHelpFile, errHelpContext End Ifend function -
一个 TMG 服务器上运行该脚本。例如将超时时间设置为 5 分钟,从管理的命令提示符下运行以下命令︰
cscript.exe SetAcceptIdleTimeout.vbs 300
-
若要使此更改生效,请重新启动防火墙服务在所有阵列成员上。
若要撤消此更改,请运行下面的命令以将闲置超时时间设置为 0:
cscript.exe SetAcceptIdleTimeout.vbs 0
参考资料
了解 Microsoft 用于描述软件更新的术语。