安装完虚拟机后,默认安装了两个虚拟网卡,VMnet1和VMnet8,其他的未安装(当然也可以手动安装其他的)。
其中:
VMnet1是host网卡,用于host方式连接网络的。
VMnet8是NAT网卡,用于NAT方式连接网络的。
它们的IP地址是随机生成的,如果要用虚拟机做实验的话,最好将VMnet1和VMnet8的IP地址改掉。习惯上把VMware虚拟网卡使用的网段"固定",使用如下原则:
VMnet1对应的网段是192.168.10.0,
VMnet2对应的网段是192.168.20.0
当然平常只是随便用用的就不用改了,能上网就行了。
VMware网络连接的方式主要有:桥接(Bridged)、NAT、主机网络(Host-Only)。
1. Use Bridged Networking(使用桥接网络)
说明:使用VMnet0虚拟交换机,此时虚拟机相当于网络上的一台独立计算机,与主机一样地位平等,拥有一个独立的IP地址(如是处于路由环境下,其将与主机位于同一个网段),其网络拓扑如图1所示,使用桥接方式,A,A1,A2,B可互访(A,A1,A2,B地位相同,位于同一个子网中)。
图1 桥接方式拓扑示意
2. Use Network Address Translation(NAT)
说明:使用Vmnet8虚拟交换机,此时虚拟机可以通过主机单向网络上的其他工作站,其他工作站不能访问虚拟机。其网络拓扑如图2所示,使用NAT方式,A1,A2可以访问B,但B不可以访问A1,A2。但A,A1,A2可以互访。
图2 NAT方式拓扑示意
3. Use Host-Only Networking(使用主机网络)
说明:使用Vmnet1虚拟交换机,此时虚拟机只能与虚拟机、主机互访。也就是不能上Internet,其网络拓扑如图3所示,使用Host方式,A,A1,A2可以互访,但A1,A2不能访问B,也不能被B访问。
图3 主机网络方式拓扑示意
实际应用:现在最普遍使用的是宽带,使用桥接方式,主机必然可以上网,但是虚拟机上的操作系统是不可以上网的。此时你的主机就相当于A,而虚拟机就相当于A1,除非你再向运营商(如电信,网通)申请个IP地址,显然这是不可取的。如果你有路由器的话,那么就可以使用桥接方式上网,因为此时你申请的IP地址是写在了路由器上,而不是你的机器上,这样包括你的主机,虚拟机,也包括连在路由器上的其他机器,都将可以上网,使用由路由器自动分配的IP地址(C级别Private IP),IP地址一般是192.168.0.XXX。
而使用NAT方式,虚拟机总是可以上网(当然不包括在你胡乱改写IP,网关,DNS等信息的情况下)。
实例手动设置:假设主机的
VMnet1使用网段地址为192.168.10.0(HOST仅主机模式使用),
VMnet8使用网段地址为192.168.80.0(NAT模式使用),
网关地址为192.168.80.254(也就是NAT路由器地址,可自己设置,在VMnet8上),
主机网卡使用地址为192.168.1.1。
一、使用桥接方式,虚拟机A1的IP地址可以设置成192.168.1.5(与主机网卡地址同网段的即可),其他的诸如网关地址,DNS,子网掩码均与主机的相同。
二、使用NAT方式,虚拟机A1的IP地址可以设置成192.168.80.5(与VMnet8使用相同的网段),网关是NAT路由器地址,即192.168.80.524
三、使用host-only方式,虚拟机A1的IP地址可以设置成192.168.10.5(与VMnet1使用相同的网段)
说明:一般用户不需要自己手动设置,选择自动获取,或开启DHCP服务即可。
二. 个人配置经历
如果你对网络知识比较熟悉,甚至非常精通,上面的内容已经足够了。但是,在我们实际使用中可能还会遇到其他的一些问题,特别是对于搞嵌入式开发的人员来说,由于现在大部分嵌入式板子均支持网络启动(NFS和TFTP),所以必须保证目标机器和宿主机器之间的网络互通。在你安装虚拟机之前笔者建议读者安装完整版VMware WorkStation,下面我就依次讲诉上面三种网络连接方式的配置方法。
上面说过了,本人建议读者使用完整安装版VMware WorkStation进行安装使用,并且切勿使用360等相关系统维护软件禁用VM启动选项(包括服务和网络连接等)。还有在进行以下操作之前建议读者对虚拟机网络进行重置(注意:在进行重置之前所有虚拟机必须关闭或者挂起),读者可以选择“编辑”-“虚拟网络编辑器”-“恢复默认”(左下角),确认重置稍等一段时间即可。
1. 桥接网络
步骤如下:
(1) 选择“虚拟机”-“设置”,出现如下界面:
图4 虚拟机设置对话框
(2) 选择“硬件”-“网络适配器”选项,进入如图5所示界面,在对话框右侧网络连接选项中选择“网桥”连接方式,然后单击“确定”。
图5 选择“网桥”连接方式
(3) 进入虚拟机,打开终端(Linux系统),输入setup命令选择“网络配置”选项。
图6 终端下输入“setup”命令,然后选择“网络配置”选项
(3) 依次进入“设备配置”-“eth0”,进入如图7所示界面,切忌不要勾选“使用DHCP”选项,并在下面配置IP、子网掩码、网关、DNS等信息后保存配置选项,所以,在配置之前你必须熟悉你的网络环境,这种配置情况下是使虚拟机和你的主机在一个网段内,比如我的主机网络IP是192.168.1.8,网关是192.168.1.254;虚拟机网关就也应该配置在这个网段,相应的板子的环境变量/IP也应该配置在192.168.1.0/24这个网段内,然后在终端下面输入“service network restart”命令重新启动网络即完成网桥连接方式的配置。
图7 配置完IP、网关后,保存退出
图8 重新启动网络,并进行测试
2. NAT网络
NAT网络是这三种网络里面最最简单配置的了,只需要将虚拟机网络改成NAT连接方式(图8所示),然后在虚拟机里面把网络设成DHCP自动获取IP即可,Linux下面在图9中勾选“使用DHCP”选项保存退出,并重新启动网络即可,在此不做赘述。
图9 更改虚拟机网络配置为“NAT”连接方式
图10 勾选“使用DHCP”选项,保存退出
图11 重启网络,并查看网络配置
由图8中的eth0的相关配置我们发现虚拟机和主机并不在一个网段内,但是虚拟机可以ping通主机网段内的任一机器,反之则不可以,上面已经讲的很清楚了,在此不做赘述。
3. Host-Only网络
一般情况下我们不会选择这种配置方式,除非你真的不希望虚拟机上网,或者与其他机器想通。某些特殊的网络调试环境中,要求将真实环境和虚拟环境隔离开,这时你就可采用Host-Only模式。在Host-Only模式中,所有的虚拟系统是可以相互通信的,但虚拟系统和真实的网络是被隔离开的。如果你想利用VMware创建一个与网内其他机器相隔离的虚拟系统,进行某些特殊的网络调试工作,可以选择Host-Only模式。
步骤如下:
(1) 打开主机里面的网络连接,右击“VMware Virtual Ethernet Adapter for VMnet1”选择属性,进入IPv4配置选项(“Internet协议 TCP/IP”),如图12所示。
图12 VMnet1网络连接属性
(2) 由于图12显示VMnet1的网络连接在192.168.136.0/24这个网段内,因此我们在虚拟机里面可以进行如图10所示配置。
图13 Host-Only配置,注意DNS配置信息
(2) 保存网络配置后,重启网络,然后使用主机ping虚拟机,如果能够ping通,则说明配置成功。
图14 测试Host-Only网络
注意:
1. 如果网络还是不通,请在分别关闭主机和虚拟机的防火墙,然后在进行验证配置是否成功;
2. 在嵌入式开发搭建网络环境的时候建议使用网桥网络连接方式,这样我们可以把主机、虚拟机、开发板分别固定一个IP,便于相互之间的互通。