一、虚拟机设置好网络适配器
1、在vmware上方的菜单栏:虚拟机->设置,按照下列步骤完成网络适配器的添加。
2、将新添加的网络适配器设置成桥接模式,并进行配置
注意:此时应该有两个网络适配器(一个是桥接模式,用于将开发板和电脑用网线建立连接,另外一个是nat模式,用于将虚拟机共享主机的IP地址连接外部局域网)。
点击vmware菜单栏的编辑->虚拟网络编辑器
将用于桥接的网络适配器vmnet0的网卡进行配置:
3、配置ubuntu里面的网络设置
1、先弄清楚自己用于桥接的网络适配器的是第几个(因为在ubuntu里面的适配器名称发生了变化,但是网络适配器的顺序是不变的。这里我的是第二个适配器,所以配置的是第二个)
按下图分配静态IP(开发板、主机和虚拟机的都需要在同一个网段才能互相ping通,ip地址中的前三个字节相同即在同一网段内,但三者的ip地址不能完全相同以防冲突)。
二、给主机的桥接适配器分配IP
下面三个适配器对应的就是vmnet0、1、8,用于桥接的是0。选择它并单机“属性”进行配置:(注意前面提到的同一网段)
三、给开发板分配IP
开发板连接串口后,通过串口发送下列命令:
ifconfig eth0 up
ifconfig eth0 192.168.10.50
ifconfig
可以看到开发板IP被成功更改:
四、三者互ping验证
1、主机ping虚拟机和开发板:
2、虚拟机ping主机和开发板
3、开发板ping主机和虚拟机
至此,主机、虚拟机、开发板三者实现了网络互通。
五、可能遇到的bug
1、虚拟机没有网络
先查看自己的vmware有没有网络适配器(nat模式的),以及是否勾选了这两个:
如果上面没有问题,则看看主机有没有vmware创建的虚拟网卡,也就是上面提到的vmnet0、1、8这几个网卡。
如果没有的话可以通过虚拟网络编辑器还原默认设置来让主机重新安装虚拟网络驱动和创建虚拟网卡。
如果这样也没有用的话建议重装vmware。推荐使用ccleaner来卸载和删除注册表,不然注册表删不干净,虚拟网卡也是无法重新创建。
2、主机可以ping通开发板和虚拟机,但是不可以被它们两个ping通
这种情况应该是因为主机开着防火墙,所以就会出现这种情况:
把主机的防火墙关闭即可完美解决。
3、虚拟机无法被ping通
和上面的情况一样,只要把虚拟机的防火墙关闭就行:
sudo ufw disable