ISA Server 2006 重設連接到 SMTP 用戶端 SMTP 伺服器關閉 ISA Server 的連線時

文章翻譯 文章翻譯
文章編號: 959312 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

徵狀

考慮下列案例:
  • 在 Microsoft 網際網路安全性與加速 ISA Server 2006,您啟用 SMTP 篩選。
  • SMTP 用戶端會與透過 ISA Server 2006 SMTP 伺服器進行通訊。
  • SMTP 用戶端會使用下列的動詞命令的其中一個與 SMTP 伺服器其交談中:
    • TLS
    • STARTTLS
    • X AnonymousTLS
在這種情況下 ISA Server 2006 會將連線重設 SMTP 用戶端時 SMTP 伺服器關閉其連接到 ISA Server 與 FIN TCP 封包。這種行為可能導致某些特定的 SMTP 用戶端報告郵件傳遞失敗即使正確地傳送訊息的應用程式。

ISA 記錄中您會看到下列的這個連線的結果程式碼:
0x80074e24 FWX_E_CONNECTION_KILLED

發生的原因

由設計,SMTP 用戶端連線會重設時關閉其連接到 ISA Server 時 SMTP 伺服器。這是因為加密資料傳輸時,ISA Server 無法檢查 SMTP QUIT 命令之 SMTP 流量。不過,這種行為可能會造成特定的 SMTP 用戶端應用程式來報告錯誤。

解決方案

現在可以避免不正確的錯誤報告一個 Hotfix 了。此 Hotfix 可讓以便 ISA Server 返回 FIN TCP 封包至 SMTP 用戶端的重設封包而不是 SMTP 伺服器關閉 TCP 連線與 FIN TCP 封包時變更預設行為。若要安裝此 Hotfix 之後,請變更預設行為,您必須在 ISA Server 電腦上執行指令碼。

若要將這個 Hotfix 請依照下列步驟執行:
  1. 下載並安裝下列 「 Microsoft 知識庫 」 文件中的 [提到的 Hotfix 套件:
    959357ISA Server 2006 Hotfix 套件的描述: 2008 年 10 月 29,
  2. 啟動 [記事本],然後再將下列指令碼複製到 「 記事本 」 檔案
    Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}"
    Const SE_VPS_NAME = "GracefulPassthroughServerShutdown"
    Const SE_VPS_VALUE = true
    
    Sub 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 If
    
    End Sub
    
    Sub CheckError()
    
        If Err.Number <> 0 Then
            WScript.Echo "An error occurred: 0x" & Hex(Err.Number) & " " & Err.Description
            Err.Clear
        End If
    
    End Sub
    
    SetValue
    
  3. 將檔案儲存為 Microsoft Visual Basic 指令碼檔案中,藉由使用.vbs 副檔名。
  4. 按兩下.vbs 檔案,以執行指令碼。
附註如果您想要還原到預設的行為,變更下列一行指令碼:
Const SE_VPS_VALUE = true

變更下列這一行:
Const SE_VPS_VALUE = false

然後,重新執行 ISA Server 電腦上的指令碼。

狀況說明

Microsoft 已確認<適用於>一節所列之 Microsoft 產品確實有此問題。

?考

如需有關軟體更新術語的詳細資訊,按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
824684用來描述 Microsoft 軟體更新標準術語的說明

屬性

文章編號: 959312 - 上次校閱: 2009年6月11日 - 版次: 2.0
這篇文章中的資訊適用於:
  • Microsoft Internet Security and Acceleration Server 2006 Service Pack 1?應用於:
    • Microsoft Internet Security and Acceleration Server 2006 Standard Edition
    • Microsoft Internet Security and Acceleration Server 2006 Enterprise Edition
關鍵字:?
kbmt kbexpertiseinter kbfix kbsurveynew kbqfe KB959312 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:959312
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com