以下总结是我在参考网上资料以及自己理解下,亲身实践后写下的。
在VirtualBox的Host-Only模式下,虚拟机可以和宿主机连通,但是在宿主机能访问互联网的情况下,虚拟机默认是不能访问互联网的。Host-Only模式下,虚拟机与宿主机的网卡:“VirtualBox Host-Only Network”相连。这里使虚拟机上网的方法就是让宿主机能够上网的网卡,共享给VirtualBox Host-Only Network,使VirtualBox Host-Only Network通过共享上网,进而虚拟机能够访问互联网。
步骤如下:
1.设置宿主机共享, 打开win7(以win7为例)“网络和共享中心”->“更改适配器设置”->选择宿主机正在使用上网的网络连接->属性
->共享->internet连接共享,选中“允许其他网络用户通过此计算机的Internet连接来连接(N)”->家庭网络连接(H)中选择VirtualBox Host-Only Network
设置后,会提示自动将”VirtualBox Host-Only Network“的IP设置为了192.168.137.1 , 我们将ip改为:192.168.56.1。
2.虚拟机ubuntu10.04端网络设置。
将ubuntu设置网络跟VirtualBox Host-Only Network在一个局域网中:
ip:192.168.56.100
子网掩码:255.255.255.0
网关为:192.168.56.1
DNS: 宿主机的真实DNS。
设置完,重启就OK。
但问题是使用命令重启后,重启后,不能保存。
现在使用能保存的一种方法:
1)指定ip,网关,子网掩码
打开interfaces:
sudo vi /etc/network/interfaces
添加:
auto eth0
iface eth0 inet static
address 192.168.56.100
gateway 192.168.56.1
netmask 255.255.255.0
这样为eth0静态分配了地址,并且指定了ip地址,网关,子网掩码。
2)永久修改DNS
sudo vi /etc/dhcp3/dhclient.conf #如果你的系统是ubuntu 10.04
sudo vi /etc/dhcp/dhclient.conf #如果你的系统是ubuntu 11.10
对于ubuntu 10.04,打开/etc/dhcp3/dhclient.conf
添加类似这样的两行:
prepend domain-name-servers 202.106.196.115;
prepend domain-name-servers 10.58.1.12;
有几个DNS,则添加几行。
指定完后,重启虚拟机即可。
其实解决了Host-Only模式下的上网问题,我们可以做很多事情:
1.在虚拟机ubuntu上装lamp服务,在宿主机访问lamp服务。
2.虚拟机启动samba服务,宿主机win7映射网络驱动器到虚拟机,这样
可以在win7中访问ubuntu,实现在win7中编辑代码,在ubuntu中编译代码。
参考:
http://blog.csdn.net/w_ww_w/article/details/7348328
http://www.cnblogs.com/sobe/archive/2010/09/18/1830266.html
http://www.cnblogs.com/rusty/archive/2011/04/06/2007139.html
http://scriptogr.am/smarthader/post/vmware-host-only
http://jingyan.baidu.com/article/0eb457e5794ce203f1a9050c.html
http://yubosun.akhtm.com/tech/ubntu-dns-reset.htm
http://blog.csdn.net/happyjiang2009/article/details/5730017
http://blog.csdn.net/david_xtd/article/details/10113029