VMware三種網路模式詳解

来源:https://www.cnblogs.com/liugp/archive/2022/06/24/16410259.html
-Advertisement-
Play Games

一、簡介 vmware為我們提供了三種網路工作模式,它們分別是:Bridged(橋接模式)、NAT(網路地址轉換模式)、Host-Only(僅主機模式)。 查看網路連接 打開vmware虛擬機,我們可以在選項欄的“編輯”->“虛擬網路編輯器”中看到VMnet0(橋接模式)、VMnet1(僅主機模式) ...


目錄

一、簡介

vmware為我們提供了三種網路工作模式,它們分別是:Bridged(橋接模式)、NAT(網路地址轉換模式)、Host-Only(僅主機模式)。

查看網路連接

打開vmware虛擬機,我們可以在選項欄的“編輯”->“虛擬網路編輯器”中看到VMnet0(橋接模式)、VMnet1(僅主機模式)、VMnet8(NAT模式)
其實,我們現在看到的VMnet0表示的是用於橋接模式下的虛擬交換機VMnet1表示的是用於僅主機模式(host-only)下的虛擬交換機;VMnet8表示的是用於NAT模式下的虛擬交換機。

二、Bridged(橋接模式)

什麼是橋接模式?橋接模式就是將主機網卡與虛擬機虛擬的網卡利用虛擬網橋進行通信。在橋接的作用下,類似於把物理主機虛擬為一個交換機,所有橋接設置的虛擬機連接到這個交換機的一個介面上,物理主機也同樣插在這個交換機當中,所以所有橋接下的網卡與網卡都是交換模式的,相互可以訪問而不幹擾。在橋接模式下,虛擬機ip地址需要與主機在同一個網段,如果需要聯網,則網關與DNS需要與主機網卡一致。其網路結構如下圖所示:

接下來,我們就來實際操作,如何設置橋接模式?

1)首先,安裝完系統之後,在開啟系統之前,右擊所選虛擬機-》”設置“-》”虛擬設置”來設置網卡模式。

2) 橋接網卡“編輯”-》“虛擬網路編輯器”-》“更改設置”,設置完後【確認】就行了

【註意】這裡需要註意一點的就是虛擬交換機必須橋接到本機電腦使用的網卡,不要選自動,要不然很容易橋接到其它網卡上導致上不了網。還有就是配置虛擬機網卡時虛擬機的ip跟本機同一個網段,網關一樣。

3)查看本機ip,dhcp,dns和網關ipconfig /all

4)配置ifcfg-ens33網卡配置文件

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
IPV6_PRIVACY="no"
HWADDR=00:0C:29:8D:D0:91
IPADDR=192.168.0.100
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=8.8.8.8

HWADDR地址查找,選擇虛擬機右擊選擇【設置】

5)重啟網卡使配置文件生效
Centos7:

systemctl restart network

Centos8:

nmcli c reload /etc/sysconfig/network-scripts/ifcfg-ens33 # 我驗證不行
nmcli networking off && nmcli networking on # 驗證可行,其它命令自行驗證
ifdown ens33 && ifup ens33 # 驗證可行,其它命令自行驗證
nmcli con down ens33 && nmcli con up ens33
systemctl restart NetworkManager

6)最後在虛擬機中配置好ip和dns,ping驗證是否能聯網

橋接模式配置簡單,但如果你的網路環境是ip資源很缺少或對ip管理比較嚴格的話,那橋接模式就不太適用了。如果真是這種情況的話,我們該如何解決呢?接下來,我們就來認識vmware的另一種網路模式:NAT模式。

三、NAT(地址轉換模式)

剛剛我們說到,如果你的網路ip資源緊缺,但是你又希望你的虛擬機能夠聯網,這時候NAT模式是最好的選擇。NAT模式藉助虛擬NAT設備和虛擬DHCP伺服器,使得虛擬機可以聯網。其網路結構如下圖所示:

實際操作

1)首先,安裝完系統之後,在開啟系統之前,右擊所選虛擬機-》”設置“-》”虛擬設置”來設置網卡模式。

2)查看/設置虛擬網卡適配器的ip,DHCP,網關;【編輯】-》【虛擬網路編輯器】-》【更改設置】

3)NAT設置

4)DHCP設置

5)網卡ifcfg-ens33配置如下

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
IPV6_PRIVACY="no"
HWADDR=00:0C:29:8D:D0:91
IPADDR=192.168.182.150
NETMASK=255.255.255.0
GATEWAY=192.168.182.2
DNS1=8.8.8.8

