所以我在我们的networking上的两台机器之间运行DTC ping,并得到以下错误
++++++++++++++++++++++++++++++++++++++++++++++ DTCping 1.9 Report for WEB2 ++++++++++++++++++++++++++++++++++++++++++++++ RPC server is ready ++++++++++++Validating Remote Computer Name++++++++++++ 03-03, 13:39:45.099-->Start DTC connection test Name Resolution: internal-->10.20.3.236-->internal.something 03-03, 13:39:45.114-->Start RPC test (WEB2-->internal) Problem:fail to invoke remote RPC method Error(0x6BA) at dtcping.cpp @303 -->RPC pinging exception -->1722(The RPC server is unavailable.) RPC test failed
我也运行RPC ping在哪里我得到什么我beleive是同样的错误:
C:\Program Files\Windows Resource Kits\Tools>rpcping -s internal Exception 1722 (0x000006BA) Number of records is: 4 ProcessID is 5876 System Time is: 3/3/2011 2:44:12:822 Generating component is 8 Status is 1722 Detection location is 323 Flags is 0 NumberOfParameters is 0 ProcessID is 5876 System Time is: 3/3/2011 2:44:12:822 Generating component is 8 Status is 1237 Detection location is 313 Flags is 0 NumberOfParameters is 0 ProcessID is 5876 System Time is: 3/3/2011 2:44:12:822 Generating component is 8 Status is 10060 Detection location is 311 Flags is 0 NumberOfParameters is 3 Long val: 135 Pointer val: 0 Pointer val: 0 ProcessID is 5876 System Time is: 3/3/2011 2:44:12:822 Generating component is 8 Status is 10060 Detection location is 318 Flags is 0 NumberOfParameters is 0
我很确定,例外号码1722是关键,但我找不到任何有关它的信息。
可能有一个防火墙的端口需要在我正在与我们的系统pipe理员检查的机器之间打开。 但是我可以在机器之间进行常规ping。
除此之外,我正在阅读很多关于操作系统服务和组件的文章,我一无所知,无法find任何信息。 任何人都可以解释这一点吗?
仅供参考,该机器正在运行Windows Server 2003 RS SP2。
RPC使用随机的高端口,很可能被恰好在设备之间的任何防火墙阻塞。
可以将其locking在一个设定的端口范围内,以便这个范围可以通过防火墙; 这个KB文章涵盖了这个过程。
在我最后一次不愉快的DTC-through-a-firewall体验中,除了需要对端口范围进行硬编码外,我还记得需要制作其他一些神秘的registry,以及放松组件服务pipe理工具中的一些安全设置我更好的判断力 希望你有更好的运气, 从端口开始,看看它是怎么回事!
(PS,为什么应用程序仍在使用,微软仍然支持DTC?)