# VMware虛擬機聯網詳述 > 網路上東西都是虛擬的,你把握不住 ## 1. 虛擬網路組件 * **虛擬機**(Virtual Machine) 在物理電腦上通過虛擬化技術創建的一臺虛擬電腦。它具有自己的操作系統、應用程式和網路配置,可以獨立運行和管理。 * **虛擬化軟體**(Virtua ...
VMware虛擬機聯網詳述
網路上東西都是虛擬的,你把握不住
1. 虛擬網路組件
-
虛擬機(Virtual Machine)
在物理電腦上通過虛擬化技術創建的一臺虛擬電腦。它具有自己的操作系統、應用程式和網路配置,可以獨立運行和管理。 -
虛擬化軟體(Virtualization Software)
物理機上用於創建、配置和管理虛擬機的軟體,如 VMware、VirtualBox。它可以將物理機資源(如處理器、記憶體、存儲)虛擬化為多個獨立的虛擬機。 -
宿主機(Host)
運行虛擬化軟體的物理電腦。 -
虛擬網路(Virtual Network)
在虛擬化環境中創建的邏輯網路,提供連接虛擬機、宿主機和外部網路的通道。
1. 虛擬網路適配器(Virtual Network Adapter)
也稱虛擬機網卡。虛擬網路適配器是虛擬機中的軟體(eth0),模擬物理網卡的功能。它用於連接虛擬機和虛擬交換機,實現虛擬機與虛擬網路之間的通信。
註意區別虛擬網路適配器(虛擬機)和虛擬網卡(主機)。
2. 虛擬交換機(Virtual Switch)
虛擬交換機是虛擬網路中的虛擬網路設備。它一端連接各個虛擬機,另一端連接虛擬網卡、虛擬NAT設備、DHCP伺服器等,負責將來自不同虛擬機的數據包進行交換和轉發。
VMware預設設置了三個虛擬交換機:vmnet0(橋接)、vmnet1(僅主機)、vmnet8(NAT)。在win主機上,最多能創建20個虛擬網路。
在官方的說明文檔中,將虛擬交換機與虛擬網路等同。
- 虛擬交換機直連物理網卡,就是橋接模式。
- 虛擬交換機連接宿主機的虛擬網卡,但不連接NAT設備,就是僅主機模式。
- 虛擬交換機連接宿主機的虛擬網卡,另一端連接NAT設備和DHCP伺服器,就是NAT模式。
3. 虛擬網卡(Virtual NIC)
虛擬網卡是宿主機上的軟體實體(vmnet1、vmnet8等),僅負責虛擬交換機和宿主機之間的數據傳輸。每一個虛擬網路,都會有一個對應的虛擬網卡。
4. 虛擬DHCP伺服器
虛擬動態主機配置協議 (DHCP) 伺服器可在未橋接到外部網路的配置中向虛擬機提供 IP 地址。例如,虛擬 DHCP 伺服器可在僅主機模式和 NAT 配置中向虛擬機分配 IP 地址。
5. 虛擬NAT設備
NAT 配置中的 NAT 設備可在一個或多個虛擬機以及外部網路之間傳送網路數據,識別用於每個虛擬機的傳入數據包,並將它們發送到正確的目的地。NAT設備實際上起到了 網關 的作用。
網關又是什麼?連接不同網路的節點,負責在網路之間傳遞數據。可以是硬體設備(如路由器的介面)或者是軟體實現(虛擬介面的IP)。
虛擬網路配置(Virtual Network Configuration)
對虛擬交換機進行網路參數的設置。主要包括虛擬交換機的子網IP、子網掩碼,DNS伺服器,NAT設置,DHCP設置等。
2. 三個問題
1. 虛擬機連接宿主機
虛擬網卡用於實現虛擬機與主機之間的通信,而不是使虛擬機連接外網。它允許主機與虛擬機之間進行數據交換、文件共用等操作。禁用虛擬網卡後,虛擬機仍能訪問外網,但宿主機無法遠程連接虛擬機。
2. 虛擬機連接外網
只有連接上宿主機的物理網卡,虛擬機才能訪問外網。僅主機模式僅僅連接了虛擬網卡,因此無法訪問外網。
要設置NAT或橋接模式下的虛擬網路,根據子網IP、子網掩碼、NAT設置的網關、DHCP的IP地址範圍去配置虛擬機網卡信息,才能訪問外網。
3. 虛擬機連接其他虛擬機
虛擬網路適配器連接到虛擬交換機,使得多個虛擬機之間可以相互通信,形成虛擬區域網(VLAN)。
3. 三種網路連接方式
VMware虛擬機提供了三種網路連接方式,分別為:
- 橋接模式(Bridged mode):將虛擬機直接連接到外部網路。
- 網路地址轉換(NAT)模式:虛擬機共用主機的IP地址。
- 僅主機(Host-only)模式:在專用(私有)網路內連接虛擬機。
1. 橋接模式(Bridged mode)
虛擬交換機與物理網卡連接,使虛擬機成為該網路中的一個獨立節點。在這種模式下,虛擬機可以直接與宿主機、其他虛擬機以及物理網路中的其他設備進行通信。
但實際上,儘管虛擬機擁有獨立的IP地址,它與外網通信的數據仍要經過主機物理網卡轉發(廢話)。
- 允許虛擬機直接連接到宿主機所在的物理網路。
- 在橋接模式下,虛擬機表現得就像是連接到該網路的另一臺獨立的物理電腦。
- 虛擬機將獲得與宿主機相同網路段的IP地址。這個地址通常由DHCP動態獲取,也可以手動設置。
- 橋接模式適用於需要與物理網路中的其他設備進行廣泛交互的虛擬機。
橋接模式的工作原理
-
虛擬網路交換機與宿主機上的物理網路適配器(如乙太網卡或Wi-Fi適配器)建立橋接連接。
-
當虛擬機發送數據包時,數據包首先到達虛擬網路適配器。然後,虛擬網路適配器將數據包發送到與之橋接的物理網路適配器。這樣,數據包就能直接進入宿主機所在的物理網路。
-
在物理網路上,虛擬機的數據包與宿主機或其他物理設備的數據包沒有區別。因此,虛擬機可以與其他設備通信,就像它是直接連接到物理網路的一臺獨立電腦一樣。
-
當物理網路上的設備向虛擬機發送數據包時,數據包會通過物理網路適配器和虛擬網路適配器到達虛擬機。
2. 網路地址轉換(NAT)模式
在NAT模式下,虛擬機的虛擬網路適配器通過虛擬交換機與宿主機的虛擬網卡(例如vmnet8)連接在一個虛擬網路上。同時,虛擬NAT設備與宿主機物理網卡相連,這才是虛擬機訪問外網的憑藉。
虛擬機的網路請求將被髮送到虛擬NAT設備,然後再由宿主機代轉到外部網路。同樣,外部網路的響應將通過宿主機的NAT設備返回到虛擬機。
虛擬機無法直接與物理網路中的其他設備通信,而只能通過宿主機進行通信。NAT模式適用於需要與外部網路通信,但不需要成為物理網路中獨立節點的虛擬機。
NAT模式的工作原理
NAT模式(Network Address Translation)的技術原理就是網路地址轉換。在虛擬機的上下文中,NAT模式允許虛擬機與宿主機共用同一個網路連接,以便訪問外部網路(如互聯網)。這是通過在宿主機上創建一個虛擬網路適配器和一個虛擬路由器來實現的。
- 虛擬機發送數據包時,數據包的源IP地址是虛擬機的內部IP地址。
- 數據包到達虛擬NAT設別時,數據包的源IP地址更改為宿主機的外部IP地址。這就是所謂的“網路地址轉換”過程。然後已轉換地址的數據包被髮送到外部網路。
- 當外部網路上的伺服器響應數據包時,數據包的目標IP地址是宿主機的外部IP地址。外網無法訪問虛擬機,也根本意識不到有這樣一臺虛擬機。
- 虛擬NAT收到響應數據包後,會根據之前建立的地址轉換記錄將目標IP地址更改為虛擬機的內部IP地址,然後將響應數據包發送回虛擬機。
通過這種方式,虛擬機可以與宿主機共用相同的外部網路連接,同時保持獨立的內部IP地址。這使得虛擬機可以訪問互聯網,同時與宿主機的網路環境保持隔離。NAT模式適用於大多數常見的網路場景,如連接到家庭或企業網路,或連接到公共Wi-Fi熱點。
3. 僅主機(Host-only)模式
主機僅模式允許虛擬機僅與宿主機進行通信,而不能與外部網路或其他設備進行通信,其實就是NAT模式去除了虛擬NAT設備。
這種模式為虛擬機創建了一個與外部網路完全隔離的私有網路。主機僅模式適用於需要與宿主機進行通信,但不需要訪問外部網路的虛擬機,如用於測試和開發的虛擬環境。
4. 配置網路連接的步驟
1. 打開VMware Workstation
選擇要配置網路的虛擬機。確保虛擬機處於關閉狀態,因為無法在運行狀態下更改網路設置。
2. 選擇虛擬網路適配器的模式
在虛擬機菜單中選擇"設置"(Settings)。
選擇左側的"網路適配器"(Network Adapter)。在"網路適配器"設置區域,可以看到三種網路連接方式的選項:
-
橋接模式(Bridged):選擇"橋接模式",然後選擇"複製物理網路連接狀態"。
-
NAT模式:選擇"NAT:與宿主機網路共用IP地址"。
-
主機僅模式(Host-only):選擇"僅主機:與宿主機之間的專用網路"。
-
自定義模式:自己創建並配置虛擬交換機。對於每一個虛擬交換機,VMware都為主機創建了一個對應的虛擬網卡,網卡與交換機的標識符是一樣的(vmnet1、vmnet2等)。
如果需要配置虛擬網路的高級設置,可以點擊"網路適配器"設置區域下方的"高級..."按鈕。在這裡,可以配置MAC地址、帶寬限制等高級設置。
3. 配置虛擬交換機
橋接模式的配置很簡單,僅主機模式就是去除NAT設備的NAT模式,下麵詳細介紹NAT模式的配置。註意:NAT網路只能創建一個。
虛擬交換機的配置,與宿主機的物理網卡的IP地址並沒有關係。
點擊“編輯->虛擬網路編輯器”,在這裡設置與宿主機虛擬網卡相連的虛擬交換機(虛擬網路)的信息,比如子網IP、NAT網關等。
首先配置虛擬網路的子網IP和子網掩碼,然後點擊NAT設置,設置虛擬NAT設備的網關,配置完成。
查看DHCP設置,在這裡可以設置DHCP動態IP地址分配的相關信息。
4. 配置宿主機虛擬網卡
在“控制面板->網路和共用中心->更改適配器設置”,查看主機所有網卡。
也可以使用批處理文件快速打開。
start ncpa.cpl
找到對應的虛擬網卡,右鍵“屬性”,點擊“Internet協議版本4”,配置虛擬網卡的IP、子網掩碼、預設網關等。這個預設網關只需要是虛擬網路內的就行,也可以填寫NAT的網關。
5. 虛擬機網路配置
運行虛擬機,輸入ifconfig
查看本機網卡和IP地址等信息。配置使之位於虛擬網路中。
首先關閉網卡。
sudo ifconfig eth0 down
打開/etc/networking/interfaces,配置靜態IP地址。註意預設網關要配置NAT的網關。
設置DNS,修改/etc/resolv.conf,設置DNS伺服器IP地址。這裡填寫NAT網關即可。
nameserver 192.168.99.10
重啟網卡。
/etc/init.d/networking restart
或者
sudo systemctl restart NetworkManager.service
選其一即可
6. 驗證
至此大功告成。嘗試主機和虛擬機互ping,以及虛擬機ping百度。如果主機ping虛擬機能ping通,但虛擬機ping主機ping不通,通常是防火牆未關閉的原因。
連接手機熱點,哪種虛擬機網路連接方式比較合適?
使用NAT模式和橋接模式都可以。
當主機連接到手機熱點時,手機熱點充當路由器併為主機分配一個內網IP地址。使用NAT模式時,虛擬NAT設備為虛擬機分配一個與主機不同子網的內網IP地址。NAT設備會負責在主機和虛擬機之間進行地址轉換,使它們可以通過手機熱點上的互聯網連接進行通信。
橋接模式需要虛擬機直接連接到物理網路。在連接到手機熱點的情況下,上級路由會為虛擬機分配一個與主機相同子網的IP地址。(有時也會拒絕分配,比如需要賬號驗證時。)
主機僅(Host-only)模式不適用於此情況,因為它僅允許虛擬機與宿主機進行通信,而不能訪問外部網路(如互聯網)。
最後祝你,身體健康。