virtualbox網絡配置實現PC、虛擬機、開發板互ping


一.設置virtualbox網卡

1.1 關閉虛擬機

1.2 設置添加網卡

進入設置-網絡

1.2.1 添加網卡1(NAT網絡)

這個網絡是主機通過網絡地址轉換到虛擬機,比如主機用無線網卡WLAN上網,用NAT轉換比較合適,這樣虛擬機也可以訪問外網。

1.2.2 添加網卡2(host only網絡)

這個網絡是主機通過無線網卡WLAN上外網,但是虛擬機想通過有線網卡和主機、甚至與開發板互相ping通,傳輸文件。

當然開啟host only模式前先確保windows下的virtual host only網卡有開啟,如下圖:

如果沒有請按照下圖操作:(這里是添加host only網卡)

二,配置windows和虛擬機

2.1 配置window以太網卡

剛添加了虛擬機虛擬virtual host only網卡, 那么我們反正用的WLAN上的外網,為了方便,設置windows下的以太網卡網段和virtual host only網卡保持一致。

2.2 配置虛擬機網絡

一般默認情況下,虛擬機是通過NAT共享網絡給虛擬機用的,那么此時虛擬機也是可以上網的,只是不能和外界開發板進行互相ping, 同時windows主機也不能ping虛擬機。 如下圖:



圖中可以看到兩塊網卡,enp0s3是Ubuntu默認的網卡(NAT),enp0s8是新增的網卡(host only),可以看到enp0s8還沒有分配IP地址,我們需要手工指定一下。sudo vim /etc/network/interfaces將文件內容修改為如下所示:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

auto enp0s8
iface enp0s8 inet static
address 192.168.56.101
netmask 255.255.255.0

再來看下網卡ip信息:

三,測試上網狀態


從測試結果上可以看到虛擬機上外網和ping windows主機都是ok的。

  10.80.0.75時無線網卡的ip,
  192.168.56.100是以太網卡的ip,
  192.168.56.101是host only網卡的ip。 

同理用Windows ping虛擬機也是ok的。

用開發板ping主機和虛擬機發現,只能ping通windows主機,無法ping通虛擬機,如下圖。這是為什么呢?

這是由於我們windows主機和開發板用的網線直連,兩個以太網卡在同一網段下,當然能夠ping通。但是虛擬機和windows主機用的確是host only網卡(NAT方式用來上外網),這樣只能保證虛擬機和Windows主機是互通的,但是卻無法被開發板訪問,我們的開發板是沒有無線網卡的,所以不能用WLAN,因此我們要想讓開發板訪問到虛擬機還得經過windows的以太網卡。

那么我們虛擬機和windows主機是host only方式,所以我們無法用到以太網卡進行虛擬機和windows主機的交互。所以我們可以采取將host only網卡橋接到以太網卡,進入 網絡-更改適配器-同時選中host only網卡和以太網卡,點擊右鍵-選擇橋接,如下圖所示:

這樣我們的虛擬機的host only網卡就可以透過以太網卡和開發板交互了,效果如下:

開發板能夠ping windows主機和虛擬機。

四,改進和優化

如果不想在windows下進行host only網卡和以太網卡橋接,也可直接把virtualbox的第2路網卡由原來的host only修改成以太網卡橋接模式,如下:

這樣需要配置虛擬機的enp0s8網卡和windows主機的以太網卡網段保持一致的。(和前面2.2操作一樣)

4.1 windows ping 虛擬機

4.2 虛擬機 ping windows

4.3 開發板 ping windows和虛擬機


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM