簡介:
VM(VMware Workstation簡稱VM,后面都將用VM代替闡述)是一款功能強大的虛擬化軟件.VM支持在
單一的桌面上同時運行多款不同的操作系統,能夠模擬完整的網絡環境,支持pxe功能.實時快照,等等多種強
大的功能.能夠測試軟件和部署新的業務測試.同時節約了很多資源.節約了企業成本.所以對於廣大的互聯網
從業者是不可多得的好工具.
本文中作者使用的軟件以及操作系統版本:
VM 11.1.2版本
win10 專業版
由於本文只討論VM的網絡連接的三種模式,所以對於虛擬機怎么虛擬CPU,內存,等等硬件,不做贅述.
一,首先思考的問題是:
在現實生活中,多台機器是怎么實現互聯通信的呢?需要什么設備呢?在虛擬機中是怎么實現呢?
答:在現實生活中,我們將多台機器實現互聯通信的一般都是通過將多台主含有物理網卡的主機連接到交換機
組建局域網,或者當在多個不同網段的局域網可以通過路由來實現多台主機的連接和通信.
簡而言之,主要的設備有:含有物理網卡設備的主機,交換機,網線,路由器.
那么在虛擬機軟件中也同樣需要這些設備,畢竟這些都是必備的東西,但是和現實中的方法不同的是,虛擬機軟
件是通過軟件的形式來模擬這些物理設備的.
二,那么我們來看看被模擬出來以及需要被用到的真實的設備在有哪些呢?下圖分曉.
網卡設備:
1,主機host的物理以及虛擬網卡設備,如下圖
如圖一:
標識一:是VM軟件虛擬出來的一個vmnet1虛擬網卡設備 (注意:vmnet1代表是虛擬網卡設備,
標識二:是VM軟件虛擬出來的一個vmnet8虛擬網卡設備 (而VMnet1和VMnet8代表的是虛擬
標識三:是host主機本身自帶一個真實的物理物理網卡設備 (交換機,區別在於VM是否大寫
2,主機guest的虛擬網卡設備,如下圖
簡介:
標識一:是VM軟件虛擬出來的guest主機的虛擬網卡設備
標識二:可以通過添加按鈕給guest主機添加額外的虛擬網卡設備.
(注,此功能很好用尤其在練習heartbeat監控心跳的時候,可以單
獨虛擬一個網卡設備來監控彼此的心跳信息)
3,VM軟件虛擬出來的交換機有哪些呢?如下圖:
標識三: 哇,是不是很驚訝?VM虛擬機軟件給我虛擬了
10個交換機(VMnet0~9).這下是不怕不夠用了!!!!!! 哈
哈………..
以上的VM虛擬機軟件和host主機幫我們解決了,設備的問題,但是光有設備就可以了嗎??????顯然是
不夠的,把網絡設備都相互連接上但是沒有ip地址還是不可以解決的彼此互連通信的問題.那么VM軟件
是怎么解決的呢.那就是通過通過模擬dhcp服務,來分配給guest主機ip地址子網掩碼,等等網絡參數來
解決的.還面對一個問題那就是怎么解決內部guest主機鏈接互聯網的問題,這里VM軟件是通過模擬nat
服務的方式來解決的.
三,那么dhcp服務,和nat服務怎么查看呢,見下圖
1,dhcp分別為在VMnet1(交換機)和VMnet8(交換機)提供在不同網段的dhcp服務
這是VMnet1上的圖示:
標識一:如圖標識一可以得知,guest的虛擬網卡設備連接到VMnet1(交換機)上
標識二:如圖標識二可以得知,通過使用本地dhcp服務給guest分配ip地址
注意(此網段使用的ip段是192.168.23.x/24)
這是VMnet8上的如圖所示
標識一:如圖標識二可以得知,guest的虛擬網卡設備連接到VMnet8(交換機)上
標識二:如圖標識三可以得知,通過使用本地dhcp服務給guest分配ip地址
注意(此網段使用的ip段是192.168.10.x/24)
從上可以知道虛擬機軟件是如何通過dhcp本地服務給guest分配ip地址的.
四,我們要解決的是怎么解決guest鏈接外部互聯網的,一種是通過橋接還有一種就是
通過nat服務來進行地址轉換的.橋接模式以及其他兩模式怎么實現接下來會慢慢揭曉
,首先我們看看dhcp服務和nat服務怎么來的是?
答:其實就是安裝VM安裝的服務,至於怎么查看,如下圖
win+r 接着 輸入services.msc
就可以找到這兩個服務了.就是通過兩個服務提供dhcp和NAT解決方案的.
好了以上介紹完了VM虛擬機軟件是如何通過模擬虛擬設備以及服務來解決問題的,好了
食材已經准備好了,准備下廚炒菜.說說三種網絡鏈接的模式了.
五,三種模式詳解過程.(橋接模式,僅主機模式,nat模式)
上圖是拓撲圖
guest主機的網卡連接虛擬交換機上,然后通過虛擬網橋和host主機上真實物理網卡進行橋接,原理大概是這樣的.把VM軟件通過把網卡設置成混雜模式來達到監控多個ip地址的能力.這樣的話,guest主機是通過主機網卡設備鏈接到外網的,這樣橋接模式下的guest主機和host主機享受同樣的地位.如果家里有路由器,那么路由器就像對待真實主機一樣對待guest主機,通過路由器的dhcp功能直接給guest分配一個ip地址.如果有多個虛擬機同理,他們的地位都是等同地位的.相當於真實的主機.
上圖是拓撲圖
虛擬機內部有個多個guest主機.他們都是通過dhcp服務分別都分配得到一個ip地址.由於內部guest分配的ip地址都
是同一個網段的,所以彼此都是可以連接通信的,但是面對一個問題,host主機真實物理網卡的ip地址不再一個網段怎
么和內部guest主機進行通信呢,host主機通過VM軟件虛擬的vmnet1網卡來鏈接VMnet1交換機上來進行與其他內部
guest主機的通信.可以通過win+r 輸入cmd然后再輸入ipconfig 就可以查看到vmnet1虛擬網卡設備的ip和VMnet1
下dhcp分配的ip地址段在同一網段.但是這樣僅僅可以讓host和內部的guest主機們進行通信,guest主機是無法連接外網,因為沒有路由設備.
如下圖
上圖是拓撲圖
從上圖可以看出,該拓撲圖和上面的host-only拓撲圖很相似,只不過是多了一個NAT服務連接外部網絡,其實這里vmnet8虛擬網卡只是通過連接VMnet8的虛擬交換機來與內部的guest主機進行通信而已,即使把這個虛擬網卡禁用掉,內部的guest主機依舊可以上網的,所以vmnet8虛擬網卡和內部guest的網卡也是相對獨立的.vmnet8 僅僅是host連接內部VMnet8網段的橋梁而已,並不為VMnet8虛擬交換機的網段提供路由功能.處於虛擬NAT網絡下的Guest是使用虛擬的NAT服務器連接的Internet的。
總結,通過以上的學習可以知道,內部的guest要想與外部的網絡進行通信,無非就是需要,dhcp服務,nat服務,虛擬交換機.但是對於nat模式是怎么運作的原理沒有進行詳細的介紹.但是在接下來的網絡服務繼續進行總結.