输入ifconfig命令后,发现一个严重的问题,Ubuntu Server中的IP地址居然是:10.0.1.92!!!根本不是局域网IP……还得求助baidu,得到如下结果:(PS:出处)
由于VirtualBox 3.0.8已经内置了桥接网络的功能,所以我们只需要在网卡上安装相应的服务就可以。具体为:控制面板 /网络连接/本地连接/属性/安装/服务/VirtualBox Bridged Networking Driver。添加了这个服 务以后,打开虚拟机的设置窗口,进入网络选项卡,将网络连接1中的连接方式从默认 的NAT修改为Bridged Adapter,在下面的名称中选择你电脑本地连 接对应的网卡(如果这里没有显示网卡,而是显示未选择,说明没有安装了桥接服务的网卡,需要重复上一步)。
经过上面这步的配置,如果客户机的IP地址设置为DHCP模式,那现在应该就可以正常访问网络了。如果不想动态分配IP地址,可以再按照下面的方式 设置IP和DNS。
$ sudo vi /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.0.120
gateway 192.168.0.1
netmask 255.255.255.0
$ sudo vi /etc/resolv.conf
nameserver 208.67.222.222
nameserver 208.67.220.220
$ sudo /etc/init.d/networking restart
上面的设置,除了IP以外,其他要和主机上的设置保持一致。在这里使用了eth0,但是需要注意的是,由于添加了虚拟网卡的缘故,在你的虚拟机中有 可能不是eth0,而是eth1或者eth2等,这个需要根据实际情况来设置,具体是什么,可以通过下面的命令来查询:
$ ifconfig -a
如果将eth1等名称设置为eth0的话,所有的设置是无效的,而且在启动网络服务的时候,会得到如下错误信息:
SIOCSIFADDR: No such device
eth0: ERROR while getting interface flags: No such device
SIOCSIFNETMASK: No such device
eth0: ERROR while getting interface flags: No such device
Failed to bring up eth0
基本上经过了以上的设置,网络就应该已经OK了,可以在客户机上直接ping一下其他的地址来进行测试:
$ ping -c 4 192.168.0.1
$ ping -c 4 koubei.com
补充一点,VirtualBox 2.x时代建立的虚拟网卡和网络桥,现在已经没有用了,网络桥可以直接删除,虚拟网卡可以在设备管理器中删除,也可以在VirtualBox/ 全局设定/网络中删除。
再补充一下NAT和桥接的区别,简单来说,如果使用NAT,客户机和主机是公用一套网络资源的,优势就是简单,什么都不用配置,主机可以正常上网, 客户机就可以正常上网,缺点就是,局域网中其他机器是访问不到这个虚拟机的,而我的虚拟机主要是用来架设LAMP的,无法被访问当然不符合要求;这就是桥接网络的优势,可以将虚拟机模拟成具体网中的独立节点,和其他电脑的地位是一致的,可以访问别人,也可以被别人访问,当然,如果是在公司架设的话,这个肯 定要受限制了,毕竟很多公司的IP地址都是和Mac地址绑定的。所以,具体使用哪种方式连接网络,完全根据实际需要而定。