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
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...