文章编号: 956570 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

症状

您将 Microsoft Internet Security and Acceleration (ISA) Server 2006 用作网络地址转换 (NAT) 网关,并且内部客户端通过 ISA Server 2006 发送域名系统 (DNS) 查询。但是,当您在客户端上安装了安全更新 953230 (MS08-037) 之后,经过 ISA Server 2006 NAT 的 DNS 查询不会使用随机源端口。

原因

出现此问题的原因是基于 NAT 的防火墙可能更改了内部客户端使用的源端口。 有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
956190 在安装了安全更新 953230 (MS08-037) 后,穿过防火墙发送的 DNS 查询不使用随机源端口。

解决方案

要解决此问题,请按以下步骤操作:
  1. 应用 Microsoft 下载中心提供的 ISA Server 2006 更新:
    http://www.microsoft.com/downloads/details.aspx?FamilyID=E96A6E20-0C04-4C7D-9F3E-207B02AE29CC&displayLang=zh-cn
    注意:在安装了此更新后,ISA Server 会分配一组随机 UDP 端口,然后 ISA Server 从中选择一个端口,用于新的传出 UDP 会话。
  2. 重新启动正在运行 ISA Server 的计算机。

替代方法

要解决此问题,请使用以下知识库文章中提到的方法:
956190 在安装了安全更新 953230 (MS08-037) 后,穿过防火墙发送的 DNS 查询不使用随机源端口。

状态

Microsoft 已经确认“适用于”部分中列出的 Microsoft 产品存在此问题。

更多信息

如何修改套接字池的大小

在安装了该更新后,您可以修改注册表,以配置 ISA Server 在启动时构建的套接字池大小。

帮我修复此问题

若要自动增加套接字池的大小,请单击修复此问题链接。然后单击文件下载对话框中的运行,并按照本向导中的步骤进行操作。

修复此问题
Microsoft Fix it 50480

注意:此向导可能只提供英文版本。但是,Windows 的其他语言版本也提供自动修复功能。

注意:如果您使用的计算机没有出现此问题,则可将此自动修复功能保存至闪存驱动器或 CD 中,以便您可以在出现此问题的计算机中运行该功能。


我自己修复此问题

重要说明 此部分、方法或任务包含有关如何修改注册表的步骤。但是,注册表修改不当可能会出现严重问题。因此,请一定严格按照下列步骤操作。为了获得进一步保护,请在修改注册表之前对其进行备份。这样就可以在出现问题时还原注册表。有关如何备份和还原注册表的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
322756 如何在 Windows 中备份和还原注册表
要自己增加套接字池的大小,请按照下列步骤操作:
  1. 依次单击“开始”、“运行”,键入 regedit,然后单击“确定”
  2. 找到然后右键单击下面的注册表项:
    HKLM\System\CurrentControlSet\Services\Fweng\Parameters
  3. 指向“新建”,然后单击“DWORD 值”
  4. 键入 ReservedPortThreshold
  5. 双击 ReservedPortThreshold,然后在“数值数据”框中键入一个数字,以设置套接字池的大小。
  6. 重新启动正在运行 ISA Server 的计算机。
注意:ReservedPortThreshold 项的值范围介于 1 到 1250 之间。此值定义了启动时分配的以及运行期间所需的端口数量。如果该项不存在,则 ISA Server 假定此值为 50。将此值更改为小于 1250 的数值,会增加池内源端口使用的可预见性,因此不推荐。

要将此注册表项设置为推荐的值,请在命令提示符处运行以下命令:
reg add HKLM\SYSTEM\CurrentControlSet\Services\Fweng\Parameters /v ReservedPortThreshold /t REG_DWORD /d 1250 /f

如何禁用此更新

如果您在安装此更新后遇到问题,可以禁用此更新。

帮我修复此问题

要自动禁用此更新,请单击修复此问题链接。然后单击文件下载对话框中的运行,并按照本向导中的步骤进行操作。

修复此问题
Microsoft Fix it 50481

注意:此向导可能只提供英文版本。但是,Windows 的其他语言版本也提供自动修复功能。

注意:如果您使用的计算机没有出现此问题,则可将此自动修复功能保存至闪存驱动器或 CD 中,以便您可以在出现此问题的计算机中运行该功能。


我自己修复此问题

若要自己解决此问题,请按照以下步骤操作:
  1. 将以下脚本保存为 KB956570.vbs。
    '-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
    '
    '    This code is Copyright (c) 2008 Microsoft Corporation.  
    '
    '    All rights reserved.
    '
    '    THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
    '    ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
    '    THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
    '    PARTICULAR PURPOSE.
    '
    '    IN NO EVENT SHALL MICROSOFT AND/OR ITS RESPECTIVE SUPPLIERS BE
    '    LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
    '    DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
    '    WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
    '    ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
    '    OF THIS CODE OR INFORMATION.
    '
    '-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
    Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}"
    Const SE_VPS_NAME = "UseOnlyNTLMForWindowsAuth"
    Const SE_VPS_VALUE = 0
    
    Sub SetValue()
    
    ' Create the root object.
    Dim root  ' The FPCLib.FPC root object
    Set root = CreateObject("FPC.Root")
    
    'Declare the other objects that are needed.
    Dim array       ' An FPCArray object
    Dim VendorSets  ' An FPCVendorParametersSets collection
    Dim VendorSet   ' An FPCVendorParametersSet object
    
    ' Get references to the array object
    ' and to 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
    
  2. 单击“开始”,单击“运行”,键入 cmd,然后单击“确定”
  3. 在命令提示符处,键入以下命令并按 Enter 键:
    cscript KB956570.vbs
  4. 重新启动正在运行 ISA Server 的计算机。

参考

有关此问题的更多信息,请访问以下 Microsoft 网站:
Forefront TMG (ISA Server) 产品小组博客:ISA & TMG NAT 行为和 MS08-037
有关 MS08-037 更新的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
953230 MS08-037:DNS 中的漏洞可能允许欺骗
有关软件更新术语的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
824684 有关用于描述 Microsoft 软件更新的标准术语的说明

属性

文章编号: 956570 - 最后修改: 2010年10月15日 - 修订: 2.0
这篇文章中的信息适用于:
  • Microsoft Internet Security and Acceleration Server 2006 Enterprise Edition
  • Microsoft Internet Security and Acceleration Server 2006 Standard Edition
关键字:?
kbexpertiseinter atdownload kbqfe kbfixme kbmsifixme KB956570
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