开发板ping不通虚拟机?虚拟机,物理机,开发板之间相互ping通问题

为了从虚拟机直接给开发板传文件,参照iTop4412开发板实验教程,遇到了开发板ping不通虚拟机的问题,由于使用的是无线,尝试很多办法猜得到解决。为了大家少走弯路,把解决流程归纳如下:
我的硬件前提如下:我电脑连的无线,开发板没有wifi模块,就只有一根网线将开发板和电脑连接。
首先判断三个地址在同一网段,当然我一开始设置就在同一网段,以下是我的地址:
虚拟机Ubuntu地址:
在这里插入图片描述
物理机ip地址(以太网适配器IP地址是插上网线以后才出来的,我查了下,这两个其实就分别是有线网卡和无线网卡IP地址,也是问题的关键):
无线局域网适配器IP地址(无线网卡):
在这里插入图片描述
以太网适配器IP地址(有线网卡):
在这里插入图片描述
开发板IP地址:

在这里插入图片描述
很显然,他们都是在同一个网段的,但是我的开发板就是ping不通虚拟机。网上查找,发现虚拟机需要设置为桥接模式,于是我也设置了。至于怎么设置,请自行百度,当然后面也会说一点,不过有些人情况可能和我一样,就是网络适配器里面只有vmnet1和vmnet8。这种时候,参照下面这个流程就有了:
右键VMware->属性->兼容性->设置以管理员模式开启。
设置完以后,发现还是不行,于是关闭windows防火墙(控制面板->网络和internet->网络和共享中心)和关闭虚拟机防火墙(我用的Ubuntu,使用命令:ufw disable)。
完成这一步以后,我还是没有成功,不过前面这些都是必要的,此时离成功也只差一步了!!!

这个时候,我想的是虚拟机和开发板都是通过物理机连接的,于是用物理机ping一下开发板的ip地址,可以ping通。
在这里插入图片描述
用开发板ping物理机:
在这里插入图片描述
在这里插入图片描述
可以看到,开发板可以ping通有线网卡的IP地址,却ping不通无线网卡的IP地址。
再试试物理机和虚拟机相互通信,结果是:
物理机ping虚拟机:
在这里插入图片描述
虚拟机ping物理机:
在这里插入图片描述
物理机可以ping通虚拟机IP地址,但是虚拟机只能ping通无线网卡的IP地址,不能ping通有线网卡的IP地址。
根据这个结果,大概就知道开发板不能ping通虚拟机的原因了吧,主要是就是有线网卡地址和无线网卡地址的问题,而唯一有这个设置的地方也就是VMware的虚拟网络适配器里面。下面是解决办法:
首先,进入网络和共享中心,查看连接的网络属性,可以看到电脑使用的网卡的信息,首先是有线网卡:
在这里插入图片描述
再是无线网卡:
在这里插入图片描述
接下来进入虚拟机界面,点击进入虚拟网络适配器界面:
在这里插入图片描述
可以看到其桥接模式一般会默认为自动的情况,估计它自动选择的是无线网卡,所以导致了上述物理机和虚拟机之间ping通的问题。
在这里插入图片描述
接下来,我们把它改为有线网卡方式桥接,点击确定。
在这里插入图片描述 到这里问题就解决了,此时物理机,虚拟机,开发板,都可以相互ping通了。 注意的是,这个时候物理机使用地址为有线网卡地址。