如何:为远程调试手动配置 Windows Vista 防火墙

更新:2010 年 10 月

本主题适用于:

版本

Visual Basic

C#

F#

C++

Web Developer

学习版

主题不适用 主题不适用 主题不适用 主题不适用 主题不适用

专业版、高级专业版和旗舰版

主题适用 主题适用 主题适用 主题适用 主题适用

在 Windows Vista 平台上,远程调试安装需要执行一些附加步骤来配置 Windows 防火墙。 当您第一次运行远程调试器时,会自动执行这些步骤。 如果出于某种原因需要手动安装,请按照本节中的步骤执行。

如果 Windows 防火墙关闭,则不需要配置防火墙。

如果 Windows 防火墙打开,则必须打开一些端口,并为 Visual Studio 和远程调试中涉及的其他可执行文件授予权限。 Windows 防火墙不能在 Shielded 模式下。

警告

将 Windows 防火墙配置为允许远程调试可能会使其他用户获得远程访问权限。 您可以将这种远程访问局限于本地子网上的计算机,从而降低安全风险。

配置 Visual Studio 主机

  1. 在**“控制面板”中,单击“经典视图”**。

  2. 双击**“安全中心”**。

  3. 在**“Windows 安全中心”中,单击“Windows 防火墙”**。

  4. 在**“Windows 防火墙”窗口中,单击“更改设置”**。

    出现**“用户帐户控制”**对话框。

    1. 如果**“用户帐户控制”对话框请求您允许继续,请单击“继续”**。

    2. 如果**“用户帐户控制”对话框需要 Administrator 密码,请键入密码,然后单击“提交”**。

    出现**“Windows 防火墙设置”**对话框。

    步骤 6 到 9 打开 TCP 端口 135(DCOM 使用该端口与远程计算机通信)。

  5. 在**“例外”选项卡上,单击“添加端口”**按钮。

  6. 在**“添加端口”**对话框中,执行以下操作:

    • 对于**“名称”**,键入说明(例如 remote debugging DCOM)。

    • 对于**“端口号”**,键入 135。

    • 选择**“TCP”**。

  7. (可选)将访问局限于本地子网上的计算机可增强安全性。 除非必须在本地子网外进行调试,否则应执行该操作。

    1. 单击**“更改范围”**。

    2. 在**“更改范围”对话框中,选择“仅我的网络(子网)”**。

    3. 单击**“确定”**。

  8. 单击**“确定”关闭“添加端口”**对话框。

  9. 如果您的域策略要求通过 IPSec 进行网络通信,则执行此步骤。 否则,请跳过此步骤。

    • 重复上一步打开 UDP 端口 4500(用于 IP 安全),然后用**“UDP”取代“协议”,用“4500”取代“端口号”**。

    • 以同样的方式打开 UDP 端口 500(用于 IP 安全),然后用**“UDP”取代“协议”,用“500”取代“端口号”**。

    步骤 11 到 16 将 Devenv.exe(Microsoft Visual Studio 开发环境)添加到 SP2 应用程序安全“例外”列表中,使其可以在运行时动态打开端口。

  10. 单击**“添加程序”**。

  11. 在**“添加程序”对话框中,单击“浏览”**按钮。

  12. 在**“浏览”**对话框中,导航至 devenv.exe 所在位置(通常是 系统驱动器:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE)。 选择 devenv.exe。

  13. 单击**“确定”关闭“浏览”**对话框。

  14. (可选)将访问局限于本地子网上的计算机可增强安全性。 除非必须在本地子网外进行调试,否则应执行该操作。

    1. 单击**“更改范围”**。

    2. 在**“更改范围”对话框中,选择“仅我的网络(子网)”**。

    3. 单击**“确定”**。

  15. 单击**“确定”关闭“添加程序”**对话框。

