您好,登錄后才能下訂單哦!
0.說明
本篇博文為《在實踐中深入理解VMware虛擬機的上網模式》系列的其中一篇:NAT模式。
VMware虛擬機在我們學習過程中必不可少,不管是安裝Linux操作系統來進行學習、搭建各種網絡服務,擬或者是用來做集群測試、云計算平臺OpenStack等的搭建,可以說,VMware虛擬機為我們帶來了極大的便利,最直觀的好處就是,我們可以節省很多用來購買各種設備的資金,同時也可以達到了學習各種技術的目的。
然而只要涉及到通過宿主機與VMware虛擬機中的操作系統進行通信,或者是VMware虛擬機中安裝的各個操作系統之間需要通信,都離不開計算機網絡的內容,事實,讓虛擬機中的各個操作系統進行網絡通信,也或者是讓我們的宿主機與虛擬機進行通信,都是平常我們使用VMware虛擬機進行各種服務測試所離不開的話題。
因此,很有必要理解清楚VMware虛擬機所提供給我們的各種上網方式其中的較為深入的計算機網絡通信原理,這樣一來,對于我們需要搭建的各種環境,網絡上的問題都可以迎刃而解,而不再需要到處查找各種資料,并且這對于以后要搭建的涉及到多臺設備通信的實驗環境都會有非常大的幫助。
博主較為深入地學習過華為與思科的相關級別認證的網絡知識,并在去年通過了華為ICT最高級別認證HCIE-RS,因此本博文的撰寫是站在一個網絡工程師的角度來理解VMware虛擬機中各種上網模式的通信原理,雖還是難以真正透徹理解其中的一些細節,但是相信還是可以為各位朋友帶來很大的幫助。
本博文的撰寫方式還是以理論為主線,結合實際操作,在實踐中深入理解VMware虛擬機的各種上網方式。
VMware虛擬機的上網方式有三種:NAT、橋接、僅主機模式,本篇介紹NAT模式。
1.實驗環境
博主的實驗環境如下:
宿主機操作系統:Windows 7
VMware Workstation版本:12.5.2 build-4638234
虛擬機操作系統:Windows 7
虛擬機操作系統上網方式:NAT模式
說明:為了后面的測試正常,請務必將宿主機和虛擬機的操作系統的防火墻功能關閉。
對于上網模式的設置,可以參考下面的圖示:
Windows 7的上網方式設置:
2.NAT模式的理論知識
當把我們的虛擬機的上網方式設置為NAT模式時,虛擬機、宿主機、各網卡之間的連接關系可用下圖來表示:
其實在看了上面的圖解分析之后,整體的網絡拓撲是非常清晰的,在接下來的步驟,就通過我們的實驗環境來進行驗證。
3.在實踐中深入理解NAT模式的網絡原理
在實驗環境中我們可以看到,我們是通過NAT方式來進行上網的,當設置好了NAT方式后,在虛擬機操作系統Windows 7中,查看IP地址信息:
而這時候,你會發現,宿主機跟虛擬機的通信是沒有問題的:
在宿主機上ping虛擬機:
那么為什么可以正常通信呢?以及虛擬機中的IP地址網段為什么是10.0.0.0/24的呢?
當使用NAT模式上網時,VMware會自動為我們的虛擬機操作系統進行IP地址的分配,此時在虛擬機內部有一個DHCP服務器,而其所分配的地址網段是可以在VMware中進行設置的。
在VMware Workstation中選擇“編輯”—“虛擬網絡編輯器”,即可以進行設置:
從上面可以看到,這里我們設置的網段就是10.0.0.0/24了。
另外我們的宿主機是通過VMnet8這塊虛擬網卡來與虛擬機操作系統進行通信的,你可以在宿主機的網絡設置中看到這塊虛擬網卡:
因為這塊虛擬網卡是用來與虛擬機操作系統進行通信的,所以它所被分配的地址也是10.0.0.0/24的,可以查看一下其地址:
所以實際上,當我們的宿主機與虛擬機操作系統進行通信時,是使用10.0.0.1這個源地址向虛擬機的操作系統發送數據包的。我們可以在虛擬機操作系統上去ping這個地址,會發現通信是沒有問題的:
那么對于虛擬機操作系統的網關10.0.0.2這個地址是在哪里的呢?
其實就是對應我們上面網絡圖解中的NAT服務器的虛擬網卡地址,只是這個地址我們只能通過在虛擬機操作系統中看到。
所以將上面我們所提及的地址以及網段信息,對應到我們的圖解中去,如下:
這樣一來,整體的網絡信息就非常清晰了,另外上面可以看到,宿主機物理網卡的地址為192.168.1.100/24,這是我的筆記本所在局域網所分配給我的IP地址。
通過上面的圖解分析,對于虛擬機操作系統的網絡通信就可以有很清楚的認識了:
當虛擬機與宿主機進行通信時:其實就是10.0.0.1/24與10.0.0.132/24這兩個地址進行通信;
當虛擬機與外網進行通信時:虛擬機先把數據發送到網關10.0.0.2/24,然后再通過NAT服務器把地址轉換為192.168.1.100/24,然后再與外網進行通信;
如果把Vmnet8這塊虛擬網卡禁用,還是不影響虛擬機訪問互聯網,只是宿主機與虛擬機的通信會受到影響,從上面的圖示中不難看出。
這樣一來,通信的過程就非常清晰了!此外,如果我們有很多臺虛擬機,并且上網方式都為NAT模式,那么實際上就相當于這些虛擬機都位于同一個局域網當中,那么虛擬機與宿主機的通信、虛擬機訪問外網與上面的過程是一樣的,而虛擬機與虛擬機之間的通信則是同一個局域網中的通信,所以也沒有什么問題,相應有了上面的圖解,這一切都會變得清晰很多。
需要補充的是,對于虛擬機提供的DHCP服務和NAT服務,其實在我們安裝VMware Workstation的宿主機上是可以看到這些服務的:
這樣一來也可以與我們的理論進行了一定的對應。
4.下一步應該做什么
可以考慮有多臺虛擬機的情況,正如上面所說的,可以嘗試測試它們的連通性,對上面的圖解(尤其重要)進行驗證,但是前提是你一定要具備一定的網絡知識。
5.在實際當中的應用
首先第一點是,當我們的虛擬機出現網絡問題的時候,都是需要先了解清楚網絡的拓撲結構再進行網絡排錯的,所以上面的內容就為我們提供了非常好的理論與實踐知識。
另外,如果可以在理解這些網絡知識的前提下再去搭建各種服務,做各種測試,可以讓我們做到胸有成竹的一種狀態,而不再是“霧里看花,水中望月”了,相應在這樣的不斷嘗試中,我們的綜合操作能力一定會變得更強。
不過仍然需要說明的是,上面的圖解仍然只是做參考,其中的很多細節都是需要了解VMware Workstation的網絡虛擬化的細節才可以真正了解清楚的,但不管怎么說,上面的內容對于在網絡通信上面,還是可以給我們帶來很大的幫助的,真心希望可以幫到大家!
由于能力和時間有限,如果發現有問題的,望及時指出。
補充:
對于網絡排錯,可以參考博主之前寫的一篇博文:《網絡排錯大講解》。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。