又遇到这个问题,之前是VMware,现在是VBox。boluerFelix提供的方法还是很麻烦,下面这个应该是最简单的了。调通VirtualBox虚拟机互连、主宿机互连、以及主宿机连接互联网,以后ssh到众多虚拟机里面开工,方便很多。另外强烈推荐ssh客户端SSH Secure Shell,它的File transfer功能做得和FTP一样,主宿互传文件相当cool~

修改自http://www.cnblogs.com/cocowool/archive/2010/05/27/1745090.html

1、VirtualBox中的虚拟网卡。VirtualBox安装完成后,会在系统中装一块虚拟网卡,我们在管理->全局设定中可以看到。这块网卡是在 Host-Only 连接方式中,主宿机互访的桥梁。

VirtualBox中的虚拟网卡

2、主机访问虚拟机通过Host Only的方式实现。
主机访问虚拟机这个是最简单的。通过在网络连接1中选择 Host-only Adapter ,我们的虚拟机就可以获得一个内网的地址,主机可以直接访问这个地址。我们可以使用DHCP,也可以自己指定IP,多数情况下,都会指定一个固定的IP。

主机访问虚拟机通过Host Only的方式实现

3、现在要想实现虚拟机上网,我们可以为虚拟机再添加一块网卡,通过Bridge或者NAT方式,达到虚拟机上网的目的。我自己测试NAT方式成功。

虚拟机上网

4、Ubuntu开机后仍无法上网,ifconfig发现第二块网卡默认没有启动。我们可以通过ifconfig命令让Ubuntu开启第二块网卡,方式如下:

$ sudo ifconfig eth1 up
$ sudo dhclient eth1

再次ifconfig查看发现第二块网卡已经启动并获得IP地址。测试ping www.baidu.com通了。但是现在还不是庆祝胜利的时候,因为当我们重新启动虚拟机后,Ubuntu不会自己驱动第二块网卡,还必须手动的运行ifconfig来驱动。为了彻底解决这个问题,我们需要修改/etc/network/interfaces文件。具体方式如下:

$ sudo vim /etc/network/interfaces

运行vim,编辑interfaces文件。在文件末尾添加eth1。以下是我的Interface内容,供参考:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface (Host-only)
auto eth0
iface eth0 inet dhcp

# The second network interface (NAT)
auto eth1
iface eth1 inet dhcp

这样,我们既能访问虚拟机,又可以访问互联网,利用各种在线更新的工具,大大的方便了 Linux 的使用。