JAVA:VMWare虚拟机-理解Linux的三种网络配置(1)

ops/2024/12/22 19:58:27/

背景:VMware是虚拟软件。它可以模拟具备硬件功能、完全隔离的环境。

          问题: VMware模拟Linux环境时,Linux有三种网络配置,VMware如何三选一

          答案:首先理解 Linux的三种网络配置

1. 桥接模式(Bridged Mode)

  • 通俗解释:桥接模式就像是把虚拟机直接接入到跟宿主机相同的局域网中,虚拟机和宿主机就像是两台独立的电脑,它们可以获得相同局域网的IP地址,也可以和局域网内的其他设备互相通信。
  • 网络特点:虚拟机相当于接入到与宿主机相同的网络,能直接访问外网,局域网中的其他设备也能看到虚拟机。

起因:桥接模式(Bridged Mode):网络对等访问的需求

  • 起因:当虚拟机被广泛使用时,有许多情况下,虚拟机需要和外界进行直接、对等的通信。例如,在开发和测试环境中,虚拟机需要像一台真实的物理机器一样,和局域网中的其他设备、服务器进行交互,并且访问互联网。
  • 需求:用户需要虚拟机有独立的IP地址(尽管它是虚拟的,也能有自己的IP),并在局域网中像普通计算机一样工作,能够被其他设备识别,进行直接的网络通信。这种需求推动了桥接模式的研发,使虚拟机像局域网中的一台真实机器。

举例子: 桥接模式(Bridged Mode) - 邻居都能看到你

  • 生活场景:假设你住在一个小区,你的虚拟机相当于这个小区里的一个住户,和你的电脑(宿主机)一起生活在小区中。无论是你的小区保安(局域网中的其他设备)还是外面的世界(互联网),都能看到你,可以和你互动、通信。
  • 网络特点:在桥接模式下,虚拟机就像和宿主机住在同一个房子里,连接到相同的WiFi网络,能访问外网,小区里的其他住户也能找到并联系你。

实际场景:桥接模式(Bridged Mode)—— 公司办公室里的会议室场景

  • 时代背景:2000年代,互联网迅速普及,企业开始在局域网内使用多台设备进行办公。需要每一台电脑都能相互通信,共享文件,并通过局域网访问外部服务器和互联网。
  • 场景:想象一下,你在一个公司会议室中有几台电脑,所有人都在准备开会。每台电脑都有自己的网线连接到公司的网络,方便进行内部文件共享或访问公司服务器。同时,所有电脑也能直接访问互联网查找资料。此时,每台电脑都有自己的IP地址,可以被其他电脑发现和通信。桥接模式的虚拟机类似于这些会议室里的电脑,它们都直接连接到同一个网络(如公司局域网),并有独立的IP地址,能够互相发现、交流,还能访问互联网。
  • 问题逻辑:桥接模式下,虚拟机获得独立的IP,像真实电脑一样接入网络,方便与局域网内其他设备通信和访问互联网。

2. NAT模式(Network Address Translation)

  • 通俗解释:NAT模式有点像虚拟机通过宿主机上网。宿主机相当于虚拟机的“路由器”,虚拟机自己并不直接连接到外网,而是通过宿主机“转发”请求出去。
  • 网络特点:虚拟机可以访问外网,但局域网内的其他设备无法直接访问虚拟机,虚拟机的IP地址是宿主机内部分配的,不是局域网内的IP。

起因:NAT模式(Network Address Translation):IP地址节省和网络安全

  • 起因:虚拟机虽然可以获得独立的IP,但在一些情况下,不需要让虚拟机对外界完全可见。例如,在家庭网络中,设备数量有限,不希望每个虚拟机都消耗一个独立的IP地址。此外,直接暴露虚拟机的IP地址,可能存在安全风险。
  • 需求:为了节省IP资源和提高安全性,NAT模式应运而生。虚拟机通过宿主机的IP地址与外界通信,外界看不到虚拟机,且虚拟机不需要占用局域网中的独立IP。这种模式特别适合希望虚拟机访问互联网但无需直接暴露的场景。

举例子:NAT模式(Network Address Translation) - 你通过家人上网

  • 生活场景:你(虚拟机)住在一个大院子里,但你不能直接出去上网。你家有个家长(宿主机),你得通过家长帮你连接互联网。外面的人不知道你是谁,只知道你家长是谁,你对外的一切操作都需要通过家长来“翻译”或“转发”。
  • 网络特点:在NAT模式下,虚拟机通过宿主机(家长)上网,虚拟机自己无法直接连接到外网,而是由宿主机代替它去与外界通信。外网看不到虚拟机,只能看到宿主机。

实际场景:NAT模式(Network Address Translation)—— 家庭中的路由器共享场景

  • 时代背景:2010年代,随着家庭宽带普及,越来越多的设备需要接入互联网,但一个家庭的宽带运营商通常只提供一个公网IP。为了让所有设备同时上网,路由器承担了NAT(网络地址转换)的功能,使所有设备通过一个公网IP访问外网。
  • 场景:你家里有多台设备——电脑、手机、电视等,但你家里的宽带只分配了一个外网IP。路由器通过NAT模式,把你家里的这些设备都连接到一个私有的内网,设备之间可以互相通信,但对外只展示路由器的一个公网IP。因此,外部的互联网只能看到你的路由器,而无法直接访问每台设备的具体IP。类似的,NAT模式下的虚拟机通过宿主机的IP地址与外网通信,对外网来说,它看不到虚拟机的存在。举例子:如果你偷偷连了别人的WIFI,别人只能看到WIFI的位置,但定位不到你在哪个角落里连WIFI。如果你用手机流量上网,别人能定位到你的具体位置。
  • 问题逻辑:NAT模式利用宿主机的IP地址与外网通信,节省IP地址,同时提高安全性。外界只能看到宿主机,不能直接访问虚拟机。

