VMWare是著名的虛擬化產品公司,VMWare Esxi也是專為服務器設計的虛擬化軟件。在安裝VMWare Esxi的服務器上可以同時運行多個虛擬系統,充分利用服務器資源。其一大特色之處就在於可以生成虛擬的網絡拓撲,通過創建虛擬交換機,可以管理不同虛擬系統上的流量,也令虛擬設備的配置變得更加靈活。可惜的是,VMWare Esxi使用vSwitch作網絡交換設備,並未直接提供NAT上網的解決方案。下面以多個虛擬機共享一個公網IP上網為例(相當於需要路由器配置上網),講解在VMWare Esxi中配置NAT環境。(本教程以講解搭建Esxi虛擬網絡拓撲為主,安裝Esxi及虛擬機、設置軟路由等操作不作為重點,因此略去,有需要可自行搜索相關教程或參考本文結尾處的"參考資料")
目的:一個公網IP(本例中為172.16.12.141),2台虛擬設備共享上網
系統環境:VMWare Esxi 5.5
軟件環境:海蜘蛛軟路由(v8),VMWare vSphere Client 5.5,操作系統鏡像
步驟詳解:
1. 安裝並配置VMWare Esxi
硬件環境可以使用VMWare Workstation[1],前提是PC最好有8G以上內存,如果有條件可以在真正的服務器或閑置的PC上直接安裝。下載地址及教程略,可以自行搜索網上教程。安裝好后需要配置Esxi的管理IP。本實驗在局域網下(路由器),網絡地址為172.16.12.1,實際主機和虛擬機都橋接在這個局域網下。建議開啟DHCP並在【DHCP服務器】中進行靜態地址分配。具體教程略。
本例中,VMWare Esxi安裝在實際主機的VMWare Workstation虛擬機上,配置兩個網卡(自動橋接),根據網卡的MAC在路由器上分配DHCP地址:
如上圖,Esxi的兩個網卡分別綁定了140和141,其管理地址為140(具體配置參考Esxi網絡配置相關教程[2])。配置好后能通過vSphere Client登錄到管理后台為配置成功,如下圖。
2. 在Esxi上安裝系統
本步驟操作同在VMWare Workstation上安裝虛擬機一樣,因此略。
對於Esxi運行在虛擬機上的情況,建議安裝WinXp、Linux這些占用資源少的系統,而且共安裝兩個系統已經足夠了。
本例安裝兩個WinXp系統作實驗。
3. 在Esxi上安裝海蜘蛛軟路由
軟路由可以幫助虛擬網絡拓撲實現路由轉發功能,雖然性能不及硬件路由器好,但是有着比硬件路由更豐富的功能,而且一般的路由功能需要的性能並不高,在服務器上跑軟路由可以滿足基本的NAT需求了。本例中使用的海蜘蛛有功能強大、使用操作簡單的優點,在Esxi上新建虛擬機安裝海蜘蛛則可以滿足NAT共享上網的需求。海蜘蛛可從官網上下載試用版[3]或者找破解版的教程[4]。
海蜘蛛的安裝也很簡單,根據提示安裝或參照網上教程都可以。對於破解版,安裝后可以使用命令激活[5]。注意在創建海蜘蛛虛擬機時,至少需要創建兩個網絡適配器。
安裝后進入海蜘蛛主機控制台(右鍵虛擬機-打開控制台),可以看到海蜘蛛的后台界面,包括配置地址及更改參數的選項。本教程使用默認配置,即NAT內網地址為192.168.0.1,管理端口880。
4. 搭建局域網
軟路由安裝后,只要與其他虛擬機配置好網絡,就可以通過其他虛擬機進入配置網頁,相當於一般路由器的192.168.1.1,這里就是192.168.0.1:880。下面通過創建vSwitch搭建局域網[6]。
在vSphere Client中選中主機,點擊【配置】-【網絡】,如下圖
接下來要創建一個標准交換機:
4.1 點擊右上角的按鈕【添加網絡...】 - 【虛擬機】 - 創建vSphere標准交換機,注意要取消所有實際網卡,這個交換機是無適配器的,如下圖:
4.2 點擊下一步,可以更改端口組的名稱(本例中改為NAT)
4.3 完成后,在虛擬機的【編輯虛擬機設置】選項中,將目前所有虛擬機的網絡適配器選項中,網絡標簽改為NAT(根據步驟4.2的端口組名稱)
4.4 配置完成后,vSwitch1的端口組應該是這樣的(這個交換機沒有物理適配器):
至此局域網已配置好了,打開其中一台虛擬機,通過瀏覽器登入軟路由的管理后台(192.168.0.1:880,帳號admin,密碼admin)。登得上證明已經連接到局域網了(下圖為管理主頁界面),可以ping一下其他虛擬機的IP測試。至於路由器中的局域網、DHCP之類的設置,這個屬於路由器配置的問題了,這里略。
5. 連接WAN口
硬件路由器上除了幾個LAN口外,還有一個WAN口。而對於軟路由,WAN口可以有不止一個。在第4步中,局域網已經搭好,不同虛擬機間以及虛擬機和海蜘蛛間都可以通信。接下來只需要把軟路由的WAN口插上,就可以上網了。
創建一個標准交換機:【添加網絡...】 - 【虛擬機】 - 【創建vSphere標准交換機】(這里勾選一個空閑的網卡,如vnmic-1)- 更名(本例為WAN)
在海蜘蛛虛擬機的配置中,把海蜘蛛虛擬機的另一個空閑網絡適配器加到WAN網絡中:
對比上面vSwitch1的配置截圖,Router軟路由跨了兩個交換機端口組。接下來打開Esxi中的其中一台虛擬機,通過瀏覽器進入路由控制台,在左邊選項中可以發現增加了【廣域網接口】這個選項(這時因為WAN口已經插上了,如果再給WAN網絡分配多一個網卡,廣域網接口就會出現兩個)。通過【廣域網接口】可以設置WAN口的上網參數。用服務器或實體主機做實驗的話就和配置PC上網一樣,如果是經過硬件路由器、到VMWare Workstation、再到Exsi的話,就填在硬件路由器中的IP地址參數,這時只要連接上硬件路由器就可以了。本例中,廣域網地址設為172.16.12.141。
完整的網絡拓撲圖:
6. 分析
就Esxi來看,這時NAT共享IP上網的網絡拓撲已經搭建好了,如果網絡里的虛擬機能連上路由器而不能上網,那是路由器的配置問題了。下面的內容就這個網絡拓撲分析NAT上網的原理。
從網絡拓撲配置(上面兩個交換機的截圖)可以看到,軟路由跨了兩個端口組,由於LAN沒有物理適配器,所有虛擬機的流量都發到了軟路由上(其他虛擬機也會收到,但是不作處理),軟路由在LAN的網絡適配器用於接收局域網流量。軟路由的程序可以實現路由功能,通過NAT轉換等操作后,把流量統一由WAN中的網絡適配器輸出。由於WAN連接着物理適配器,流量從LAN進入路由,從WAN轉發出,最終從物理適配器(上圖vnmic1)發到真實的網絡。
如果要和硬件路由器類比,LAN相當於路由器的幾個LAN口,而WAN就是WAN口了。通常硬件路由器只有一個WAN口,但軟路由可以實現多帶寬負載均衡等功能,因此可以插上多個WAN口。
系統結構如上圖,這里的交換機都只有一個端口組(同端口組所有端口屬性相同)。公網IP(172.16.12.141)從vSwitch2進入軟路由,通過路由功能生成一個內網網段(192.168.0.1),由vSwitch2把192.168.0.1xx網址分配給2台虛擬機。這里軟路由只有一個工作,就是把外網IP轉換為多個NAT內網地址,地址分配的功能由vSwitch1實現,所以2台虛擬機和路由器插在LAN的端口組上。右下角表示172.16.12.140留作管理IP用。
上圖的紅色框線內表示一個硬件路由器的工作原理(路由器所有LAN口集合相當於交換機),在其內部實現了路由功能和交換功能,而WAN口插網線相當於上圖紅色虛線(直接連接上網口),只是在Esxi中需要通過交換機(vSwitch2)連接上真實的網卡。
通過軟路由,可以實現服務器中建立多個虛擬機而使用同一IP,在虛擬機中各自安裝服務器軟件,就可以通過這個外網IP訪問2台虛擬機了。當然端口不能共用,80口只能給一個虛擬機用,其他可以通過端口轉發,或者用反向代理的方法,這里也不作詳細說明。
參考資料及引用:
[1] Workstation安裝Esxi: 紅黑聯盟.VMware ESXi 5安裝圖文教程.
http://www.2cto.com/os/201201/117743.html
[2] Esxi網絡設置:虛擬化之Esxi的基本設置.
http://tieba.baidu.com/p/2096905053
[3] 海蜘蛛官方網站: http://www.hi-spider.com/
[4] 海蜘蛛完美激活+海盾: 海蜘蛛6.15完美激活+海盾+教程.
http://bbs.pxecn.com/thread-101591-1-1.html
[5] 海蜘蛛muddyboot激活方法: 海蜘蛛破解方法.
http://blog.chinaunix.net/uid-20832381-id-1743773.html
[6] 局域網配置: 在VMware ESXi服務器上配置NAT上網.
http://www.it165.net/os/html/201309/6206.html