VMware虛擬機聯網詳述

来源:https://www.cnblogs.com/zeroy610/archive/2023/05/22/17421444.html
-Advertisement-
Play Games

# 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動態獲取,也可以手動設置。
  • 橋接模式適用於需要與物理網路中的其他設備進行廣泛交互的虛擬機。

橋接模式的工作原理

  1. 虛擬網路交換機與宿主機上的物理網路適配器(如乙太網卡或Wi-Fi適配器)建立橋接連接。

  2. 當虛擬機發送數據包時,數據包首先到達虛擬網路適配器。然後,虛擬網路適配器將數據包發送到與之橋接的物理網路適配器。這樣,數據包就能直接進入宿主機所在的物理網路。

  3. 在物理網路上,虛擬機的數據包與宿主機或其他物理設備的數據包沒有區別。因此,虛擬機可以與其他設備通信,就像它是直接連接到物理網路的一臺獨立電腦一樣。

  4. 當物理網路上的設備向虛擬機發送數據包時,數據包會通過物理網路適配器和虛擬網路適配器到達虛擬機。

2. 網路地址轉換(NAT)模式

在NAT模式下,虛擬機的虛擬網路適配器通過虛擬交換機與宿主機的虛擬網卡(例如vmnet8)連接在一個虛擬網路上。同時,虛擬NAT設備與宿主機物理網卡相連,這才是虛擬機訪問外網的憑藉。

虛擬機的網路請求將被髮送到虛擬NAT設備,然後再由宿主機代轉到外部網路。同樣,外部網路的響應將通過宿主機的NAT設備返回到虛擬機。

虛擬機無法直接與物理網路中的其他設備通信,而只能通過宿主機進行通信。NAT模式適用於需要與外部網路通信,但不需要成為物理網路中獨立節點的虛擬機。

NAT模式的工作原理

NAT模式(Network Address Translation)的技術原理就是網路地址轉換。在虛擬機的上下文中,NAT模式允許虛擬機與宿主機共用同一個網路連接,以便訪問外部網路(如互聯網)。這是通過在宿主機上創建一個虛擬網路適配器和一個虛擬路由器來實現的。

  1. 虛擬機發送數據包時,數據包的源IP地址是虛擬機的內部IP地址。
  2. 數據包到達虛擬NAT設別時,數據包的源IP地址更改為宿主機的外部IP地址。這就是所謂的“網路地址轉換”過程。然後已轉換地址的數據包被髮送到外部網路。
  3. 當外部網路上的伺服器響應數據包時,數據包的目標IP地址是宿主機的外部IP地址。外網無法訪問虛擬機,也根本意識不到有這樣一臺虛擬機。
  4. 虛擬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)模式不適用於此情況,因為它僅允許虛擬機與宿主機進行通信,而不能訪問外部網路(如互聯網)。

最後祝你,身體健康。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Django是一個高級的Python Web框架,它鼓勵快速開發和乾凈、實用的設計。 Django遵循MVC(模型-視圖-控制器)設計模式,使得開發者能夠更輕鬆地組織代碼和實現功能。以下是Django框架的一些主要組件: 1.**模型(Model)** :模型是數據的抽象表示,用於定義數據結構。在D ...
  • ## 1. 安裝Django 在命令行中輸入以下命令安裝Django ```shell pip install django ``` ## 2. 創建Django項目 在命令行中輸入以下命令創建一個名為myblog的Django項目 ```shell django-admin startprojec ...
  • 本章將和大家分享C#中如何通過遞歸獲取所有的子分類。廢話不多說,我們直接來看一下Demo,如下所示: 遞歸寫法如下: using System; using System.Collections.Generic; using System.Linq; namespace RecursionDemo ...
  • # 在Winform中一分鐘入門使用好看性能還好的Blazor Hybrid ## 安裝模板 ```shell dotnet new install Masa.Template::1.0.0-rc.2 ``` ## 創建 Winform的Blazor Hybrid項目 ```shell dotnet ...
  • #### 開源項目地址:https://gitee.com/easyxaf/excel-importer ### 前言 在XAF中有Excel導出,但沒有Excel導入,一開始不理解,難道Excel導入很難實現嗎,當我自己去實現Excel導入功能時,才發現難的不是技術,而是要有足夠的靈活性,在不同的 ...
  • 🥑本篇為學習博客園大佬聖殿騎士的《WPF基礎到企業應用系列》以及部分DotNet菜園的《WPF入門教程系列》所作筆記,對應聖殿騎士《WPF基礎到企業應用系列》第 1 - 6 章之間內容,包括 WPF 項目結構、程式的啟動和關閉、程式的生命周期、繼承關係以及常見的佈局控制項及其應用。文章有問題的話歡迎... ...
  • 文章代碼分析基於linux-5.19.13,架構基於aarch64(ARM64)。 涉及頁表代碼分析部分: (1)假設頁表映射層級是4,即配置CONFIG_ARM64_PGTABLE_LEVELS=4; (2)虛擬地址寬度是48,即配置CONFIG_ARM64_VA_BITS=48; (3)物理地址 ...
  • ​1、前言 在STM32之前,都是老大頭51,帶著它的“小弟們” MSP430、AVR、PIC在單片機界呼風喚雨。那個時候,市場上遍佈8位機,大學教材用51入門,個人、企業學單片機基本上也都在用51。 雖然AVR也有一些8位機市場,但與stc帶領下的51單片機是完全不能相比的。當然,這個時候也有16 ...