配置远程计算机

  1. 在**“控制面板”中,单击“经典视图”**。

  2. 双击**“安全中心”**。

  3. 在**“Windows 安全中心”中,单击“Windows 防火墙”**。

  4. 在**“Windows 防火墙”窗口中,单击“更改设置”**。

    出现**“用户帐户控制”**对话框。

    • 如果**“用户帐户控制”对话框请求您允许继续,请单击“继续”**。

    • 如果**“用户帐户控制”对话框需要 Administrator 密码,请键入密码,然后单击“提交”**。

    步骤 6 到 9 会打开 TCP 135 端口,DCOM 使用该端口与远程计算机通信。

  5. 在**“例外”选项卡上,单击“添加端口”**按钮。

  6. 在**“添加端口”**对话框中,执行以下操作:

    • 对于**“端口号”**,键入 135。

    • 对于**“说明”**,键入说明(如远程调试 DCOM)。

    • 选择**“TCP”**。

  7. (可选)将访问局限于本地子网上的计算机可增强安全性。 除非必须在本地子网外进行调试,否则应执行此操作:

    1. 单击**“更改范围”**。

    2. 在**“更改范围”对话框中,选择“仅我的网络(子网)”**。

    3. 单击**“确定”**。

  8. 单击**“确定”关闭“添加端口”**对话框。

  9. 如果您的域策略要求通过 IPSec 执行网络通信,则执行此步骤。 否则,请跳过此步骤:

    • 重复上一步打开 UDP 端口 4500(用于 IP 安全),然后用**“UDP”取代“协议”,用“4500”取代“端口号”**。

    • 以同样的方式打开 UDP 端口 500(用于 IP 安全),然后用**“UDP”取代“协议”,用“500”取代“端口号”**。

    执行步骤 10 到 16,将 msvsmon 添加到 SP2“例外”列表中。 这使其能够在运行时动态打开端口。

  10. 单击**“添加程序”**按钮。

  11. 在**“添加程序”对话框中,单击“浏览”**按钮。

  12. 在**“浏览”**对话框中,找到 Msvsmon.exe,该文件位于以下目录之一:

    安装路径 \Microsoft Visual Studio 10.0\Common7\IDE\Remote Debugger\x86

    安装路径 \Microsoft Visual Studio 10.0\Common7\IDE\Remote Debugger\x64

    安装路径 \Microsoft Visual Studio 10.0\Common7\IDE\Remote Debugger\ia64

  13. (可选)通过限制对本地子网上的计算机的访问,可以增强安全性。 除非必须在本地子网外进行调试,否则应执行该操作。

    1. 单击**“更改范围”**。

    2. 在**“更改范围”对话框中,选择“仅我的网络(子网)”**。

    3. 单击**“确定”**。

  14. 单击**“确定”关闭“添加程序”**对话框。

  15. 单击**“确定”关闭“Windows 防火墙”**。

  16. 关闭**“Windows 安全中心”**。

    步骤 17 到 22 会打开文件和打印共享所必需的端口。

  17. 在**“控制面板”中双击“管理工具”**。

  18. 在**“管理工具”中,双击“高级安全 Windows 防火墙”**。

    如果**“用户帐户控制”对话框出现,请单击“是”**继续。

    出现**“高级安全 Windows 防火墙”**应用程序。

  19. 为 TCP 135 添加例外,这是 DCOM 用来与远程计算机通信的端口。

    1. 单击**“入站规则”**。

    2. 在**“操作”窗格中,单击“新建规则”**。

      此时将显示**“新建入站规则向导”**。

    3. 在**“要创建的规则类型”下选择“端口”,然后单击“下一步”**。

    4. 选择**“TCP”“特定本地端口”,然后在“特定本地端口”**框中输入“135”。

    5. 单击**“下一步”**。

    6. 在**“操作”页上选择“允许连接”,然后单击“下一步”**。

    7. 在**“配置文件”页上,选择要在其中应用规则的配置文件。 通常,您需要选择“域”,并且可能选择“专用”,但不会选择“公用”**。

    8. 单击**“下一步”**。

    9. 在**“名称”页上的名称框中键入一个有意义的名称,例如“远程调试 DCOM”**。

    10. 单击**“完成”**。

  20. 如果您的域策略要求通过 IPSec 进行网络通信,则执行此步骤。 否则,请参见步骤 5。

    1. 单击**“新建规则”**。

      此时将显示**“新建入站规则向导”**。

    2. 在**“要创建的规则类型”下选择“端口”,然后单击“下一步”**。

    3. 选择**“UDP”“特定本地端口”,然后在“特定本地端口”**框中输入“4500”和“500”。

    4. 单击**“下一步”**。

    5. 在**“操作”页上选择“允许连接”,然后单击“下一步”**。

    6. 在**“配置文件”**页上,选择您在步骤 3 中选择的相同的配置文件。

    7. 单击**“下一步”**。

    8. 在**“名称”页上的名称框中键入一个名称,例如“远程调试 DCOM UDP”**。

    9. 单击**“完成”**。

  21. 为 TCP 139、TCP 445、UDP 137 和 UDP 138 添加例外,这些是 DCOM 用来与远程计算机通信的端口。

    1. 单击**“新建规则”**。

      此时将显示**“新建入站规则向导”**。

    2. 在**“要创建的规则类型”下选择“端口”,然后单击“下一步”**。

    3. 选择**“TCP”“特定本地端口”,然后在“特定本地端口”**框中输入“139”和“445”。

    4. 单击**“下一步”**。

    5. 在**“操作”页上选择“允许连接”,然后单击“下一步”**。

    6. 在**“配置文件”**页上,选择您在步骤 3 中选择的相同的配置文件。

    7. 单击**“下一步”**。

    8. 在**“名称”页上的名称框中键入名称,例如“远程调试文件和打印机共享 TCP”**。

    9. 单击**“完成”**。

    10. 再次单击**“新建规则”**。

      此时将显示**“新建入站规则向导”**。

    11. 在**“要创建的规则类型”下选择“端口”,然后单击“下一步”**。

    12. 选择**“UDP”“特定本地端口”,然后在“特定本地端口”**框中输入“137”和“138”。

    13. 单击**“下一步”**。

    14. 在**“操作”页上选择“允许连接”,然后单击“下一步”**。

    15. 在**“配置文件”**页上,选择您在步骤 3 中选择的相同的配置文件。

    16. 单击**“下一步”**。

    17. 在**“名称”页上的名称框中键入名称,例如“远程调试文件和打印机共享 UDP”**。

    18. 单击**“完成”**。

  22. 将关闭**“高级安全 Windows 防火墙”**窗口。

请参见

任务

如何:设置远程调试

修订记录

日期

修订记录

原因

2010 年 10 月

更新了一些过程,介绍有关 Windows Vista 的正确步骤。

客户反馈