“RPC 服务器不可用”尝试从 Windows 8.1 客户端上的 Hyper-V 管理器访问 Hyper-V 服务器

bwD*_*aco 3 networking hyper-v rpc windows-8.1 windows-server-2012-r2

问题

在寻找我的旧笔记本电脑的用途后,我决定将Wyvern变成运行 Microsoft Hyper-V Server 2012 R2(免费提供,本质上是仅具有管理程序功能的高度精简的 Windows Server 2012 R2)的虚拟化服务器。但是,我在从我的 Windows 8.1 Pro 客户端Dragon连接到它时遇到了一些问题。我从客户端上的 Hyper-V 管理器收到以下错误消息:

RPC 服务器不可用。无法在WYVERN和之间建立连接DRAGON

如果我完全禁用服务器上的 Windows 防火墙(使用net stop MpsSvc),我会得到以下信息:

无法连接到计算机上的 RPC 服务WYVERN。确保您的 RPC 服务正在运行。

在这两种情况下,Hyper-V 管理器在显示错误消息之前都会显示“正在加载虚拟机...”,表明客户端能够以其他方式连接到服务器。

注意:虽然Server Fault的社区可能更好地解决这个问题,但它在技术上是离题的,因为这是在家庭环境中(但请参阅此Meta Server Fault 问题以了解相关辩论)。因此,我在这里发布了这个问题。

网络信息

这些计算机通过 LAN 连接并加入同一个工作组(不是域)。两台计算机都能够将对方计算机的名称解析为正确的IP地址,可以相互ping通,并且能够访问Internet。

奇怪的是,它在服务器通过以太网电缆直接连接到客户端时工作,客户端上的以太网适配器具有 Internet 连接共享,服务器上启用了 DHCP。这可能会提供有关问题确切原因的线索。

采取的步骤

我对这个问题进行了广泛的研究,并采取了以下步骤:

客户端

  • 我已将Wyvern添加到hosts客户端的文件中。
  • 我已将防火墙配置为允许两台计算机之间的所有通信。(完全禁用防火墙无济于事。)
  • 我已经在客户端上设置了 DCOM 权限以允许ANONYMOUS LOGON远程访问。
  • 我已经设置了身份验证凭据,以便它始终使用正确的用户名 ( Administrator) 和密码登录服务器(因此不会出现“访问被拒绝”错误)。

服务器端

  • 我已经在服务器上安装了所有 Windows 更新。
  • 我已经重新启动了服务器几次。
  • 我已经为服务器分配了一个静态 IP 地址,该地址列在客户端的hosts文件中。
  • 我已将Administrator用户添加到“分布式 COM 用户”组:net localgroup "Distributed COM Users" /add Administrator
  • 我已经运行了 PowerShell 命令Enable-NetFirewallRule -DisplayGroup "Windows Remote Management"以及netsh advfirewall firewall set rule group="Windows Management Instrumentation (WMI)" new enable=yes,以确保服务器端的防火墙不会阻止远程管理访问。
  • 我已经跑去Enable-NetFirewallRule -DisplayGroup "Network Discovery"执行这篇博文中描述的内容

对于问题是什么,我不知所措。有任何想法吗?

bwD*_*aco 5

运行HVRemote有助于阐明原因,结果证明客户端上的防火墙配置错误。

是由诺顿网络安全保护。虽然我有一个防火墙规则明确授予对服务器的访问权限,但它被放置在规则列表的底部,因此它没有预期的效果并且 DCOM 通信无论如何都被防火墙阻止了。将规则移至列表顶部后,我可以通过 Hyper-V 管理器访问服务器,没有任何问题。

为了澄清这个问题,以下是 Norton Internet Security 的在线文档所说的内容:

智能防火墙在处理程序规则之前先处理流量规则。例如,当存在允许 Internet Explorer 通过 TCP 协议使用端口 80 访问 Internet 的程序规则和阻止所有应用程序通过端口 80 进行 TCP 通信的流量规则时。Internet Explorer 应用程序无法访问 Internet,因为 Norton Internet Security 将流量规则优先于程序规则。

在交通规则列表中,规则按照出现的顺序从上到下进行处理。程序规则条目不是按顺序处理的。但是,每个程序规则条目中的规则是按出现顺序从上到下处理的。

例如,您有一个 Symantec pcAnywhere 应用程序的程序规则,该规则阻止该应用程序与任何其他计算机一起使用。您为同一应用程序添加另一条规则,允许其在特定计算机上使用。然后在程序规则列表中将新规则移到原始规则之前。Norton Internet Security 首先处理新规则,然后让您在该特定计算机上使用 Symantec pcAnywhere。然后它会处理原始规则并阻止它与任何其他计算机一起使用。


作为一个圆满的结局,这是在Wyvern上托管的 VM 上运行并显示在Dragon上的 openSUSE 安装程序:

桌面上显示的远程虚拟机