虚拟机、主机、开发板相互ping通(双网卡方式)

虚拟机、主机、开发板相互ping通(双网卡方式)

前言

本方法使用双网卡,开发板通过网线连接主机,主机再通过无线连接路由器,虚拟机通过桥接方式连接主机。最后实现主机,虚拟机均可访问外网,同时主机,虚拟机,开发板三者能相互ping通。

先来说一下开发环境

虚拟机:VMware15.5.2平台下安装的Ubuntu18.04    主机:Windows10    开发板:i.mx6ull开发板

在嵌入式开发中,虚拟机,主机,开发板往往都需要相互ping通,且能够访问外网。

常见方式有两种:

1. 主机无线连接路由器,虚拟机桥接主机无线网卡,开发板有线连接路由器。设置三者IP在同一网段下。

2. 主机有线连接路由器,虚拟机桥接主机有线网卡,开发板有线连接路由器。设置三者IP在同一网端下。

如下图所示

虚拟机、主机、开发板相互ping通(双网卡方式)_第1张图片

然而在很多时候,路由器如果离得比较远,尤其在学校等公共环境使用校园网等公共网络的时候,上面这种开发板直接连接路由器会变得很麻烦,甚至无法实现。所以这里介绍另外一种方法。

 

方法

开发板通过有线连接主机。虚拟机设置两个虚拟网卡,一个桥接主机的有线网卡,一个桥接主机的无线网卡。主机通过无线网卡连接路由器访问外网,通过有线网卡连接开发板,访问虚拟机,开发板,主机构成的内网。如下图所示

虚拟机、主机、开发板相互ping通(双网卡方式)_第2张图片

 

具体步骤

1. 打开VMware->编辑->虚拟网络编辑器。点击添加网络,添加两个新的网络(此处是VMnet0和VMnet2),选择桥接模式,一个桥接至主机的无线网卡,一个桥接至主机的物理网卡。

虚拟机、主机、开发板相互ping通(双网卡方式)_第3张图片

2. 打开Ubuntu18.04,执行ip a,记住两个网络适配器名字。这里我的两个适配器名字分别是ens33和ens38,这个名字都是不固定的,记住自己的就好。

虚拟机、主机、开发板相互ping通(双网卡方式)_第4张图片

然后配置这两个适配器的ip地址。用于无线连接的适配器要和路由器处于同一网段中。Ubuntu18.04网络配置较之前版本变动较大,具体配置方法可以参考这篇文章https://blog.csdn.net/u014454538/article/details/88646689

下面是我配置完的两个适配器IP地址。ens33为无线适配器,通过dhcp自动获取IP,用于访问外网。ens38为有线适配器,设置静态IP,用于和主机,开发板通信。

虚拟机、主机、开发板相互ping通(双网卡方式)_第5张图片

设置完后执行sudo netplan apply。然后重启Ubuntu。

3. 将开发板用网线与主机连接好。此处注意,千万不能让开发板连接到虚拟机,可在虚拟机右下角的几个小图标中确认一下。图标是灰色说明没有连接到虚拟机。

然后打开windows的网络适配器,找到有线网络适配器,右键->属性->双击Internet协议版本4->设置IP地址。此处的IP地址要和刚刚在Ubuntu中有线网卡的IP地址在同一网段。

虚拟机、主机、开发板相互ping通(双网卡方式)_第6张图片

4. 主机虚拟机IP地址都配置完之后,配置开发板IP地址。开发板烧写好uboot,然后设置好下图这几个变量。注意ipaddr要和第3步中Windows10中配置的IP地址在同一个网段。

5. 至此,所有配置都已经完成。测试一下是否最终结果。

主机访问外网

虚拟机、主机、开发板相互ping通(双网卡方式)_第7张图片

 

主机访问虚拟机(通过有线网卡,无线网卡均可一访问)

虚拟机、主机、开发板相互ping通(双网卡方式)_第8张图片        虚拟机、主机、开发板相互ping通(双网卡方式)_第9张图片

 

虚拟机访问主机

虚拟机、主机、开发板相互ping通(双网卡方式)_第10张图片

 

虚拟机访问外网

虚拟机、主机、开发板相互ping通(双网卡方式)_第11张图片

 

开发板访问主机

 

开发板访问虚拟机

验证完毕,主机,虚拟机,开发板相互均可ping通。

 

深夜肝文不易,可能会有错误或未注意到的点。如果有发现任何错处,或者不理解指出,欢迎评论提出共同探讨

你可能感兴趣的:(嵌入式Linux,vmware,ubuntu,网络,linux,嵌入式)