Salt la conținutul principal
Asistență
Conectare

ISA Server 2006 sau Forefront TMG 2010 resetează conexiunea la clientul SMTP când serverul SMTP închide conexiunea ISA Server

Lucrați de oriunde de pe orice dispozitiv cu Microsoft 365

Faceți upgrade la Microsoft 365 pentru a lucra oriunde cu cele mai recente caracteristici și actualizări.

Faceți upgrade acum

Simptome

Să luăm în considerare următorul scenariu:

  • În Microsoft Internet Security și Acceleration (ISA) Server 2006 sau Forefront TMG 2010, activați Filtrarea SMTP.

  • Un client SMTP comunică cu un server SMTP prin ISA Server 2006 sau Forefront TMG 2010.

  • Clientul SMTP utilizează una dintre următoarele verbele în sale conversație cu serverul SMTP:

    • TLS

    • STARTTLS

    • X-AnonymousTLS

În acest scenariu, ISA Server 2006 sau Forefront TMG 2010 resetează conexiunea la clientul SMTP când serverul SMTP închide conexiunea ISA Server sau Forefront TMG 2010 cu un pachet TCP FIN. Acest comportament poate provoca unele client SMTP anumite aplicații pentru a raporta că livrare mesaj nu a reușit chiar dacă mesajele trimise corect. În ISA înregistrarea în jurnal, vedeți următorul cod de rezultate pentru această conexiune:

0x80074e24 FWX_E_CONNECTION_KILLED

Cauză

Prin proiectare, conexiunea la clientul SMTP se resetează la serverul SMTP închide conexiunea ISA Server sau Forefront TMG 2010. Aceasta se întâmplă deoarece ISA Server sau Forefront TMG 2010 nu poate inspecta traficul de SMTP pentru comanda SMTP QUIT când traficul este criptat. Cu toate acestea, acest comportament poate provoca specifice SMTP aplicațiile client pentru raportul de erori.

Rezolvare

O remediere rapidă este acum disponibil pentru a evita rapoartele de eroare incorect. Această remediere rapidă permite comportamentul implicit pentru a fi modificate, astfel încât ISA Server returnează un pachet TCP FIN clientului SMTP în loc de un pachet de REINIȚIALIZARE atunci când serverul SMTP se închide conexiunea TCP cu un pachet TCP FIN. Pentru a modifica comportamentul implicit după ce instalați această remediere rapidă, trebuie să executați un script pe un computer ISA Server. Pentru a aplica această remediere rapidă, urmați acești pași:

  1. Descărcați și apoi instalați pachetul de remediere rapidă care este menționată în următorul articol din baza de cunoștințe Microsoft:

    959357 Descrierea pachetului de remediere rapidă ISA Server 2006: 29 octombrie 2008Notă: Dacă executați Forefront TMG 2010, copiați scriptul din pasul 2 într-un fișier Notepad și salvați-l. Deschideți promptul de comandă cu privilegii privilegiat și executați scriptul (adică: cscript smtp.vbs).

  2. Porniți Notepad, și apoi copiați următorul script într-un fișier Notepad.

    Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}"Const SE_VPS_NAME = "GracefulPassthroughServerShutdown"Const SE_VPS_VALUE = trueSub SetValue()    ' Create the root obect.    Dim root  ' The FPCLib.FPC root object    Set root = CreateObject("FPC.Root")    'Declare the other objects needed.    Dim array       ' An FPCArray object    Dim VendorSets  ' An FPCVendorParametersSets collection    Dim VendorSet   ' An FPCVendorParametersSet object    ' Get references to the array object    ' and the network rules collection.    Set array = root.GetContainingArray    Set VendorSets = array.VendorParametersSets    On Error Resume Next    Set VendorSet = VendorSets.Item( SE_VPS_GUID )    If Err.Number <> 0 Then        Err.Clear        ' Add the item        Set VendorSet = VendorSets.Add( SE_VPS_GUID )        CheckError        WScript.Echo "New VendorSet added... " & VendorSet.Name    Else        WScript.Echo "Existing VendorSet found... value- " &  VendorSet.Value(SE_VPS_NAME)    End If    if VendorSet.Value(SE_VPS_NAME) <> SE_VPS_VALUE Then        Err.Clear        VendorSet.Value(SE_VPS_NAME) = SE_VPS_VALUE        If Err.Number <> 0 Then            CheckError        Else            VendorSets.Save false, true            CheckError            If Err.Number = 0 Then                WScript.Echo "Done with " & SE_VPS_NAME & ", saved!"            End If        End If    Else        WScript.Echo "Done with " & SE_VPS_NAME & ", no change!"    End IfEnd SubSub CheckError()    If Err.Number <> 0 Then        WScript.Echo "An error occurred: 0x" & Hex(Err.Number) & " " & Err.Description        Err.Clear    End IfEnd SubSetValue
  3. Salvați fișierul ca fișier script Microsoft Visual Basic, utilizând extensia numelui de fișier .vbs.

  4. Faceți dublu clic pe fișierul .vbs pentru a executa scriptul.

Notă Dacă doriți să reveniți la comportamentul implicit, modificați următoarea linie de script:

Const SE_VPS_VALUE = true

Modificați această linie cu următoarele:

Const SE_VPS_VALUE = false

Apoi, executați din nou scriptul pe computerul ISA Server sau Forefront TMG.

Stare

Microsoft a confirmat că aceasta este o problemă în produsele Microsoft enumerate în secțiunea „Se aplică la”.

Referințe

Pentru mai multe informaţii despre terminologia privind actualizarea software-ului, faceţi clic pe următorul număr de articol pentru a vedea articolul în Baza de cunoştinţe Microsoft:

824684 Descrierea terminologiei standard care este utilizat pentru a descrie actualizările de software Microsoft

Aveți nevoie de ajutor suplimentar?

Extindeți-vă competențele
Explorați instruirea
Fiți primul care obține noile caracteristici
Alăturați-vă la Microsoft Insider

V-a fost de ajutor această informație?

Vă mulțumim pentru feedback!

Vă mulțumim pentru feedback! Se pare că ar fi util să luați legătura cu unul dintre agenții noștri de asistență Office.

×