증상
다음과 같은 경우를 생각해 볼 수 있습니다.
-
Microsoft 인터넷 보안 및 가속 (ISA) Server 2006 또는 Forefront TMG 2010에서는 SMTP 필터링을 사용 하면 됩니다.
-
SMTP 클라이언트가 SMTP 서버를 통해 ISA Server 2006 또는 Forefront TMG 2010을 사용 하 여 통신합니다.
-
SMTP 클라이언트가 SMTP 서버와의 대화에 다음 동사 중 하나를 사용합니다.
-
TLS
-
STARTTLS
-
X AnonymousTLS
-
이 시나리오에서는 Forefront TMG 2010 또는 ISA Server 2006 연결을 다시 설정할 SMTP 클라이언트에 게 SMTP 서버 TCP FIN 패킷 사용 하 여 연결을 ISA 서버 또는 Forefront TMG 2010을 닫으면. 이 동작은 일부 특정 SMTP 클라이언트 응용 프로그램에서 메시지를 잘못 보낼 경우에 메시지를 배달 하지 못했음을 보고할 수 발생할 수 있습니다. ISA 로그에서이 연결에 다음 결과 코드를 볼 수 있습니다.
0x80074e24 FWX_E_CONNECTION_KILLED
원인
기본적으로 SMTP 서버와 연결을 ISA 서버 또는 Forefront TMG 2010을 닫을 때 SMTP 클라이언트에 대 한 연결이 다시 설정 됩니다. 즉, ISA 서버 또는 Forefront TMG 2010 트래픽을 암호화 하는 경우 SMTP QUIT 명령에 대 한 SMTP 트래픽을 검사할 수 없습니다. 그러나이 동작은 특정 SMTP 클라이언트 응용 프로그램에서 오류를 보고 될 수 있습니다.
해결 방법
이제 핫픽스 보고서 잘못 된 오류를 방지 하기 위해 제공 됩니다. 이 핫픽스를 사용 하면 기본 동작을 변경 하 여 ISA Server SMTP 서버 TCP FIN 패킷을 TCP 연결이 닫힐 때 TCP FIN 패킷을 RESET 패킷 대신 SMTP 클라이언트에 게 반환 되도록 합니다. 이 핫픽스를 설치 하면이 기본 동작을 변경 하려면 ISA Server 컴퓨터에서 스크립트를 실행 해야 합니다. 이 핫픽스를 적용 하려면 다음과이 같이 하십시오.
-
다운로드 한 다음 Microsoft 기술 자료의 다음 문서에서 설명 하는 핫픽스 패키지를 설치 합니다.
959357 ISA Server 2006 핫픽스 패키지에 대 한 설명: 2008 년 10 월 29 일참고: Forefront TMG 2010을 실행 하는 경우 스크립트를 메모장 파일 2 단계에서 복사 하 고 저장. 상승 된 권한으로 명령 프롬프트를 열고 다음 스크립트를 실행 하 고 (즉: cscript smtp.vbs).
-
메모장을 시작한 다음 다음 스크립트를 메모장 파일에 복사 합니다.
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
-
Microsoft Visual Basic 스크립트 파일을.vbs 파일 이름 확장명을 사용 하 여 파일을 저장 합니다.
-
스크립트를 실행 하려면.vbs 파일을 두 번 클릭 합니다.
참고: 기본 동작으로 되돌리려면 다음 스크립트 줄을 변경 합니다.
Const SE_VPS_VALUE = true
이 줄을 다음과 변경:
Const SE_VPS_VALUE = false
그런 다음 ISA 서버 또는 Forefront TMG 컴퓨터에서 스크립트를 다시 실행 합니다.
상태
Microsoft는 이 문제가 "적용 대상" 절에 나열된 Microsoft 제품에서 발생하는 문제로 확인했습니다.
참조
소프트웨어 업데이트 용어에 대한 자세한 내용은 다음 문서 번호를 클릭하여 Microsoft 기술 자료 문서를 참조하십시오.
Microsoft 소프트웨어 업데이트를 설명 하는 데 사용 되는 표준 용어에 대 한 824684 설명