.NET 上的 RPC 服务器无法通过 AWS 访问

.NET 上的 RPC 服务器无法通过 AWS 访问

我正在尝试使用 C# 远程访问 EC2 机器以获取一些信息。我编写了如下代码:-

ConnectionOptions options = new ConnectionOptions
{
Username = serverspace.ServerIP + @"\xxxxxx",
Password = "xxxxxxx",
Impersonation = ImpersonationLevel.Impersonate,
EnablePrivileges = true
};

ManagementScope scope = new ManagementScope(String.Format(@"\\{0}\ROOT\CIMV2", serverspace.ServerIP), options);

scope.Connect();

但是抛出了 RPC 异常,如下所示:- RPC 服务器不可用。(来自 HRESULT 的异常:0x800706BA)位于 System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode,IntPtr errorInfo)位于 System.Management.ManagementScope.InitializeGuts(Object o)位于 System.Management.ManagementScope.Initialize()

1- 问题出在代码上吗? 2- 我需要调整所有机器的防火墙吗?

答案1

RPC 防火墙端口记录在此处:

Windows 的服务概述和网络端口要求
-远程过程调用 (RPC):
http://support.microsoft.com/kb/832017#method39

System service name: RpcSs  
Application protocol    Protocol    Ports  
RPC TCP 135  
RPC over HTTPS  TCP 593  
NetBIOS Datagram Service    UDP 138  
NetBIOS Name Resolution UDP 137  
NetBIOS Session Service TCP 139  
SMB TCP 445  

此外,您还需要“高端口”范围 49152 到 65535。

相关内容