环境:virtualbox中ubuntu22.04.4,开发板通过网线再经过拓展坞usb网卡跟windows11连接。连接如下:
1、关闭windows防火墙(重要)
2、先在VirtualBox的工具选项创建两个网络【仅主机(Host-Only)网络】和【NAT网络】
仅主机(Host-Only)网络的ip:192.168.56.200; NAT网络ip,默认
设置后在网络管理器中可以看到如下网络:VirtualBox Host-Only Ethernet Adapter。也可以在这里配置VirtualBox Host-Only的ip地址。
3、启动虚拟机前,点击【设置】-【网络】配置两个网卡:
网卡1:网络地址转换(NAT),并且勾上启用
网卡2:仅主机(Host-Only)网络,并且勾上启用
4、启动虚拟机中ubuntu系统,配置ubuntu系统中Host-Only网卡的ip为:192.168.56.101(跟Virtualbox上设置的Host-only网卡在同一个网段)
到此虚拟机中ubuntu操作系统和windows11可以相互ping通,同时虚拟机能上网
5、开发板通过网线经过USB的拓展坞网卡与windows11物理连接。
设置windows11上USB拓展坞网卡ip为:192.168.56.100(跟虚拟机相同网段)
6、通过串口登录开发板,设置开发板中的ip地址为:192.168.56.7
或者进入uboot设置uboot的ip,需要跟虚拟机在同一个网段。注意!只能在 uboot 中 ping 其他的机器,其他机器不能 ping uboot,因为 uboot 没有对 ping 命令做处理,如果用其他的机器 ping uboot 的话会失败!
到此为止,开发板通过usb网卡可以ping通windows11,但是ping不通虚拟机。
原因:这是由于我们windows主机和开发板用的网线直连,两个以太网卡在同一网段下,当然能够ping通。但是虚拟机和windows主机用的确是host only网卡(NAT方式用来上外网),这样只能保证虚拟机和Windows主机是互通的,但是却无法被开发板访问,我们的开发板是没有无线网卡的,所以不能用WLAN,因此我们要想让开发板访问到虚拟机可以通过如下方式:
可以直接把virtualbox的第2路网卡由原来的host only修改成【桥接网卡】模式,名称选择USB网卡如下:
重启虚拟机后需要确保配置虚拟机的enp0s8网卡和windows主机的以太网卡网段保持一致的。
最终网络连接如下:
Windows11上的ip:
虚拟机ubuntu22.04上ip
开发板上ip地址:
到此为止:开发板和虚拟机、windows三者就可以相互Ping通了。