Belirtiler
Microsoft Forefront Threat Management Gateway (TMG) 2010 çalıştıran bir sunucu, belirli web proxy veya web dinleyicisi yeni bağlantıları kabul etmeyebilir. Bu sorun, sunucu çalışır durumda kalma süresi birkaç gün için birkaç saat sonra ortaya çıkabilir.
Neden
TMG web dinleyicisi üzerinde yeni bağlantı kabul etmeyi durdurur Bu sorun oluşur. Bunu en kısa sürede yardımcı işlev sürücüsü (AFD) yuva için bekleme listesi sıra doldurur. Bekleme listesi sıra sonra yeni gelen bağlantıları sıfırlamak sunucu başlar. Bu durumda Ağ İzleyicisi'ni kullanarak sunucuyu izlemek, ACK/RST desen için her yeni bağlantı girişimi bir SYN fark edebilirsiniz.
Çözüm
Bu sorunu gidermek için Forefront Threat Management Gateway (TMG) 2010 Service Pack 2 için Paketi 5'i yükleyin.
Durum
Microsoft bu sorunun "Aşağıdakilere Uygulanır" bölümünde listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır.
Daha fazla bilgi
Paketi 5'i yükledikten sonra boşta giden çağrıları kabul zaman işlevini etkinleştirmeniz gerekir. Bunu yapmak için şu adımları izleyin:
-
Aşağıdaki komut dosyasını Not Defteri'ne kopyalayın ve dosyayı SetAcceptIdleTimeout.vbs kaydedin:
'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 sunuculardan biri komut dosyasını çalıştırın. Örneğin, zaman aşımı süresini 5 dakika olarak ayarlamak için aşağıdaki yönetimsel bir komut isteminden çalıştırın:
cscript.exe SetAcceptIdleTimeout.vbs 300
-
Bu değişiklik etkili olması için tüm dizi üyelerinde firewall hizmetini yeniden başlatın.
Bu değişikliği geri almak için boşta kalma zaman aşımını 0 olarak ayarlamak için aşağıdaki komutu çalıştırın:
cscript.exe SetAcceptIdleTimeout.vbs 0
Başvurular
Microsoft yazılım güncelleştirmelerini açıklamak için kullandığı terminoloji hakkında ek bilgi edinin.