本文提供了一个简单而实用的技巧: 怎样在Ubuntu环境中(主机)访问VirtualBox安装的windows系统(虚拟机)中的服务。
正文
使用虚拟机常常是为了调试服务器,因为在桌面系统安装服务程序,一来容易有安全问题,更重要是容易拖慢系统。
VirtualBox作为一款轻快的开源虚拟机软件,自从被Sun公司收购后,更新相当频繁,功能也逐渐完善,比起VMware动辄几百M的安装文件,VirtualBox几十M的身材而功能丝毫不在VMware之下,而且性能远远高出VMware。
如果把虚拟机作为服务器调试工具,VM默认是使用桥接方式连接虚拟机和主机,安装完后虚拟机直接对主机可见,调试很方便,但是VBox则默认是NAT方式,主机完全访问不了虚拟机。
除了设置VBox为桥接方式外(有点麻烦),另一更加简捷的方式是给虚拟机开端口。这和使用家用路由器映射端口原理是一样的,经过路由器后,局域网内的机器对公网外是不可见的,但是通过添加端口映射,公网就可以访问到内网的机器。
VirtualBox 的User Manual(2.1.4版)在6.4.1介绍了这个方法:使用VBox自带的VBoxManage工具设置端口映射。下面是介绍一个例子:
主机:Ubuntu 8.10
虚拟机:Win XP + phpStudy 套件(Apache、MySQL….),Apache在81端口提供服务。
配置后通过主机的8080访问虚拟机:localhost:8080。
在虚拟机关机情况下,在主机终端执行:
VBoxManage setextradata “xp” “VBoxInternal/Devices/pcnet/0/LUN#0/Config/web/Protocol” TCP
VBoxManage setextradata “xp” “VBoxInternal/Devices/pcnet/0/LUN#0/Config/web/GuestPort” 81
VBoxManage setextradata “xp” “VBoxInternal/Devices/pcnet/0/LUN#0/Config/web/HostPort” 8080
VBoxManage是VirtualBox的配置工具,setextradata只是其中一个方法。”xp”是虚拟机的名称,而”VBoxInternal/Devices/pcnet/0/LUN#0/Config/web/…”是该虚拟机的一个属性,其中/web/是可以任意设置的名称。如果虚拟机用的虚拟网卡不是默认的PCNet,而是用了Intel PRO/1000,则需把路径中的“pcnet”替换为“e1000”,同样地,如果你为虚拟机配置了n个网卡,则要把/0/换成相应的序列。
重新运行虚拟机,在Host的浏览器里敲入http://localhost:8080/phpinfo.php,虚拟机里面的php环境显示出来了。注意此时对主机网络内的其他机器,也可以通过本机的8080端口访问到虚拟机的web服务(当然,前提是主机的防火墙没有拦截该端口)。不过无法为主机小于1024端口进行映射(设了之后虚拟机启动报错),这涉及到Unix/Linux的保护措施,可能在root账户下可用。有兴趣的在Windows 平台试试,可能没此限制。
注意在虚拟机运行的时候这样配置是无效的,必须重新启动一次,休眠(save state)了再开也可以。
如果想删除这些映射,同样执行以上的命令,而把最后的命令值留空即可,如:
VBoxManage setextradata “xp” “VBoxInternal/Devices/pcnet/0/LUN#0/Config/web/Protocol”
VBoxManage工具是VirtualBox自带的配置工具,不论是Linux、Mac还是Windows平台下,都有这个工具,使用方法都是一样的。
分享到:
相关推荐
VMVirtualBox虚拟机访问本地磁盘的方法
通过本文档的描述,对VirtualBox虚拟机进行相关设置,可以是虚拟机ping通外网,这样虚拟机可以很方便的进行在线安装各种软件。
给VirtualBox虚拟机(装载了Ubuntu16.04系统)配置了两张网卡,网络模式分别为“网络地址转换(NAT)”和“仅主机(Host-Only)适配器”,其中,enp0s3网卡(NAT)用于外网访问,而enp0s8网卡(Host-Only)用于主机...
VirtualBox虚拟机XP与宿主机Ubuntu互访共享文件夹.pdf
VirtualBox设置虚拟机访问主机的方法,自己参考资料后配置成功,记录下来供大家参考。
VirtualBox的提供了四种网络接入模式,它们分别是: 1、NAT 网络地址转换模式(NAT,Network Address Translation) 2、Bridged Adapter 桥接模式 ...只能单向访问,虚拟机可以通过网络访问到主机,主机无
当你在 VirtualBox 虚拟机软件 中安装了各种操作系统时,你可能需要实现宿主机与虚拟机之间的相互访问。 在这篇文章中,我们将会以最简单明了的方式来说明如何配置客户机与 Linux 宿主机的网络,以实现两者相互访问...
VirtualBox在虚拟机关机状态下,如图进行设置: Step 2: 虚拟机开机,输入命令:sudo ifconfig或者sudo ifconfig -a查看当前网卡配置 查看当前ip地址 Step3: 输入命令: vim /etc/network/interfaces 打开网卡...
注:nat网络用于“虚拟机”借用“宿主机”所在网络访问互联网,但不能使宿主机和虚拟机互相ping通;所以需要在两者之前拉一根“虚拟双绞线”(即host-only模式)使两机相互通信。另,这里的host-only ipv4地址是设置...
这几天在虚拟机中研究操作系统(OS)的属性问题,众所周知,最经济实惠,最廉价的方法就是...顾名思义就是不设置网络连接,即虚拟主机不在任何网络中,宿主机不能访问虚拟主机,虚拟主机也不能访问宿主机。 第二种:NAT
VirtualBox主机虚拟机互通的实现方法,供大家参考,具体内容如下 首先使用的是桥接模式,桥接模式相当于是使用Hub来把主机以及虚拟机进行关联; 然后就是选择“界面名称”,这里吐槽一下,这里其实是“Interface ...
1.工具:VirtualBox,虚拟机:CentOS7 2.VirtualBox工具中的网络配置 (1)VirtualBox全局设置:管理——>全局设定——>网络——>仅主机(host-only) 注:因为我本次配置是要搭建OpenStack的网络环境,所以我这里又...
前言 要学好Linux,还是得自己搭建虚拟机. VirtualBox比较小巧简单,容易上手.在配合CentOS 6.4使用时,首要的问题就是网卡配置,尤其是使用SSH终端仿真程序...此连接方式虚拟机可以访问宿主机器局域网内其他主机,但其他主
访问控制虚拟机(以前已安装Ansible的机器): $ vagrant ssh control 3.3。 由于您具有访问控制VM的权限,因此请验证Ansible是否已成功安装。 vagrant@control:~$ ansible --version 3.4。 现在,从控制V
Wikot Centos开发环境 ...虚拟机需要虚拟化支持和主机上的64位处理器。 如果已激活,则必须进行验证。 通常,Apple计算机默认情况下启用此支持。 对于其他计算机,请检查计算机的BIOS设置;如果不支持,请检查该
一、VirtualBox虚拟机网络设置(四种方式) VirtualBox的提供了四种网络接入模式,它们分别是: 1. NAT 网络地址转换模式(NAT,Network Address Translation) 虚拟机与主机关系: 只能单向访问,虚拟机可以通过网络...
nat(虚拟机访问互联网,使用10.0.2.x段) host-only(虚拟机和主机互相通信,使用192.168.56.x段) 在偏好设置里面设置网络。如下图配置: 全局设定 1.2 虚拟机网络设置 接下来对CentOS7虚拟机网络设置,添加网卡1和...
实验环境:虚拟机 VMware 或 VirtualBox(https://www.virtualbox.org),linux。 任务: (1)查看 Filter、NAT 和 Mangle 表的现有规则。 (2)清除现有规则。 (3)设计并添加规则,阻止另一主机对 iptables 所在...
通过虚拟机软件(比如 VMware,Virtual PC ,VirtualBox ) ,你可以在一台物理计算机上模拟出 一台或多台虚拟的计算机,这些虚拟机完全就像真正的计算机那样进行工作,例如你可以安装操作系统、 安装应用程序、访问...