HWADDR地址也一樣像上面那樣查找
6)重啟網卡使配置文件生效
Centos7:

systemctl restart network

Centos8:

nmcli c reload /etc/sysconfig/network-scripts/ifcfg-ens33 # 我驗證不行
nmcli networking off && nmcli networking on # 驗證可行,其它命令自行驗證
ifdown ens33 && ifup ens33 # 驗證可行,其它命令自行驗證
nmcli con down ens33 && nmcli con up ens33
systemctl restart NetworkManager

7)設置虛擬機網卡配置,ping驗證。

那麼,這就是NAT模式,利用虛擬的NAT設備以及虛擬DHCP伺服器來使虛擬機連接外網,而VMware Network Adapter VMnet8虛擬網卡是用來與虛擬機通信的。

四、Host-Only(僅主機模式)

Host-Only模式其實就是NAT模式去除了虛擬NAT設備,然後使用VMware Network Adapter VMnet1虛擬網卡連接VMnet1虛擬交換機來與虛擬機通信的,Host-Only模式將虛擬機與外網隔開,使得虛擬機成為一個獨立的系統,只與主機相互通訊。其網路結構如下圖所示:

實際操作

1)首先,安裝完系統之後,在開啟系統之前,右擊所選虛擬機-》”設置“-》”虛擬設置”來設置網卡模式。

2)查看/設置虛擬網卡適配器的ip,DHCP;【編輯】-》【虛擬網路編輯器】-》【更改設置】

3)DHCP設置

3)設置虛擬機的網卡配置,本機ping虛擬機驗證。在虛擬機裡面ping外網不同。

在本機ping虛擬機,能ping通

4)host-only模式如果要使得虛擬機能聯網,我們可以將主機網卡共用給VMware Network Adapter VMnet1網卡,從而達到虛擬機聯網的目的。接下來,我們就來測試一下。

  • 查看ip,可以看到LAN適配器被設置成使用的ip地址:192.168.137.1

  • 那麼接下來,我們就要將虛擬機的DHCP的子網和起始地址進行修改,點擊【編輯】-》【虛擬網路編輯器】-》【更改設置】,修改DHCP和子網ip。

  • 網卡配置ifcfg-ens33如下
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="9218c235-231d-41ea-80ef-537473ec07e6"
DEVICE="ens33"
ONBOOT="yes"
IPV6_PRIVACY="no"
IPADDR=192.168.137.229
NETMASK=255.255.255.0
GATEWAY=192.168.137.1
DNS1=8.8.8.8
  • 重啟網卡是配置文件生效
    Centos7:
systemctl restart network

Centos8:

nmcli c reload /etc/sysconfig/network-scripts/ifcfg-ens33 # 我驗證不行
nmcli networking off && nmcli networking on # 驗證可行,其它命令自行驗證
ifdown ens33 && ifup ens33 # 驗證可行,其它命令自行驗證
nmcli con down ens33 && nmcli con up ens33
systemctl restart NetworkManager
  • ping外網驗證OK。


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

-Advertisement-
Play Games
更多相關文章
  • 作為SpringData JPA系列內容的第二篇,此處以SpringBoot項目為基準,講一下集成SpringData JPA的相關要點,帶你快速的上手SpringData JPA,並用實例演示常見的DB操作場景,讓你分分鐘輕鬆玩轉JPA。 ...
  • 前言 不知道大家在工作無聊時,有沒有一種衝動:總想掏出手機,看看微博熱搜在討論什麼有趣的話題,但又不方便直接打開微博瀏 覽,今天就和大家分享一個有趣的小爬蟲,定時採集微博熱搜榜&熱評,下麵讓我們來看看具體的實現方法。 頁面分析 熱搜頁 熱榜首頁:https://s.weibo.com/top/sum ...
  • Zookeeper3.7源碼剖析 能力目標 能基於Maven導入最新版Zookeeper源碼 能說出Zookeeper單機啟動流程 理解Zookeeper預設通信中4個線程的作用 掌握Zookeeper業務處理源碼處理流程 能夠在Zookeeper源碼中Debug測試通信過程 1 Zookeeper ...
  • 系列文章彙總 前言: 最近看到ABP官網的一本電子書,感覺寫的很好,翻譯出來,一起學習下 Implementing Domain Driven Design 實現領域驅動設計 - 使用ABP框架 - 什麼是領域驅動設計? 實現領域驅動設計 - 使用ABP框架 - 解決方案概覽 實現領域驅動設計 - ...
  • 應用程式服務 應用程式服務是一種無狀態的服務,它實現應用程式的用例。應用程式服務通常獲取和返回dto。它由表示層使用。它使用並協調領域對象(實體、存儲庫等)來實現用例 應用程式服務的常見原則如下: 實現特定於當前用例的應用程式邏輯。不要在應用程式服務內部實現核心領域邏輯。我們將回到應用程式領域邏輯之 ...
  • 提示:文章寫完後,目錄可以自動生成,如何生成可參考右邊的幫助文檔 @(MstnVBA學習--Vol1.代碼畫點線--20220623) 前言 2022年6月23日,小白筆記,複習之前的MstnVBA代碼,因為目前還做不到完全自己背誦或編寫出來,雖然簡單,溫故知新~ Mstn中沒有單獨的圓的概念,圓實 ...
  • DevExpress提供了一個比較強大的圖形繪製工具,可以用於繪製各種圖形,如流程圖、組織機構圖等等,本篇隨筆介紹XtraDiagram.DiagramControl的使用,以及利用代碼對其屬性進行控制,以及利用圖形模具的自定義操作,實現一些簡單流程圖形的繪製和處理。 ...
  • 欄位的許可權控制,一般就是控制對應角色人員對某個業務對象的一些敏感欄位的可訪問性:包括可見、可編輯性等處理。本篇隨筆結合基於SqlSugar的開發框架進行的欄位控制管理介紹。 ...
