如何设置VirtualBox虚拟机远程访问模式

VirtualBox远程显示使得虚拟机的访问更加随意和简单,但是该功能的初始安装就完全是另一种情况。

Oracle VM VirtualBox是免费的开源桌面虚拟化和服务器虚拟化软件。通过VirtualBox,可以支持三种虚拟机访问模式:通过VirtualBox软件自带界面;通过任意支持子虚拟机终端对话模式的界面(如VNC-Virtual Network Computing,RDS-Remote Desktop Service或任何其它协议)进行;通过远程显示系统进行。

远程显示系统是一个内置功能,功能强大但安装复杂。VirtualBox远程显示借助微软的RDP协议连接虚拟机,不仅Windows虚机,还包括所有安装了VirtualBox扩展包的子操作系统。让人沮丧的原因是在VirtualBox远程显示可以正常工作之前,需要经历一个异常繁琐的安装过程。

一旦它开始工作,您几乎可以在任何地方访问VirtualBox子虚拟机,而不受控制界面安装所在位置的限制。下面是关于如何安装Oracle VM VirtualBox远程访问的步骤:

增加VirtualBox远程显示扩展

首先,您需要安装可以启用VirtualBox远程显示系统的扩展包VirtualBox download页面中,可以找到Oracle VM VirtualBox Extension Pack,可以增加一系列的功能支持:USB2.0设备、因特尔网卡的PXE启动和VirtualBox远程显示系统。如果VirtualBox软件已经安装,所需的就是下载对应版本的扩展包。用于4.1.12和4.0.16版本的扩展包完全不同,所以您需要做出正确选择。

VirtualBox设置中显示的扩展包列表。在右侧位置可看到Add Package标签

在安装扩展包之前,需要关闭--注意不是挂起--所有运行中的虚拟机,并关闭整个VirtualBox系统。在Windows中,您只需双击扩展包或手动在File > Preferences > Extensions中点击Add Package图标找到正确的安装包列表。如果您是通过命令行操作的,通过VBoxManager extpack命令添加VirtualBox远程显示扩展包。

安装完成后,重启宿主机。简单地停止和重启VirtualBox软件是不可行的,但是VirtualBox并不会提示您重启。

设置虚拟机端口

现在您已经开始进入VirtualBox远程访问模式,但是还需要通过RDP单独地配置每台您需要访问的虚拟机端口。这一步需要注意:要为每台将建立RDP连接的子虚拟机分配端口号,但是连接所使用的是宿主机的IP地址,而不是子机。每台子机的端口号要不同以避免冲突。

为每台子虚拟机选择端口号。每台虚拟机必须拥有唯一的RDP访问端口

例如,我在VirtualBox中有两台虚拟机希望通过RDP访问--一台运行Windows而另一台运行测试版Haiku OS.Windows VM分配5001端口,而Haiku分配5002端口。两台机器都通过宿主机IP地址加上子虚拟机的端口访问:输入192.168.0.30:5001访问Windows,192.168.0.30:5002访问Haiku.

要设置指定虚拟机的端口,登录到Settings页面,选择Display > Remote Display.Check Enable Server,选择服务器端口。您可以在虚拟机运行或停止状态时进行操作(暂停时不可以),而且不需要重启虚拟机启用配置。我不建议使用Windows OS默认分配的3389端口,因为或许会跟已经在宿主机上的某台RDP服务器冲突。

接下来,在Authentication Method下拉菜单中可以选择三种远程客户端连接VM的认证模式。Null模式如同字面理解:不需要认证,也就是任何知道该端口号的人都可以访问。External模式通过VirtualBox软件内置的证书库进行验证,防止用户使用宿主机或虚拟机XML设置文件中的证书登录。Guest模式是一种全新的模式,通过Guest Addition可以防止子OS用户,这种模式没有测试过。

如果选择Null模式,您可以在任何时间连接到目标系统--即使它正在启动中。而且您不仅仅连接到运行OS的宿主机,同时连接到某台虚拟机。因此,首先要对连接模式的选择加以小心管理。

管理VirtualBox远程显示连接

最后,通过VirtualBox远程显示系统连接到虚拟机就变得简单了。需要做的就是通过一台支持微软RDP的终端访问,例如Windows的Remote Desktop Connection终端,或Linux的rdesktop或krdc.

通过VirtualBox RDP访问一台Windows 7子机的实例。该显示大小经过了调整

通过远程设备连接所需的详细配置参数可能会差别很大。例如,在Windows Remote Desktop Connection终端中,需要提前配置的是性能优化,可以在终端Experience页中的Options菜单配置。根据您使用的LAN或WAN环境,对参数进行修改。

如果您用的是VirtualBox Guest Additions,显示画面会根据指定的RDP连接分辨率自动进行调整。但是如果您希望选择的分辨率跟虚拟机正在运行的不一致,那么VirtualBox远程显示的这个功能可能就无法实现。

最后一点,不是所有通过RDP连接的虚拟机表现都一样。采用了VirtualBox 子系统扩展包的OS可能在鼠标跟踪等方面要比其它终端更精确一些。

VirtualBox远程显示提供了单一的、统一机制的虚拟机远程访问模式。它开启了一种完全不同于本地控制台的管理方法。

推荐阅读更多精彩内容