有好多人问我,为什么我的电脑、虚拟机以及目标板之间总有那么两个是ping不通的,这给我们的开发带来了很多不必要的麻烦,总体原因还是网络没有配置好……那么今天,我们就来讲讲这个问题的解决方案,作为我公众平台的第一弹;
在我们装好虚拟机、Windows下的开发工具以及目标板系统后,要做的第一件事就是让三者之间可以随时随地的进行通信:
1、 我们要把目标板跟电脑之间的网线连接好,连接好后电脑中的“网络和共享中心”会增加一个“本地连接”,默认为公用网络,我们要手动把连接外网的网络设置为家庭网络,看到后边你就知道为什么这么配置了;

2、 修改上述“本地连接”的IP以及子网掩码,默认配置是自动获取,我们要修改为手动配置,我配置的IP为192.168.12.200,子网掩码为255.255.255.0

3、 关闭Windows防火墙,注意,我们只关闭公用网络防火墙,家庭网络的防火墙不关闭,当然如果你想让你的电脑被入侵的话,也可以选择关闭哦,另外,把什么杀毒软件还有什么卫士之类的软件通通都关闭掉;

电脑的网络已经配置OK,接下来就是配置虚拟机的网络了
4、 我用的虚拟机系统是Ubuntu,就针对此来讲,大家可以根据自己的实际情况进行相应的操作,打开网络设置à编辑连接à编辑àIPv4设置,修改为手动设置方法,并输入与上边配置的Windows的在同一段内的IP地址,这里我配置为192.168.12.125,子网掩码255.255.255.0,网关设置为0.0.0.0就好,然后保存,并连接此网络;

5、 依次点击VMwareworkstation的编辑—>虚拟机网络编辑器,配置VMnet0位自动桥接模式,对于VMnet1和VMnet8可暂时不用理会;


6、 依次点击VMwareworkstation的虚拟机à设置à硬件à网络适配器,配置为桥接模式(如果需要虚拟机上网,则需要在此处配置为NAT模式,并且要将网络配置为自动获取IP地址的方法)

7、 配置目标板IP地址,启动目标板,并将串口线连接电脑跟目标板,这里要注意插上串口线后虚拟机会提示将串口跟虚拟机相连接,我们不能让他俩连在一起,这就要在VMware workstation中设置,依次点击虚拟机à可移动设备àUSB2.0-ser,如果已连接,则断开,否则无需进行任何操作;打开Windows下的secureCRT软件,登录目标板,依次进入/etc/rc.d/init.d目录,然后执行命令sudo vi start_userapp,修改启动配置文件,修改其中的eth0的IP地址为与Windows及虚拟机在同一网段的IP地址,这里我配置为192.168.12.124,然后保存退出,这种方法属于一劳永逸的方法,下次开机就不需要再次修改,另一种方法是在客户端执行命令ifconfig
eth0 192.168.12.124,这种方法只是临时修改;

修改完成后,我们再确认一次目标板IP、Windows的IP以及虚拟机IP是否在同一网段,目标板及虚拟机下输入ifconfig命令查看eth0的IP,Windows下在打开cmd输入ipconfig命令查看本地连接的IP,确认无误后就可以互相执行ping命令,结果如下图

Windows的网络

虚拟机的IP

目标板IP
到此,所有的网络都已经配置好了,感谢大家的支持,如果你觉得文章写的还不错,就请打赏我吧,分享给你身边爱好IT的朋友,我不会介意哒。
电脑与虚拟机,目标板与虚拟机PING不通时,请查看虚拟机的VMnet0是否为桥接方式,若上网用无线,则将自动桥接改为通过有线网卡桥接。