前言 決心要花費寶貴時間寫下這篇心得,是因為從昨天晚上到今天上午被這個VMWare模擬搭建的伺服器集群不能上外網的問題搞得很心煩,最後決定跟它杠上了!上午還通過遠程連接得到了“空白”同學的幫助,在此表示十分感謝。雖然到今天中午的時候經過幫助能上外網了,但是自己感覺還是沒有徹底弄懂,對三種模式下的網路 ...
前言
決心要花費寶貴時間寫下這篇心得,是因為從昨天晚上到今天上午被這個VMWare模擬搭建的伺服器集群不能上外網的問題搞得很心煩,最後決定跟它杠上了!上午還通過遠程連接得到了“空白”同學的幫助,在此表示十分感謝。雖然到今天中午的時候經過幫助能上外網了,但是自己感覺還是沒有徹底弄懂,對三種模式下的網路結構還是一知半解,上網查了很多資料,但是發現網上很多文章有許多誤導。於是自己又從VMWare的三種模式出發,查資料,最後終於算是捋順了。
寫下這篇文章,一是讓自己的邏輯得到鍛煉,二是希望能幫到部分同學。如果是網路結構方面的大神該文可以略過。
主要內容
VMWare搭建虛擬機有三種模式:橋接模式、NAT模式和僅主機模式。在三種模式下,都有對應的上外網的解決辦法(並且能夠與本地主機通信)。
打開vmware虛擬機,我們可以在選項欄的“編輯”下的“虛擬網路編輯器”中看到VMnet0(橋接模式)、VMnet1(僅主機模式)、VMnet8(NAT模式),那麼這些都是有什麼作用呢?其實,我們現在看到的VMnet0表示的是用於橋接模式下的虛擬交換機;VMnet1表示的是用於僅主機模式下的虛擬交換機;VMnet8表示的是用於NAT模式下的虛擬交換機。
同時,在主機上對應的有VMware Network Adapter VMnet1和VMware Network Adapter VMnet8兩塊虛擬網卡,它們分別作用於僅主機模式與NAT模式下。在“網路連接”中我們可以看到這兩塊虛擬網卡,如果將這兩塊卸載了,可以在vmware的“編輯”下的“虛擬網路編輯器”中點擊“還原預設設置”,可重新將虛擬網卡還原。
1、NAT模式
剛剛我們說到,如果你的網路ip資源緊缺,但是你又希望你的虛擬機能夠聯網,這時候NAT模式是最好的選擇。NAT模式藉助虛擬NAT設備和虛擬DHCP伺服器,使得虛擬機可以聯網。其網路結構如下圖所示:
在NAT模式中,主機網卡直接與虛擬NAT設備相連,然後虛擬NAT設備與虛擬DHCP伺服器一起連接在虛擬交換機VMnet8上,這樣就實現了虛擬機聯網。那麼我們會覺得很奇怪,為什麼需要虛擬網卡VMware Network Adapter VMnet8呢?原來我們的VMware Network Adapter VMnet8虛擬網卡主要是為了實現主機與虛擬機之間的通信。在之後的設置步驟中,我們可以加以驗證。
1)打開VMWare,“編輯”-->“虛擬網路編輯器”,設置NAT參數和DHCP參數。
更改網路連接模式為NAT,這裡若虛擬機已經啟動,直接更改,不需重啟。
進入系統後,設置自己的IP、掩碼、網關、DNS。
若系統開啟了交互界面:
若系統沒有開啟交互界面,可以編輯網卡配置文件:
命令行模式下重啟網卡:/etc/init.d/network restart
ping外網,可以通信。
為了驗證上外網不需要VMnet8這個網卡,在物理主機系統下將該網卡禁用
再次測試,發現依然能上外網。
那VMnet8虛擬網卡是用來乾什麼用的呢?VMnet8虛擬網卡主要是為了實現主機與虛擬機之間的通信。
在VMnet8網卡禁用狀態下,物理主機不能與虛擬機進行通信
當啟用後,可以:
註意:在設置NAT的網關IP時,不能與v8的網卡ip相同,否則不能通信。
2、僅主機模式
Host-Only模式其實就是NAT模式去除了虛擬NAT設備,然後使用VMware Network Adapter VMnet1虛擬網卡連接VMnet1虛擬交換機來與虛擬機通信的,Host-Only模式將虛擬機與外網隔開,使得虛擬機成為一個獨立的系統,只與主機相互通訊。其網路結構如下圖所示:
打開虛擬網路編輯器,設置DHCP
將虛擬機的網路模式設置為僅主機模式,進入linux系統,設置ip、掩碼、網關、DNS(若linux沒有配置交互模式,可以用命令行,同理NAT)
將物理主機的網卡共用給虛擬網卡V1
測試,虛擬機能與外網通信:
3、橋接模式
橋接模式就是將主機網卡與虛擬機虛擬的網卡利用虛擬網橋進行通信。在橋接的作用下,類似於把物理主機虛擬為一個交換機,所有橋接設置的虛擬機連接到這個交換機的一個介面上,物理主機也同樣插在這個交換機當中,所以所有橋接下的網卡與網卡都是交換模式的,相互可以訪問而不幹擾。
這種模式下,虛擬機的ip必須與物理主機的網卡的ip在一個網段里,且子網掩碼、網關、DNS須與主機保持一致。所以該模式下,虛擬機不能自己定義網段。橋接模式下網路結構圖如下所示。
下麵講解具體步驟:
查看自己物理主機的IP信息
將虛擬機模式設置為橋接模式。
3)進入虛擬機系統,將ip,子網掩碼,預設網關,DNS改成與物理主機一致。
ping外網,發現可以通信。但經測試,發現這種方法可能會影響自己物理主機上網的穩定性(自己的見解)。
說明:文章理論部分摘自https://www.linuxidc.com/Linux/2016-09/135521.htm,特此說明,同時在此表示感謝。