vmware 虚拟机使用

最近虚拟机用的比较多,遇到了一些比较烦心的问题,所以记录下.

虚拟机上网

一般来说,虚拟机装好之后可以直接上网,也不需要多管什么,但是总会遇到一些问题:

  • 宿主机重启之后,虚拟机就无法上网了,为什么?
  • 如何为我的虚拟机配置指定ip?
  • 如何让我的虚拟机访问局域网内的其他主机?

下面来介绍一下虚拟机上网的几种方法以及简单的原理。

三种联网模式

在安装好vmware之后,你的电脑应该会多出这两个网卡:

  • VMnet1:用于虚拟Host-Only网络下的虚拟交换机

  • VMnet8:用于虚拟NAT网络下的虚拟交换机

桥接模式

这个模式的原理相当于vmware帮助你弄了一个虚拟的交换机,然后虚拟机和你的宿主机同时接在了这个交换机上面。(@xpleaf

具体的话,就是打开虚拟机,然后选择编辑-虚拟网络编辑器,在弹出的界面中选择更改设置,然后windows会询问你是否允许,当然是允许啦。然后选择你需要桥接的网卡(这部分很重要,注意选择对的真实的网卡)

这样子虚拟网卡的网络就配置好了,接下来要做的就是让它在虚拟机上面生效了,也很简单,选择对应的网络配置即可:

然后我在校园网的环境下就能自动获取到ip,然后宿主机也完全可以Ping通虚拟机。(虚拟机ping不通宿主机,因为我防火墙设置了,关掉就能ping通)

然后如果不是DHCP自动分配ip,反正这台虚拟机你就想象你的交换机上新接了一台电脑,该怎么配置就怎么配置就好了。

NAT模式

装虚拟机默认就是这种模式,这个模式需要windows下面的vmware服务支持(所以大部分的情况下你如果之前装好vmware并且装好虚拟机能上网,而重启后不行了,八成是你的电脑没启动vmware的服务),开启方法是右击我的电脑,选择“管理”,然后选择“服务和应用程序”,选择“服务”,找到所有vmware开头的,全启动吧。

坑爹的一点 我的笔记本上我设置了自启动的,然而其实还是需要手动启动的,所以不要以为自启动了就高枕无忧。

原理简单来说呢,就是VMware为你的宿主机创建了一个虚拟网卡,默认就是VMnet8,然后又为你创建了虚拟的NAT服务器和DHCP服务器,你的真实物理网卡该干嘛干嘛,保持老样子,而虚拟机则会通过NAT服务器来与外界进行通信,具体的原理拓扑图可以参考下图(@xpleaf):

设置好子网IP和子网掩码之后(如果出现不匹配的提示请上网使用子网计算工具),NAT的网关默认是子网的第二个地址,这个地址你在宿主机上是看不到的,但是其实它真实对应的就是的用来上网的物理网卡。

虚拟机NAT配置

以图片中的网络地址为例,宿主机的vmnet8这个网卡的ip地址就是192.168.100.1,而网关则是192.168.100.2(可以通过NAT设置修改,但是不推荐修改),然后其他的地址就是虚拟机可以使用的地址了,如果没有特别的要求就可以用DHCP,如果需要特别指定ip地址就可以自己配置静态的ip地址。所以强烈建议是DHCP开启,如果你有静态ip需求的话再自行配置,放心静态ip是会覆盖掉DHCP分配的。这样如果你不配置静态IP的话就会用DHCP分配的ip地址上网,而配置了就用你配置好的,一举两得。

最后来梳理一下,这里必须明确的一点是,真正的NAT服务器对应的是你宿主机上真实的物理网卡,所以如果我们把vmnet8这个虚拟网卡禁止掉的话,虚拟机还是能够上网的,只是宿主机和虚拟机无法进行通信了而已。

HOST-ONLY 主机模式

emmmm 似乎被NAT完爆,所以就不写了。