3. 仅主机模式(Host-Only Mode)

  • 通俗解释:仅主机模式就是虚拟机和宿主机之间可以互相通信,但它们与外界隔离,无法连接到外网或局域网。就好像两台设备用一根专用的网线互相连接,不能接触到外面的世界。
  • 网络特点:虚拟机只能和宿主机通信,不能访问外网,其他设备也看不到虚拟机。

起因:仅主机模式(Host-Only Mode):隔离环境和安全性

  • 起因:有时,虚拟机需要被完全隔离,特别是在某些开发、测试、实验环境中,用户希望虚拟机和外界断开连接,以避免安全风险或外界干扰。
  • 需求:研发人员希望虚拟机在与宿主机通信时不暴露给外网,并且不访问外网。这对于需要创建安全的测试环境或隔离网络中的敏感系统至关重要。因此,仅主机模式满足了这一需求,确保虚拟机和外界隔离,仅与宿主机通信。

举例子:仅主机模式(Host-Only Mode) - 独立小空间,只能和家里人说话

  • 生活场景:你和家人住在一个完全隔离的房子里,和外界完全断开联系。你们可以在家里(虚拟机和宿主机)互相交谈、交流,但不能跟外面的人说话,也无法上网。
  • 网络特点:仅主机模式就像你在一个封闭的环境里,虚拟机只能和宿主机通信,外网或局域网中的其他设备无法看到虚拟机,虚拟机也无法访问互联网。

实际场景:仅主机模式(Host-Only Mode)—— 学校中的实验室隔离场景

  • 时代背景:2020年代,网络安全和隐私越来越重要,许多公司或机构在开发或测试阶段,需要隔离网络,防止外部干扰或数据泄露。特别是在教育和科研领域,很多实验室需要一个与外界隔离的环境。
  • 场景:你在学校的计算机实验室里,老师要求你们在一个安全的隔离环境中做实验,不能上网,也不能和外界通信。你和实验室里的其他同学可以通过局域网互相发送数据,讨论实验进展,但你们不能访问外网,这样可以保证实验的安全性,不会泄露数据或受到外部干扰。仅主机模式类似这种场景,虚拟机只能和宿主机及其他虚拟机通信,无法访问外部网络。
  • 问题逻辑:仅主机模式将虚拟机与外界隔离,虚拟机只能与宿主机和其他虚拟机通信,提供了一个安全的测试或开发环境。

总结:

  • 桥接模式:虚拟机和宿主机都在同一个局域网中,像两台独立的电脑,虚拟机能访问外网。
  • NAT模式:虚拟机通过宿主机上网,类似于宿主机做“网关”。
  • 仅主机模式:虚拟机只能跟宿主机通信,不能访问外网,其他设备也看不到它。

http://www.ppmy.cn/ops/113458.html

相关文章

【SpringCloud】Spring Cloud 开发环境搭建与基础工程构建

目录 环境和工程搭建开发环境安装JDKJDK版本介绍JDK17安装WindowsLinux - UbuntuLinux - CentOs MySQL安装UbuntuCentOS 案例介绍需求服务拆分服务拆分原则服务拆分示例 数据准备工程搭建构建父子工程创建父工程DependencyManagement 和 DependenciesSpring Cloud版本 创建子项…

Python语言学习-pandas库学习

一、什么是Pandas库 Pandas是python的第三方库,他用于灵活的数据操作,数据可视化,数据清洗,数据的聚合和转换,数据的可视化 二、安装pandas库 在终端中运行 pip install pandas 导入Pandas库并重命名为pd import …

【磨皮美白】基于Matlab的人像磨皮美白处理算法,Matlab处理

博主简介:matlab图像代码项目合作(扣扣:3249726188) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 本次案例是基于Matlab的图像磨皮美白处理,用matlab实现。 一、案例背景和算法介绍 …

Go中如何找到哪里依赖了某个module,如何找到所有module的最大GoVersion

如何找到哪里依赖了某个module 举例:如何找到哪个模块依赖了 github.com/Shopify/toxiproxy? 你可以使用以下方法查找 github.com/Shopify/toxiproxy 是通过哪个依赖模块引入的: 1. 使用 go mod graph go mod graph 命令可以输出模块的依…

AV1 Bitstream Decoding Process Specification--[7]: 语法结构语义-3

原文地址:https://aomediacodec.github.io/av1-spec/av1-spec.pdf 没有梯子的下载地址:AV1 Bitstream & Decoding Process Specification摘要:这份文档定义了开放媒体联盟(Alliance for Open Media)AV1视频编解码…

使用docker创建zabbix服务器

首先保证服务器已正常安装docker,然后执行下面这几个容器创建命令: #创建MySQL容器 docker run --name mysql-server -t --restartunless-stopped -e MYSQL_DATABASE"zabbix" -e MYSQL_USER"zabbix" -e MYSQL_PASSWORD"zabbix_…

Ajax 使用流程详解

一、Ajax 使用流程 创建一个 HTML 文件&#xff0c;设置页面的基本结构和引入必要的资源。 <!DOCTYPE html><html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, ini…

基于JavaWeb开发的java+Springboot操作系统教学交流平台详细设计实现

基于JavaWeb开发的javaSpringbootmybatislayui的装修验收管理系统设计和实现 &#x1f345; 作者主页 网顺技术团队 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; &#x1f345; 文末获取源码联系方式 &#x1f4dd; &#x1f345; 查看下方微信号获取联系…