環境: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通了。