目录
问题描述:
看正点原子关于uboot和内核 根文件系统的移植,发现开发板和ubuntu虚拟机一直ping不通,反复看正点的资料,也没有找到答案,可能编者的系统一起来,便是通的。
我用过折中的法子,就是虚拟机用NAT模式联网,将VMnet8和连网线的“以太网”网卡桥接起来。这个方法虽然管用,但是经常导致win10系统蓝屏,报错bridge.sys。我就不敢用了。
这个问题困扰我很长时间,曾经多次寻找解决方案,一直无果。最近看了一遍文章才豁然开朗。
主机 虚拟机 开发板之间互ping通_lnwechag的博客-CSDN博客_开发板怎么ping主机
另外,这篇文章提到,一旦虚拟机和开发板ping通了,虚拟机便不能上外网了。我这篇文章一并把该问题解决了。
需求:
1、开发板------交换机--------win10 pc机(内有ubuntu虚拟机),开发板在uboot下能ping通ubuntu,为的是用nfs挂载根文件系统。
2、在实现需求1的前提下,ubuntu虚拟机还能上外网。
要点:
1、虚拟机设置虚拟网络时,将VMnet0设置为桥接模式,桥接到哪儿呢?不选auto,选“以太网”网卡对应的设备,此时在ubuntu中生成ens38网卡,配置其ip为192.168.2.129
2、由于VMnet0是默认虚拟网卡,已经桥接到了“以太网”上,在pc端有没有对应的虚拟网卡,都没有必要了。
3、设置pc端“以太网”ip为192.168.2.12,gateway是192.168.2.1
这是我的pc机配置:
4、设置交换机管理口为192.168.2.1,至此交换机和pc机互通
5、开发板在uboot下配置ipaddr为192.168.2.20.再ping192.168.2.129,发现通了!!!通了!!!
这是我的开发板配置:
上述配置,遵循一个原则:ubuntu “ens38”、pc “以太网”、交换机管理ip地址、开发板uboot ip,四者一定是同网段地址。
再来解决虚拟机不能上外网的问题。
因为如果VMnet0选择自动桥接,它可能桥接到了wlan上,即无线网卡上。pc能上网,则虚拟机也能上网。但现在我们桥接到了“以太网”上,外网自然无法上去。那么我们在vmware再新建一个虚拟网卡,桥接到wlan上呢?是不是就解决了问题呢?当然!
我们再新建虚拟网卡VMnet2,桥接到wlan上,再我的电脑上是Intel(R) Dual Band Wireless-AC 8260.
新建后,ubuntu下生成ens39网卡,它自动学到了ip,ping www.baidu.com便通了!!!
这是我的虚拟机配置:
下面是我的拓扑图:
思考:
1、如果开发板和pc机之间没有交换机呢?应该也没有问题。
2、如果pc机和交换机的连接不是网线,而是无线呢?虚拟机还能实现既能上网又能作为开发板的nfs服务器吗?我想是可以的。不要忘了,vmware虚拟机在配置虚拟网络时还有NAT方式。