Symptomen
Een server waarop Microsoft Forefront Threat Management Gateway (TMG) 2010 accepteert geen nieuwe verbindingen op een bepaald webproxy of weblistener. Dit probleem kan optreden na enkele uren tot meerdere dagen van de uptime van het systeem.
Oorzaak
Dit probleem treedt op wanneer TMG accepteert geen nieuwe verbindingen op de weblistener. Dit vult snel de wachtrij van de reserve voor de socket bijkomende functie stuurprogramma (AFD). Nadat de reserve wachtrij vol is, begint de server nieuwe binnenkomende verbindingen opnieuw instelt. Als u de server controleren met behulp van Netwerkcontrole in deze situatie, zult u merken een SYN, ACK/eerste patroon voor elke nieuwe verbindingspoging.
Oplossing
U lost dit probleem, combinatiepakket 5 voor Forefront Threat Management Gateway 2010 (TMG) servicepack 2 te installeren.
Status
Microsoft heeft bevestigd dat dit probleem kan optreden in de Microsoft-producten die worden vermeld in de sectie 'Van toepassing op'.
Meer informatie
Nadat u updatepakket 5 hebt geïnstalleerd, moet u de functionaliteit van time out inactief gesprekken accepteren inschakelen. Ga hiervoor als volgt te werk:
-
Kopieer het volgende script naar Kladblok en sla het bestand op als 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
-
Het script uitvoeren op een van de servers van TMG. Voer de volgende uit een administratieve opdrachtprompt bijvoorbeeld de time-outperiode instellen op 5 minuten:
cscript.exe SetAcceptIdleTimeout.vbs 300
-
Start opnieuw op de firewall-service op alle matrixleden om deze wijziging door te voeren.
Voer de volgende opdracht om de time-out voor inactiviteit instellen op 0 om deze wijziging ongedaan:
cscript.exe SetAcceptIdleTimeout.vbs 0
Referenties
Meer informatie over de terminologie die door Microsoft wordt gebruikt om softwareupdates te beschrijven.