现在的位置: 首页 > 综合 > 正文

VirtualBox组网终极方案彻底解决联网加互访

2013年09月15日 ⁄ 综合 ⁄ 共 1582字 ⁄ 字号 评论关闭

  VirtualBox一直是我比较偏爱的虚拟机,免费开源轻量,比bug满天飞的Vmware稳定多了。

  但用VirtualBox组网一直是很让人头疼的事。相比之下Vmware提供的网络支持更完善(但同时各种已知未知的网络Bug也更恶心人)。VirtualBox的网络支持简单稳定但是又简陋得过分,常见的无非是NAT和Bridge两种模式,各有利弊(其它的两种模式下虚拟机无法访问互联网,所以我们略去不讨论了)。

  NAT模式下宿主系统无法直接访问虚拟机,VirtualBox端口映射还需要通过命令行工具设置。

  Bridge模式好很多,设置很简单,不需要安装虚拟网卡,虚拟机网卡跟物理网卡在同一网段里,相互可见,也可以直接连接互联网,但是仍然在有些情况下无法满足要求。比如我之前在公司里,公司路由控制互联网访问,ip地址与mac地址绑定才能上网,地址由路由的dhcp分配,所以你无法自由地拥有网段里随便的某个ip,这时Bridge模式就无用武之地了。Bridge模式的另外一个严重问题是,拔出网线或者无线中断这些导致物理连接断开的情况,会直接摧毁虚拟机网络的连接状态,以至于之前有人问怎样在没有外网连接的时候也保持宿主机和虚拟机的子网工作,有一种很极品的解决办法是做个水晶头12和36短接,插在网卡口上欺骗系统,很傻很无奈。

  其实不需要任何对VIrtualBox的修改或第三方软件的支持,就能直接构建一个完美工作的虚拟机网络。思路是,只要我们有一个虚拟网卡,让自己的机器看起来像是有两块网卡的样子,物理网卡用来访问外界和互联网,至于永不掉线的虚拟网卡呢,当然是用来与虚拟机构建Bridge模式啦。最后,只需要利用windows自带的ICS来提供NAT功能,让虚拟网卡做虚拟子网的网关,通过物理网卡来访问互联网。这样宿主机器就可以有一个外网ip一个内网ip,通常在租用的服务器上也有类似的配置模式,外网ip用来对外提供服务端口,内网ip可以用来部署分布式架构的服务程序。

  添加一个虚拟网卡其实非常简单,右击我的电脑》属性》硬件》设备管理器,然后添加硬件(Win7下是点操作菜单》添加过时硬件),下一步》手动从硬件列表里选择》网络适配器,你能看到下面分了左右两栏,左边是硬件厂商,右边是其名下的硬件。你能在硬件厂商中找到跟硬件毫无瓜葛的MicroSoft公司,右边罗列出的几种网络适配器都不是真正的硬件而是虚拟设备。其中Windows loop adaptor就是我们要的虚拟网卡了,选择安装即可,可以给你的新网卡取个名字。

  剩下的事普通电脑爱好者都不用再看就知道怎么做了,不过为了避免新手询问我简单地用教新手的方法交待两句。

  然后我们需要设置ICS,让虚拟网卡同时成为一个NAT网关。很简单,右击网络邻居》属性(Win7去找控制面板》网络和Internet》网络连接),能看到新的连接。右击你上网用的物理连接(注意:是提供internet访问的物理连接,不是新建的那个!)》属性》高级(Win7是共享),在允许其它用户通过此连接访问互联网的复选框上打勾,在下边下拉框里选择刚才新建的连接,确定。系统会花几秒钟配置硬件,之后,你的新连接被指定了一个固定的ip地址,192.168.x.1,在win7下这个x是137,xp下是另一个数,忘了。注意因为用的是Microsoft简装NAT工具ICS,所以很简陋,所以这个ip地址不能修改和配置(谨记,别手贱了,哥试过了不行!!!),否则ICS无法工作。当然这意味着,你的内网网段已经确定了,别想动了。

  最后的工作是在VirtualBox里配置网络连接模式,选择与新的虚拟网卡桥接即可。ICS自带简单不可配置的DHCP功能,你不喜欢可以在虚拟机里为连接设置静态IP,网关和dns都设置为新连接的ip即可。

  没了!

  

抱歉!评论已关闭.