1. 程式人生 > >如何讓虛擬機的Ubuntu上網?

如何讓虛擬機的Ubuntu上網?

info 同學 保存 添加 weixin ref 虛擬 6.0 問題解決

先聲明

本文使用的虛擬機: 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機使用有線或者無線連接到能上網的路由器上。

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

技術分享圖片

技術分享圖片

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

技術分享圖片

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

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

技術分享圖片

技術分享圖片

技術分享圖片

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

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

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

五、總結

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

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

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

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

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

如何讓虛擬機的Ubuntu上網?