前些日子,由于自己一开始并不了解虚拟机,在自己安装完虚拟机后一不小心在自己的物理机的网络适配器中将VMware workstation安装时自带的两张虚拟网卡vmnet1与vmnet8不小心删除掉了,当时并没有太在意,直到当我使用虚拟机安装windos server2003系统并成功部署oracle数据库后才发现这两张网卡的重要性了。我的物理机因为缺少这两张虚拟网卡而无法连接到虚拟机上,因而就无法远程访问oracle数据库。问旁边的IT大牛,都说需要那两张虚拟网卡才行,从此我遍踏上了恢复这两张网卡的心累之路。
首先,最先考虑到的是能不能不重装VMware来恢复,于是开始了百度之路,为什么不用谷歌,哎,都懂的。遍查百度发现出现这种问题的人还挺多的,回答这个问题的人也有不少,尝试过各种网上说的方法后发现有个比较靠谱的方法,且有人使用这种方法成功的恢复了,于是遍迫不及待的去尝试。此方法为以管理员的身份运行虚拟机-编辑- 虚拟网络编辑器-还原默认设置。方法倒是挺简单的,应该也是有效的,可是我发现当我使用时,虚拟网卡会显示正在重新安装,但是物理机上的网络适配器却始终都没有出现这两个虚拟网卡。再重新尝试,还是显示正在重新安装虚拟网卡,且安装时间比较长,但是结果还是没有出现那魂牵梦萦的两张网卡。无奈打开设备管理器,查看网络适配器,也的确没有发现虚拟网卡。不信邪,再重来,这一次我就盯着设备管理器看,突然出现奇迹了,在虚拟机网卡恢复默认的过程中,设备管理器突然冒出了vmnet1的网卡,我顿时很紧张的盯着生怕他突然就没了。但是墨菲定律说过只要有会出错几率的事就一定会出错,果不其然,在虚拟网卡恢复到差不多一半的时候,vmnet1从我设备管理器消失了,但是vmnet8却冒出来了,我赶紧右键出现的net8-属性-事件,发现每当我重置了虚拟网卡设置的这个过程,vmnet8的一个完整步奏就是,已添加驱动程序服务-已安装设备-已删除设备,全是这样的循环事件。很明显每次我恢复默认的过程完了之后系统就自动把我的虚拟设备删除了。当虚拟网卡恢复完成后,vmnet8也理所当然的消失了。而至始至终我的物理机更改适配器设置里始终没有出现过这两张网卡,我发现了,此路对于我来说不通。
差不多过了三天,百度差不多已经被我翻烂了,而且从vmware10到vmware12,这三个版本的虚拟机已经被我翻来覆去的装了不下20多遍了,真的是恢复无望了。开始在百度vmware吧发帖求助,回答的人并不多,回答的内容也跟我之前在网上查询到的差不多,也还有几个遇到同样问题的人加我QQ,问我解决了没有。 同样的症状,遍寻百药,不药可治,但是我发现出现这个问题的都是用的win10系统。对于已经累觉不爱的我们来说,似乎只能选择重装系统这无奈之举了。于是在周末的时候我重装系统了,重装系统后的第一件事就是安装vmware,装完后惊奇的发现,那两张让我头疼了快崩溃的虚拟网卡安静的出现在我的网络适配器里了,顿时有种感觉失散多年的挚爱,突然出现在你面前,微笑着对你说好久不见一样让我热泪盈眶。那种感觉,真的只要你肯出现,哪怕让我抛弃全世界都无所谓了,何况是重装系统这种小事对我来说已经不算什么了。通知那几个加我qq的人,告知结果,均毅然决然的选择了重装系统,也都恢复了,确实这个问题说的大不大,说小不小,但是网上真的还就没有能解决这个问题的有效办法,现在我写出来只是希望那些同样陷入这个问题的同志们不要纠结这个太久,如果尝试了我上面的办法也没成功的话,那就重装系统吧,不然真的太累了,特别是对于我这种不服输的人来说。
虚拟机网卡顺利恢复了,使用简单的设置也成功的连上了网,一切又恢复了平静。可是对于我这个初学者来说,前进的过程就会碰到无数的问题。当我觉得我已经可以安逸的使用虚拟机作为服务器使用的时候,发现一切又不是那么简单。现在虚拟机能上网了,但是我的物理却还是连不上虚拟机 服务器,于是又开始了漫长的百度之旅。
首先应该了解虚拟机的三种连接方式,虚拟机给了我们三种方式去连接物理网卡,分别是桥接模式,NAT模式,和仅主机模式。网上的说明无一不是桥接模式是把虚拟机看成是局域网内的一台真实的机器,它跟我们物理机的地位是平起平坐了,在网络邻居里也是会显示成一团真实的电脑,就算是网络管理员也无法分辨出来它是虚拟机,所以如果使用这个模式联网的话,必须要将其IP设置与物理机的IP在同一个IP段内,否则无法上网,更无法与物理机相互通讯。而NAT模式的话,是将虚拟机看成是局域网内的物理机里面又架设了一个局域网,虚拟机都是通过物理机的网卡作为网关去访问互联网,所以我物理机局域网内的其他机器是看不到虚拟机的存在的,这就像是盗梦空间里边的第二层梦境一般,使用这种模式可以不用去设置什么,直接就能上网,使用起来非常方便且简单。仅主机模式好像是只能虚拟机与物理机之间相互通讯,无法访问外界网络,这种模式非常安全,就是个纯局域网模式,只是测试虚拟机与物理机之间的相互通讯,无法与外界通讯。
差不多理解了这三种方式后我开始使用桥接模式来设置我的虚拟ip,因为我物理机的ip是168.168.x.51,所以我就将虚拟机的ip设为168.168.x.52。虚拟机成功联网,物理机ping虚拟机ip也成功,但是美中不足的是虚拟机并不能ping通物理机,为了这个问题也是 一直在百度,但是我现在物理机能访问虚拟机了,就暂时先不管他了。于是乎我遍欣然在我的物理机里面安装weblogic,将部署的war包也成功的指向了虚拟机所在的数据库,完美访问。
后来我又给vmware安装了一个win7系统,于是乎我又想试验一下在win7系统里面访问我物理机win10里面部署的weblogic程序,且同时联通windos server2003里面的oracle数据库。按道理来说这应该是没什么问题的,可是之前那个问题还没解决,我虽然物理机ping通了虚拟机,但是我虚拟机却还没Ping通物理机,我如果使用win7来连我的win10的话,那就必须能在win7里面ping通win10才行。我win7是直接使用的NAT模式,很方便就连上了互联网,但是在我的潜意识里面认为,NAT模式下物理机是无法ping通虚拟机的。所以第一步我就将win7 的虚拟网络设置成了桥接模式,并且将三个系统的防火墙全部关闭,城门大开只等你们相互外交了。可是问题又出现了,桥接模式下,我把win7的ip设为了168.168.x.53 ,ping物理机,提示无法访问。而两个虚拟机之间却可以互相ping通了。我又开始了茫茫的百度之路,三天下来,该试的我都试了,我只能说,道理我都懂,可怎么就是Ping不通呢???
终于皇天不负有心人,在我发完朋友圈说被虚拟网卡设置搞晕了头的时候,就在今天,我无意间点了虚拟机编辑-虚拟网络编辑器还原默认设置后突然发现win7和win10竟然可以双向ping通了,我win7在折腾了几天后已经将ip设为自动获取了的,于是我赶紧在win7下cmd- ipconfig猛然发现IP显示为192.168.41.xx。原来根本就没有和物理机的ip在同一个ip段下,原来虚拟机并不需要将ip设置和物理机在同一个段下就能相互访问,原来虚拟机的NAT模式下是可以双向ping通了。我一下子就顿悟了,MD网上看了那么多教程反而将我引入了一个误区(ip必须在同一个段位下,且NAT模式是虚拟机对物理机的单向访问),这个误区使得我一直围绕着这两个核心来修改我的网络设置,可是我的无意之举却将这个误区打破了,这才让我恍然大悟,原来根本就很简单的事,被想的太复杂了反而迟迟难以得到解决。于是我立马就修改了windosserver2003的网络设置,一下子三个系统之间便畅通无阻了,ping来ping去只觉得好爽。而我的win7也顺利的访问到了我win10下面的weblogic工程,且该工程也与windos server 2003下的oracle数据库成功连接。一切完美搞定!对于虚拟机而言我其实是有在51cto 上看过一遍完整的教程的,但是实际上遇到的问题往往要比学习到的知识要多的多,学习计算机其实就该如此,没必要一定要弄懂了才去做,而是要先学会做了且能够做好了就行,懂没懂倒是没那么重要,做的多了也就慢慢明白了,谁叫计算机世界那么博大精深呢?