先声明本文使用的虚拟机: vmware workstation 14 pro本文使用的ubuntu : arm裸机1期加强版配套的ubuntu16.04

特别注意:如果你使用的虚拟机和ubuntu不一样,现象可能不一样,请具体情况具体分析。

一、为什么要让虚拟机中的ubuntu上网?

想在线安装软件,下载git源码包,或者要用浏览器浏览网页

二、虚拟机中的ubuntu有几种上网方式?

通常有2种,nat、桥接

三、nat上网怎么用?

nat方式—-让虚拟机内的系统上网的最快速的方式。如果你仅仅是想让虚拟机内的ubuntu上网,建议使用这种方式。

nat上网的前提:pc能上网即可,连路由器都不需要。nat上网的设置:vmware需要设置一处:

我们打开网络编辑器可以看到

软件已经将子网ip什么的都设置好了,只要ubuntu中的网络设置为dhcp就可以正常上网。如果你需要固定ip,也可以,下面有截图。

另:上图192.168.47.0网段是分配给虚拟机中的ubuntu的。为什么这个网段很怪?为什么不是我们常用的网段192.168.1.0?这是因为在nat模式下,pc机充当了一个路由器的角色。它既要跟上层的路由器通信,又要跟ubuntu通信。玩过路由器的同学就知道,路由器的上层网段和下层网段是不允许相同的,而我们常用的路由器的网段是192.168.1.0,所以为了避免冲突,软件自己便分配了一个不常用的网段给下层的设备。但也并不保险,如果你的上层路由器网段恰恰是192.168.47.0,那么需要更改这里的网段。

nat上网的优点: 设置方便,只要pc能上网,虚拟机内的系统也能上网。nat上网的缺点: 由于经过了pc的路由器角色转换,虚拟机内的系统已经是pc的一个子网设备,它可以与pc及pc层的其它机器通信,但是pc层的其它机器却无法跟虚拟机内的系统通信。例如:把开发板接入路由器,虚拟机内的ubuntu可以ping通开发板的,反过来却无法ping通。拓扑图如下:

四、桥接上网怎么用?

这可以说是功能最强大的方式了,在整个开发过程中,桥接完全能够满足需要,强烈推荐使用。

桥接上网的前提:你得有个路由器,pc机使用有线或者无线连接到能上网的路由器上。

桥接上网的设置:vmware需要设置两处:

设置之后虚拟机内的ubuntu和pc机上的windows处于局域网内的平等的位置,如下图:

此时ubuntu跟windows一样会获取到路由器分配的ip地址等,到这里,ubuntu就可以上网了。

如果不想让ubuntu的ip地址变来变去,可以进入ubuntu的网络设置界面将ip固定,步骤如下:

选择手动,添加,填入正确的ip、掩码、网关,保存。这样ubuntu的ip地址就固定下来了,在windows下使用远程登录很方便。

桥接上网的优点:将虚拟机内的系统模拟成一台局域网内单独的主机,虚拟机内的系统可以跟整个局域网内的所有设备进行双向通信,如果再将你的开发板接入路由器,那么三者互ping没有任何问题。

桥接上网的缺点:桥接所选的网卡必须是激活的。如果你把网线拔掉或者断掉wifi,不要说上网了,就连windows和ubuntu间的通信都无法进行,更别提使用ssh登录。

五、总结

如果单纯的想让虚拟机内的ubuntu上网,就使用nat方式。如果要让虚拟机内的ubuntu上网的同时,还要跟开发板进行通信,那么就使用桥接方式。

顺便附上校园网ping问题解决方法的口诀:

1.需要ubuntu上网时,使用nat方式;2.要跟开发板互联时,用桥接方式3.使用我们提供的ubuntu时,ubuntu不需要上网