標籤:

如何讓虛擬機的Ubuntu上網?

首發平台:微信公眾號baiwenkeji

先聲明本文使用的虛擬機: VMware Workstation 14 Pro

本文使用的Ubuntu : ARM裸機1期加強版配套的Ubuntu16.04

特別注意:如果你使用的虛擬機和Ubuntu不一樣,現象可能不一樣,請具體情況具體分析。

一、為什麼要讓虛擬機中的Ubuntu上網?

想在線安裝軟體,下載git源碼包,或者要用瀏覽器瀏覽網頁

二、虛擬機中的Ubuntu有幾種上網方式?

通常有2種,NAT、橋接

三、NAT上網怎麼用?

NAT方式----讓虛擬機內的系統上網的最快速的方式。如果你僅僅是想讓虛擬機內的Ubuntu上網,建議使用這種方式。

NAT上網的前提:PC能上網即可,連路由器都不需要。

NAT上網的設置:VMware需要設置一處:

我們打開網路編輯器可以看到

軟體已經將子網IP什麼的都設置好了,只要Ubuntu中的網路設置為DHCP就可以正常上網。如果你需要固定ip,也可以,下面有截圖。

另:上圖192.168.47.0網段是分配給虛擬機中的Ubuntu的。為什麼這個網段很怪?為什麼不是我們常用的網段192.168.1.0?這是因為在NAT模式下,PC機充當了一個路由器的角色。它既要跟上層的路由器通信,又要跟Ubuntu通信。玩過路由器的同學就知道,路由器的上層網段和下層網段是不允許相同的,而我們常用的路由器的網段是192.168.1.0,所以為了避免衝突,軟體自己便分配了一個不常用的網段給下層的設備。但也並不保險,如果你的上層路由器網段恰恰是192.168.47.0,那麼需要更改這裡的網段。

NAT上網的優點: 設置方便,只要PC能上網,虛擬機內的系統也能上網。

NAT上網的缺點: 由於經過了PC的路由器角色轉換,虛擬機內的系統已經是PC的一個子網設備,它可以與PC及PC層的其它機器通信,但是PC層的其它機器卻無法跟虛擬機內的系統通信。例如:把開發板接入路由器,虛擬機內的Ubuntu可以ping通開發板的,反過來卻無法ping通。拓撲圖如下:

四、橋接上網怎麼用?

這可以說是功能最強大的方式了,在整個開發過程中,橋接完全能夠滿足需要,強烈推薦使用。

橋接上網的前提:你得有個路由器,PC機使用有線或者無線連接到能上網的路由器上。參考下面兩個帖子

100ask.org/bbs/forum.ph

100ask.org/bbs/forum.ph

橋接上網的設置:VMware需要設置兩處:

設置之後虛擬機內的Ubuntu和PC機上的Windows處於區域網內的平等的位置,如下圖:

此時Ubuntu跟Windows一樣會獲取到路由器分配的IP地址等,到這裡,Ubuntu就可以上網了。

如果不想讓Ubuntu的IP地址變來變去,可以進入Ubuntu的網路設置界面將IP固定,步驟如下:

選擇手動,添加,填入正確的IP、掩碼、網關,保存。這樣Ubuntu的IP地址就固定下來了,在Windows下使用遠程登錄很方便。

橋接上網的優點:將虛擬機內的系統模擬成一台區域網內單獨的主機,虛擬機內的系統可以跟整個區域網內的所有設備進行雙向通信,如果再將你的開發板接入路由器,那麼三者互ping沒有任何問題。

橋接上網的缺點:橋接所選的網卡必須是激活的。如果你把網線拔掉或者斷掉WIFI,不要說上網了,就連Windows和Ubuntu間的通信都無法進行,更別提使用SSH登錄。

五、總結

如果單純的想讓虛擬機內的Ubuntu上網,就使用NAT方式。

如果要讓虛擬機內的Ubuntu上網的同時,還要跟開發板進行通信,那麼就使用橋接方式。

順便附上校園網PING問題解決方法的口訣:

1.需要UBUNTU上網時,使用NAT方式;2.要跟開發板互聯時,用橋接方式

3.使用我們提供的UBUNTU時,UBUNTU不需要上網

推薦閱讀:

TAG:嵌入式開發 |