在虚拟机上安装Linux为什么上不了网啊

2024-12-04 15:40:20
推荐回答(1个)
回答1:

VMware虚拟机联网的几种可选方法
2009-10-18 20:16
今天上网查找关于VMware虚拟机的相关资料,发现两篇比较有用的文章分享给大家,希望对新手有所帮助,原文出自安全中国网。
主机为WindowsXP系统,VMware虚拟机里安装Linux操作系统。安装完VMware后,主机的网络连接里面出现了两个新的连接,即VMware Network Adapter VMnet1和VMware Network Adapter VMnet8如图。虚拟机里安装的系统就是靠这两个虚拟网卡来联网的。(如下图)
主机上类似antiarp 防火墙一定要关掉 否则虚拟机不能上网

有以下几种可选方法:

1、Bridged(网桥)方式:

如果主机是通过局域网上网的,可让虚拟机使用与主机网段、网关和DNS等的相同的设置,选用一个有效的局域网IP即可。
桥接方式可实现虚拟机<--->主机 虚拟机<---->互联网 通信(主机与虚拟机可看成是同一局域网的两台机)。但桥接需要一个不同于 原主机上的另外一个独立的IP地址,这对于有些情况(IP和MAC绑定,网管不同意)比较难办到。并且主机拔掉网线后,虚拟机无法与主机通过网络的方式进行通讯。而后面几种没这个问题。所以一般不太使用桥接方式。

1)主机的IP信息

2)设置VMware网络连接为Bridged

3)虚拟机系统网络设置

多网卡桥接

当我有双网卡时,虽然VMnet0:Bridged to an automatically chosen adapter(在VMware的Edit ->Virtual Network settings... 打开Virtual Network Editor)

但是,我尝试了一下,虚拟机只可桥接“本地连接”(VIA网卡),不能桥接“本地连接2”(Realtek网卡)
在Virtual Network Editor -> Automatic Bridging 选项卡里
若我们想桥接“本地连接2”(Realtek网卡)需要在“Exclude adapters" 里add "VIA网卡”(本地连接),这样“本地连接2”就可以桥接了。但是“本地连接”(VIA网卡)却不可以了,即使在“Exclude adapters" 里Remove "VIA网卡”也不行,我猜测 VMware其实只支持一个最初未被排除的网卡桥接!
没关系,我们可以在 Virtual Network Editor -> Host Virtual Network Mapping 选项卡里,VMnet2选择Realtek网卡

这时,我们回到Virtual Network Editor -> Automatic Bridging 选项卡,发现VMnet0 把 Realtek网卡排除了

桥接“本地连接”(VIA网卡)时,VMware选择VMnet0,
桥接“本地连接2”(Realtek网卡)时,VMware选择VMnet2

虚拟机上网络相应的设置,就可以了。

2、NAT方式:

使用VMware提供的NAT和DHCP服务,虚拟机使用主机中的虚拟网卡VMnet8作为网关,并且TCP/IP设置需遵循程序中关于vmnet8的DHCP和NAT设置,如IP必须在其DHCP设置的StartIP和EndIP之间,网关需使用其NAT设置的Gateway IP。

NAT方式可实现虚拟机<--->主机 通信,但是 虚拟机--->互联网 即只能够虚拟机访问互联网,但是若想把虚拟机作为服务器,让互联网访问,不可以。
但是如果有多个网卡,虚拟机可以不用更改设置,就可以同时访问多个网卡连接的互联网。

1) 设置VMware 网络连接方式为NAT

2)在虚拟机里,linux网络设置,只需选择自动获取IP,就可以了!

当然也可以手动设置:
ip设置与vmnet8同网段,gateway,netmask,broadcast设置与vmnet8相同,dns设置与主机相同。
我们在主机的网络连接里如下,没有看到网关(如下图)

别急,在VMware的Edit ->Virtual Network settings... 中,有相关内容。

这些选项卡包含了VMware的很多高级设置,有兴趣可以研究研究。

3.host-only方式 :

默认使用vmnet1,将虚拟机ip设置与vmnet1同网段,gateway设置成vmnet1的ip,其余设置与vmnet1相同,dns设置与主机相同

例如 vmnet1 ip :192.168.101.1
虚拟机设置: ip :192.168.101.100 gateway : 192.168.101.1
这样就实现了虚拟机<--->主机 通信,但是 虚拟机<--->互联网 仍无法通信

1)选择VMware的Host-only

2)主机的本地连接

3)在虚拟机linux里,设置网络

4、共享主机的Internet连接的方式(如果主机是Win98系统可能不适用):

在主机的“本地连接”属性的高级里面共享Internet连接。如果选的是VMnet1虚拟网卡,则在VMware的Ethernet设置需选用Host-only;如果选VMnet8,则Ethernet设置需选用NAT。共享连接后,那个被选中的虚拟网卡的IP会默认被设为192.168.0.1(如果主机也是通过局域网的192.168.0.1网关上网的,则需把这个虚拟网卡设置为不同的网段IP,如192.168.1.1)这时候虚拟机里面就可以通过把这个虚拟网卡作为网关来上网了。实际上是一个简单的路由NAT,所以NAT方式就不讨论了,我们只以Host-only为例。

共享host-only方式,可实现虚拟机<--->主机 通信,但是 虚拟机--->互联网 即只能够虚拟机访问互联网,但是若想把虚拟机作为服务器,让互联网访问,不可以。

1)选择VMware的Host-only
2)设置主机的本地连接属性

被选中的虚拟网卡的IP会默认被设为192.168.0.1,当然也可以更改。而且共享连接取消后,还会变回到共享连接前的网络设置。

在虚拟机linux里,设置网络:

总结:
共享连接方式和NAT方式,都可以实现虚拟机<--->主机 , 虚拟机--->互联网 通信,NAT方式设置简单,且可以实现同时访问多个物理网卡。
桥接方式可实现虚拟机<--->主机 虚拟机<---->互联网 通信,若虚拟机作为服务器,只有这种方式可行。但需独立的IP给虚拟机,且若物理网卡连接断开,虚拟机与主机也不能连接。
host-only方式只实现虚拟机<--->主机 通信 ,一般不单独采用。

像我在虚拟机下开发嵌入式,虚拟机要给开发板提供NFS服务,就采用桥接方式连接嵌入式的网卡。若有时想下载点软件,查查资料,就改用NAT方式,非常方便!