首先要说的是,虚拟机上不了网不是 虚拟机网络配置问题,NAT、Bridged、Host-Only无论哪种方式都是没有问题的!
如果是由于虚拟机本身网络配置不对问题导致不能上网,请绕过此篇,因为网络配置问题不是此篇文章所解决的问题,关于这问题网上相关也有很多,请另行参考。这里要解决的是一个更棘手的问题。
问题现象:虚拟机安装RedHat Enterprise 5,安装成功后能上网。而安装VMware Tools后无法上网,卸载后又能上。VM版本7.0/7.1。
此问题在网上搜了N天都无果,只有零零碎碎的东西,总结经N次尝试后成功。
原因及解决方案:
(先确保你的虚拟机网络配置(NAT、Bridged、Host-Only)完全正确,不推荐直接选NAT、Bridged或Host-Only,我这有时不通。推荐配置Custom后,用Custom的Bridged或NAT)
本人推测是由于vm tools生成的网卡与原网卡冲突造成的。此冲突比较混乱,且本人还是菜鸟,解决方法不唯一,也不一定就直接能解决,需要几个步骤重复调整。经多次偿试总结一套几乎100%能连上网的临时操作步骤。
最开始,装完vm tools后,重启,上不了网,先这么做:
终端执行 /etc/init.d/network stop 停掉网络。
用gedit或vi编辑 /etc/modprobe.conf,把vm相关的都删了,留pcnet32作为eth0。
经过更改后我的配置文件的如下:(稍有不同的看着改吧)
alias scsi_hostadapter mptbase
alias scsi_hostadapter1 mptspi
alias scsi_hostadapter2 ata_piix
alias snd-card-0 snd-ens1371
options snd-card-0 index=0
options snd-ens1371 index=0
remove snd-ens1371 { /usr/sbin/alsactl store 0 >/dev/null 2>&1 || : ; }; /sbin/modprobe -r --ignore-remove snd-ens1371
alias eth0 pcnet32
然后在桌面上创建一个文本文件名为net.sh,编辑之,内容如下:
#!/bin/sh
/etc/init.d/network stop
rmmod vmxnet
rmmod pcnet32
insmod /lib/modules/2.6.18-53.el5xen/kernel/drivers/net/pcnet32.ko
/etc/init.d/network start
编辑完后,运行就行了,出现什么不管。
以上,如果运气好,网络就通了~(怎么测试通不通?ping网关或dns(222.222.222.222)啊~~)
(通了别太高兴,看 分割线2)
-----------------------------分割线1-------------
如果还不行,进行以下微调:
在菜单“系统”->“管理”-> "服务器设置" -> "服务" 把NetworkManager服务开了(要是开着的话就关掉),勾上吧,以后自动开。这个服务有自动选择网络的功能,有时候冲突什么的这个会自动帮你选好的(有时候也会帮你乱选,所以开着的话还是先关掉)。
然后运行一下net.sh。
如果运气好,网络就通了。(通了别太高兴,看 分割线2)
如果还不好,再做以下操作:
菜单“系统”->“管理”->“网络”,打开“网络配置”。点“硬件”,双击PCnet32,进去点确定(看似什么都没做其实不然)。
出来后点“设备”,里就有一栏,双击之弹出“以太网设备”框,选“硬件设备”,里面选PCnet32,确定。出去后直接点"激活",如果报错不管,关掉“网络配置”框。
运行net.sh,看看网有没有通。一般到这是没问题了。(通了别太高兴,看 分割线2)
如果还有问题,就在刚才的"网络配置"操作里 选“硬件设备”这里切来切去选激活再运行net.sh,如此反复,反正就这几个,调对了就OK了。
同时注意,点"激活"时最开始的/etc/modprobe.conf可能会被更改或加一些东西,都去了,按上面给的留pcnet32作eth0就行。
如果你这么做了N久还是不行,那回到开始说的,先确保你的虚拟机网络配置(NAT、Bridged、Host-Only)完全正确。实在不能确保你先卸了vm tools吧。。。调到能上再来做。。。
-------------------------分割线2------
严重声名:
因本人菜鸟,只找到这个临时解决方法,不能根治。每次开机都需要按 分割线1 的内容做。无非就是这几个操作,多试肯定没问题~~
就这样了,多操作几次就熟了。实在麻烦,不装vm tools也行。