一周排行
    -Advertisement-
    Play Games
  • 1.1 關於C# C#只是一種簡單安全的新型面向對象語言,繼承了C的語法風格和C++的面向對象特性,不再提供對指針類型的支持(因此程式不可隨便訪問記憶體地址空間)、不再支持多重繼承; C#的誕生意義是生成面向.NET Framework環境的代碼,身為編程語言的一種,它作為開發工具而存在,本身並不是. ...
  • 往一張產品圖片上,加兩個小標簽,Demo實現最好的效果 素材例圖與最終效果如下: 具體實現的代碼如下: 添加引用: using System.Drawing; using System.Drawing.Drawing2D; 註意:如果添加命名空間沒效果,加一下Nuget包 System.Drawin ...
  • 前置要求:有百度賬號,實名認證以及開發者認證,創建應用並獲取到關鍵憑證:Appid、Appkey、Secretkeyk和Signkey 平臺上入門十分清楚,直接對著逐步操作即可,個人開發者審核也很快 百度網盤開放平臺地址如下:https://pan.baidu.com/union/doc/nksg0 ...
  • 使用方法 安裝 Maven <dependency> <groupId>com.github.yulichang</groupId> <artifactId>mybatis-plus-join</artifactId> <version>1.2.4</version> </dependency> G ...
  • 數字常量 int: 一般的整數, long: 長整型,2.x版本需在數字後加 “L” 或 “l” ,表示長整型 如 100000000L; python3.x 版本後不分長整型,統一為int,不可加 “L” 或 “l” float: 浮點數,1.0 也為浮點數,float 可強制轉換為 int,取整 ...
  • if __name__ == "__main__" 也就是說執行當前文件,不調用模塊的時候__name__=__main__ 調用模塊的時候,測試如下: 1、新建 test01.py 文件測試代碼如下 print("這條消息來自test01") def func(): print('hello, w ...
  • 一.scoket基本介紹 1.scoket簡介(以下是來自chatgpt回答) 1)Socket(套接字)是電腦網路中用於描述主機之間通信的一種機制。它定義了一種標準的介面, 使得應用程式可以利用網路傳輸層提供的服務(如TCP或UDP)進行通信。 2)Socket的作用是在網路應用程式之間提供數據 ...
  • 一、函數的定義 可以分為以下兩種: 1、函數聲明和函數定義分離 這種方法將函數聲明和函數定義分開,通常在頭文件中先聲明函數原型,然後在源文件中實現函數定義。 例如,頭文件 example.h 中聲明瞭一個函數 add: #ifndef EXAMPLE_H #define EXAMPLE_H int ...
  • 一 回顧trait使用 https://blog.csdn.net/bushuwei/article/details/103514174發現之前本人說明很模糊,自己居然不知道為什麼其實這裡的$c,就是class B再次回顧邏輯 二 分析 self和static區別說的沒毛病 Trait基類use t ...
  • 一、延遲計算 RDD 代表的是分散式數據形態,因此,RDD 到 RDD 之間的轉換,本質上是數據形態上的轉換(Transformations) 在 RDD 的編程模型中,一共有兩種運算元,Transformations 類運算元和 Actions 類運算元。開發者需要使用 Transformations ...