如何使用远程桌面远程访问 Hyper-V 虚拟机?

如何使用远程桌面远程访问 Hyper-V 虚拟机?

现在我有一台装有 Windows Server 2012 的物理服务器,其中我使用 Hyper-V 管理器运行 Windows 7 虚拟机。如何才能访问此特定虚拟机而不通过我的物理服务器,然后从 Hyper-V 管理器中选择虚拟机?这可以通过端口转发来实现吗?如果可以,怎么做?

答案1

Hyper-V 虚拟机与 Hyper-V 主机共享直接(本地)网络,除非它连接到私有虚拟交换机,在这种情况下无法从主机访问 VM 或反之亦然。

如果以其他方式连接到外部或内部虚拟交换机,主机和虚拟机都会在该交换机上分别使用一个虚拟端口,然后通过物理网络接口连接到您的真实网关。一旦您创建了第一个虚拟交换机,Windows 就会安装虚拟适配器驱动程序,并通过启用虚拟交换的虚拟化网络接口“透明地”将 Hyper-V 主机重新连接到网关。

这里要记住的是,即使内部/外部交换机是虚拟的,它的行为也和普通的 MAC 交换机一样——只是根据 MA​​C 地址交换以太网帧。这意味着您的虚拟机在网关看来就像是物理机器,与您的主机同级。因此,通常您的主机可以分配到 192.168.1.10 之类的 IP 地址,而您的虚拟机将获得 192.168.1.11 或类似的 IP 地址。

您可以通过远程桌面客户端连接到 192.168.1.11 来访问虚拟机,这与 192.168.1.11 作为物理工作站的操作没有区别。

您需要检查的是虚拟机上的 [Windows] 防火墙是否允许在典型的 RDP 端口 3389 上进行通信,虚拟机上的 Windows 是否启用并允许 RDP 连接(使用“高级系统属性”对话框进行检查),以及虚拟机是否完全可路由(通常应该是可路由的)。最常见的陷阱是虚拟机上的 RDP 被禁用和/或防火墙策略受到限制。

请记住 - 就您的本地网络而言,VM 没有什么特殊之处 - 它只是一台机器,就像您的主机一样。

答案2

这里的所有答案都不令人满意。正确答案如下(厚颜无耻地从这里偷来的):https://thunderysteak.github.io/hyperv-direct-vm-rdp

  1. 转到您的 Hyper-V-Host-Server 并输入以下内容:

    get-vm -name <name of VM to control via RDP> | select-object id

  2. 创建一个名为 .rdp 的文本文件,内容如下:

    full address:s: (IP-address-of-your-Hyper-V-host-server)

    pcb:s:(ID which you got in step 1)

    server port:i:2179

    negotiate security layer:i:0

  3. 双击步骤 2 中创建的 rdp 文件,确认安全提示并使用 Hyper-V 主机服务器的管理员凭据登录

提示:通过此功能您还可以远程控制非 Windows VM 和没有任何网络连接的 VM。

答案3

您是否使用远程桌面连接到 VM 主机并在 VM 主机上运行 Hyper-V 管理器?您还可以在本地计算机上安装 Hyper-V 管理器并连接到远程服务器(您的 VM 主机)。

相关内容