存在防火墙时MSDTC的运行配置

存在防火墙时MSDTC的运行配置

Article ID

:

250367

Last Review

:

August 26, 2002

Revision

:

1.0

重要:本文包含修改注册表信息内容。在你修改注册表之前请确定你已经做好备份,并且你已经知道在出现问题时如何恢复注册表。关于如何备份、恢复和修改注册表的信息请单击下面的号码查看微软知识库内文章:

256986 微软Windows注册表概述

概要

本文描述了如何配置MSDTC,使之在防火墙下正常工作。

 

 

更多信息

你可以配置DTC通过防火墙通信,包括网络IP地址转换的防火墙。


DTC使用远程调用(RPC)动态端口分配。缺省情况下,RPC动态端口分配随机使用大于1024的端口。通过修改注册表,你可以控制哪些端口给RPC作为输入通信动态分配。随后你可以配置防火墙只允许你指定的端口和135端口(RPC端口)和外部通信。


你必须为DTC提供一个入口动态端口。你可以需要额外再提供一些端口给那些依赖RPC的子系统。

 

本文提到的注册表主键和值可能在注册表中没有,如果没有的话你需要在注册表中手动加入这些注册表主键以及主键值。

警告:如果你改错了注册表,可能会发生严重问题甚至导致需要重新安装你的操作系统。微软公司不保证你能够解决由于错误地修改了注册表而导致的结果。

 

依照一下步骤来控制RPC动态端口分配,你必须同时在计算机上操作。同时需要注意的是防火墙必须为指定端口的出入双向开放。

1.

单击“开始”,单击“运行”,键入“regedt32”,然后单击“OK”运行注册表编辑器。

 

你最好使用Regedt32.exe(或者Regedit.exe),因为Regedit.exe不支持端口值需要的数据类型:REG_MULTI_SZ。

2.

注册表编辑器中,我的电脑节点下单击HKEY_LOCAL_MACHINE。

3.

双击注册表目录,展开以下注册表路径:

HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc

4.

单击RPC目录,在“编辑”菜单中选择“新建”à“项”。

5.

在新建项的对话框中输入“Internet”(译者注:Windows XP以上版本直接在树结构中输入项名称“Internet”回车即可)后单击“确定”。

6.

单击“Internet”目录,在“编辑”菜单中选择“新建”à“值”(译者注:Windows XP以上版本请选择“多字符串值”)。

7.

在增加值对话框内,输入“Ports”(译者注:Windows XP以上版本直接在列表编辑框内输入“Ports”)。

8.

在值类型框内选择“REG_MULTI_SZ”,单击“确定”。(译者注:Windows XP以上版本不需要此步骤)

9.

双击新建的“Ports”,在对话框内输入你要为RPC指定使用的动态分配的端口号,然后单击“确定”。

 

每一个字符串值可以指定一个端口或者一个端口范围。比如说,要指定端口5000,那么输入5000,要指定端口范围5000至5020,那么输入5000-5020。你可以通过输入多行来指定多个端口或者多个端口范围。所有你指定的端口都必须在1024至65535范围之内,如果超出这个范围或者字符串不是端口,那么RPC将会把整个设置都视为无效。


微软公司建议你打开5000以上的端口,并至少打开15到20个端口。

10.

重复以上步骤6至9在Internet项内再增加一个值:

键值名称:PortsInternetAvailable

值类型:REG_SZ

值数据:Y

This signifies that the ports listed under the Ports value are to be made Internet-available.

这个键值表示前面所列的端口在Internet通信时可用。

11.

再重复以上步骤6至9在Internet项内再增加一个值:

键值名称:UseInternetPorts

值类型:REG_SZ

值数据:Y

 

这个键值表示RPC应该使用前面所列的端口来动态分配。

12.

配置你的防火墙,打开入口端口135(RPC使用)和前面所列的所有端口。

13.

重新启动计算机,当RPC启动时,它会根据注册表内注册键值的端口来动态分配使用。例如,要RPC使用端口5000至5020,那么创建以下注册表键值:

Ports:REG_MULTI_SZ:5000-5020

PortsInternetAvailable : REG_SZ : Y
UseInternetPorts : REG_SZ : Y

 

DTC同时需要你能够通过NetBIOS或者DNS来解析计算机名。你可以通过Ping命令来看是否能够解析计算机名。客户机必须能够通过计算机名来访问服务器,并且服务器同样能够通过计算机名来访问客户机。如果NetBIOS不能解析计算机名,那么你可以在计算机中lmhosts文件内加入计算机名和IP地址。

关于本主题更多信息请在微软知识库中查看以下号码的文章内容。

217351 PRB:DCOM 配置端口范围问题

关于lmhosts文件更多信息,请查看微软知识库以下号码的文章。

102725 lmHost 文件信息与预定义关键字

 

参考

更多的在防火墙下使用DCOM和RPC的信息,可以参考由Michael Nelson著的白皮书“Using Distributed COM with Firewalls”,以下连接可以提供该问:

http://www.microsoft.com/com/wpaper/dcomfw.asp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值