以下总结是我在参考网上资料以及自己理解下,亲身实践后写下的。
在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中编译代码。
参考: