증상
Microsoft Forefront 위협 관리 게이트웨이 (TMG) 2010을 실행 하는 서버 특정 웹 프록시 또는 웹 수신기에 대 한 새 연결을 수락 하지 않을 수 있습니다. 이 문제는 몇 시간 후 며칠 동안 서버 가동 시간에 발생할 수 있습니다.
원인
이 문제는 TMG 웹 수신기에 대 한 새 연결을 받아들이는 중지 될 때 발생 합니다. 이 곧 보조 함수 드라이버 (AFD) 소켓 백로그 대기열을 채웁니다. 백로그 큐가 가득, 서버 새로 들어오는 연결은 다시 시작 됩니다. 이 상황에서 네트워크 모니터를 사용 하 여 서버를 모니터링 하는 경우 각 새 연결 시도 대 한 ACK/RST 패턴 SYN 떨어질 수 있습니다.
해결 방법
이 문제를 해결 하려면 Forefront 위협 관리 게이트웨이 (TMG) 2010 서비스 팩 2 용 롤업 5 설치 합니다.
상태
Microsoft는 이 문제가 '적용 대상' 섹션에 나열된 Microsoft 제품의 문제임을 확인했습니다.
자세한 내용
롤업 5를 설치 하면 기능 호출을 수락 하는 유휴 제한 시간을 사용 하도록 설정 해야 합니다. 이렇게 하려면, 다음 단계를 수행하십시오.
-
다음 스크립트를 메모장에 복사 하 고 파일을 SetAcceptIdleTimeout.vbs로 저장 합니다.
'Define the constants needed.Const strVpsGUID = "{143F5698-103B-12D4-FF34-1F34767DEABC}"
Const strVpsPropertyName = "AcceptIdleTimeout"
Const Error_FileNotFound = &H80070002
Set objArgs = wscript.Arguments
if objArgs.Count > 0 then
uAcceptIdleTimeout = objArgs(0)
end if
if 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 2
end if
set objArray = CreateObject("FPC.Root").GetContainingArray()
Set objVPSet = OpenVPSet(objArray, strVpsGUID)
objVPSet.Value(strVpsPropertyName) = uAcceptIdleTimeout
objArray.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 If
end function
-
TMG 서버 중 하나에 스크립트를 실행 합니다. 제한 시간을 5 분으로 설정 하는 등 관리 명령 프롬프트에서 다음을 실행 합니다.
cscript.exe SetAcceptIdleTimeout.vbs 300
-
이 변경 내용을 적용 하려면 모든 배열 구성원의 방화벽 서비스를 다시 시작 합니다.
이 변경 내용을 취소 하려면 유휴 제한 시간을 0으로 설정 하려면 다음 명령을 실행 합니다.
cscript.exe SetAcceptIdleTimeout.vbs 0
참조
Microsoft 소프트웨어 업데이트를 설명 하기 위해 사용 하는 용어 에 대해 알아봅니다.