VirtualBox 是一款 x86 虚拟机软件。原由德国innotek公司开发,2008年Sun收购了Innotek,而Sun于2010年被Oracle收购,2010年1月21日改 名成 Oracle VM VirtualBox。VirtualBox 可在 Linux 和 Windows 主机中运行,并支持在其中安装 Windows (NT 4.0、2000、XP、Server 2003、Vista)、DOS/Windows 3.x、Linux (2.4 和 2.6)、OpenBSD 等系列的客户操作系统。
VirtualBox是开源软件,使用双重许可协议,个人和评估使用可以在virtualbox.org免费下载使用而无需支付费用,商用则需付费。
VirtualBox 网络设置
VirtualBox 有5种网络模式,下面将逐一讲解。
NAT〈网络地址转换模式〉
VirtualBox 中虚拟的主机(以下简称:虚拟主机)并不真实存在于网络中,宿主机和宿主机网络中的任何主机都不能直接访问虚拟主机,各虚拟主机也互不相通。虚拟主机能访 问宿主机,以及宿主机能访问的任何主机。虚拟主机访问网络是先通过 VirtualBox 转换后再发送出去的,数据接收也是先由 VirtualBox 接收后再转换转发到虚拟主机。
如不能理解可以参考:http://zh.wikipedia.org/wiki/网络地址转换。
虚拟主机网络参数默认从 VirtualBox 的虚拟 DHCP Ser 获取:
IP地址 | 子网掩码 | 网 关 | DNS |
---|---|---|---|
10.0.x.15 | 255.255.255.0 | 10.0.x.2 | 10.0.x.3 |
VirtualBox 端口转发
前面讲了宿主机和宿主机网络中的任何主机都不能直接访问虚拟主机,但是VirtualBox 提供了端口转发,使得我们可以设置特定的端口供实体网络访问。
设置发送到宿主机的某些端口转发到虚拟主机,是不是很简单啊。宿主机IP地址干脆就127.0.0.1吧!
Bridged Adapter〈桥接模式〉
需要加载模块vboxnetflt
虚拟主机通过 VirtualBox 桥接到宿主机的一个网卡中,就像真实存在于宿主机网络中的一台主机一样。虚拟主机能与宿主机和宿主机网络中的主机完美互通。被桥接的网卡会开启混杂模式。
虚拟主机网络参数 : 手动配置成桥接的宿主机网卡的同一网段,或通过宿主机网络中的 DHCP Ser 获取。
如果宿主机在一个受限制的网络虚拟主机是不能访问互联网的,如:宿主机使用ADSL、使用使用代理或VPN、宿主机网关做了MAC地址限制……
Internal〈内部模式〉
虚拟机与外界完全分开,虚拟机与宿主机网络不能互通,只有 同一名称(如:intnet)的内部网络模式的虚拟机之间才能互相访问 ,还有一个条件是在同一网段哦。 虚拟主机网络参数 : 默认不分配IP,需要自已手动设置。
Host-only Adapter〈宿主机模式〉
VirtualBox 在宿主机中虚拟一个 host-only 网卡,然后把虚拟主机桥接到 host-only 网卡上,我们可以通过设置 host-only 网卡(共享、桥接)来实现网络连接。呵呵,这个动手性比较强,虽要你有一定的网络技术哦。
关于网卡的桥接和共享,你可以查阅 Windows 相关文章,或 google 搜搜 “windows 网卡xx”。
虚拟主机网络参数 :默认IP段为192.168.56.X/24
“未指定”,呵呵,选择这个会发生什么?
如果你选择“未指定”,你将不能和任何主机通信,只能够自已 ping 自已啦!
VirtualBox 其它问题
虽然VirtualBox 桥接模式非常好用,但是受限制的网络你怎么办呢?用NAT模式,不!这样宿主机访问虚拟主机太麻烦了。我的方法就是给虚拟主机添加两个网卡,一个网卡使用 NAT模式,另一个网卡使用Bridged Adapter模式,然后给虚拟主机设置静态路由,设置访问宿主机的数据从Bridged Adapter模式的网卡送出,而访问互联网的数据从NAT模式的网卡送去。是不是很简单啊!