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 = &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 -
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.