一周排行
    -Advertisement-
    Play Games
  • 前言 在我們開發過程中基本上不可或缺的用到一些敏感機密數據,比如SQL伺服器的連接串或者是OAuth2的Secret等,這些敏感數據在代碼中是不太安全的,我們不應該在源代碼中存儲密碼和其他的敏感數據,一種推薦的方式是通過Asp.Net Core的機密管理器。 機密管理器 在 ASP.NET Core ...
  • 新改進提供的Taurus Rpc 功能,可以簡化微服務間的調用,同時可以不用再手動輸出模塊名稱,或調用路徑,包括負載均衡,這一切,由框架實現並提供了。新的Taurus Rpc 功能,將使得服務間的調用,更加輕鬆、簡約、高效。 ...
  • 順序棧的介面程式 目錄順序棧的介面程式頭文件創建順序棧入棧出棧利用棧將10進位轉16進位數驗證 頭文件 #include <stdio.h> #include <stdbool.h> #include <stdlib.h> 創建順序棧 // 指的是順序棧中的元素的數據類型,用戶可以根據需要進行修改 ...
  • 前言 整理這個官方翻譯的系列,原因是網上大部分的 tomcat 版本比較舊,此版本為 v11 最新的版本。 開源項目 從零手寫實現 tomcat minicat 別稱【嗅虎】心有猛虎,輕嗅薔薇。 系列文章 web server apache tomcat11-01-官方文檔入門介紹 web serv ...
  • C總結與剖析:關鍵字篇 -- <<C語言深度解剖>> 目錄C總結與剖析:關鍵字篇 -- <<C語言深度解剖>>程式的本質:二進位文件變數1.變數:記憶體上的某個位置開闢的空間2.變數的初始化3.為什麼要有變數4.局部變數與全局變數5.變數的大小由類型決定6.任何一個變數,記憶體賦值都是從低地址開始往高地 ...
  • 如果讓你來做一個有狀態流式應用的故障恢復,你會如何來做呢? 單機和多機會遇到什麼不同的問題? Flink Checkpoint 是做什麼用的?原理是什麼? ...
  • C++ 多級繼承 多級繼承是一種面向對象編程(OOP)特性,允許一個類從多個基類繼承屬性和方法。它使代碼更易於組織和維護,並促進代碼重用。 多級繼承的語法 在 C++ 中,使用 : 符號來指定繼承關係。多級繼承的語法如下: class DerivedClass : public BaseClass1 ...
  • 前言 什麼是SpringCloud? Spring Cloud 是一系列框架的有序集合,它利用 Spring Boot 的開發便利性簡化了分散式系統的開發,比如服務註冊、服務發現、網關、路由、鏈路追蹤等。Spring Cloud 並不是重覆造輪子,而是將市面上開發得比較好的模塊集成進去,進行封裝,從 ...
  • class_template 類模板和函數模板的定義和使用類似,我們已經進行了介紹。有時,有兩個或多個類,其功能是相同的,僅僅是數據類型不同。類模板用於實現類所需數據的類型參數化 template<class NameType, class AgeType> class Person { publi ...
  • 目錄system v IPC簡介共用記憶體需要用到的函數介面shmget函數--獲取對象IDshmat函數--獲得映射空間shmctl函數--釋放資源共用記憶體實現思路註意 system v IPC簡介 消息隊列、共用記憶體和信號量統稱為system v IPC(進程間通信機制),V是羅馬數字5,是UNI ...