当前位置: 首页 > news >正文

虚拟机三种网络模式详解

  • 在电脑里开一台虚拟机,是再常见不过的操作了。无论是用虚拟机玩只有旧版本系统能运行的游戏,还是用来学习Linux、跑跑应用程序都是很好的。而这其中,虚拟机网络是绝对绕不过去的。本篇文章通俗易懂的介绍了常见的虚拟网络提供的三种网络链接模式NAT、桥接、主机。即使不懂虚拟网络,看了本篇也能成为虚拟机网络糕手糕糕手!

一:NAT( 网络地址转换)

image-20240716151837120

image-20240929213736185

工作原理/链接方式

工作原理

  • NAT模式(网络地址转换模式,Network Address Translation)允许虚拟机通过主机访问外部网络(如互联网),但外部网络无法直接访问虚拟机。其工作原理主要是通过主机充当虚拟机的“网关”来实现网络地址转换。
  1. 虚拟机的私有网络
    • 在 NAT 模式下,虚拟机会被分配一个私有 IP 地址(如 192.168.x.x 或 10.x.x.x),这个 IP 地址只能在虚拟机和主机之间有效,并且与外部网络隔离。
  2. 虚拟机请求外部网络
    • 当虚拟机需要访问外部网络(如互联网)时,它会把数据包通过虚拟网卡发送给主机。
    • 数据包的源 IP 地址是虚拟机的私有 IP 地址,而目标地址是外部网络的某个设备(例如某个网站的服务器 IP)。
  3. 主机进行 NAT 转换
    • 主机充当,NAT 路由器,将来自虚拟机的数据包进行,网络地址转换。
      • 将数据包中的源 IP 地址从虚拟机的私有 IP 地址转换为主机的公网 IP 地址。
      • 保留虚拟机的端口信息,以便将返回数据正确转发给虚拟机。
  4. 数据包发送至外部网络
    • 主机将已经替换源 IP 的数据包发送到外部网络(例如互联网)。
    • 外部服务器只看到数据包的源地址为主机的公网 IP,而不知道虚拟机的私有 IP。
  5. 外部网络响应数据
    • 外部服务器将响应数据包发送回主机的公网 IP。
    • 主机接收到响应后,使用 NAT 表将数据包中的目标 IP 地址重新转换回虚拟机的私有 IP 地址。
  6. 主机将数据包转发给虚拟机
    • 主机将响应数据包转发给对应的虚拟机,虚拟机接收到外部网络的数据包后完成通信。
  • NAT模式下,主机是虚拟的路由器,而虚拟机是一台私有网络中的机器。而既然是私有网络中的机器,那就和私有网络IP地址有关

私有网络IP地址范围

  • 10.0.0.0 - 10.255.255.255

  • 172.16.0.0 - 172.31.255.255

  • 192.168.0.0 - 192.168.255.255

其他需要注意的

  • 处于网络中的计算机,必须要在同一个子网下面才能直接通信(通过数据链路层来通信)。具体什么是子网 可以看我的另一篇博客:
  • 如果两台计算机不在同一个子网,不能通过直接的数据链路层进行数据传输。但是,它们可以通过 三层(网络层) 的设备,例如路由器,来进行通信。
    • 路由器通过网络层协议(如 IP 协议)将数据从一个子网转发到另一个子网
https://blog.csdn.net/qq_61654952/article/details/139453099

二:桥接模式(独立主机)

桥接模式允许虚拟机与主机网络以及外部网络完全独立地通信,虚拟机就像是网络中的一台独立主机,具有自己的 IP 地址。

image-20240929213748356

工作原理

1.网络连接

  • 在桥接模式下,虚拟机的网络适配器与主机的物理网卡(例如以太网适配器或无线适配器)相连接。这种连接模拟了虚拟机与局域网中的一台独立设备直接相连的情况。

2.获取 IP 地址

  • 虚拟机启动后,会通过 DHCP(动态主机配置协议)从网络中的 DHCP 服务器获取一个 独立的 IP 地址。这个 IP 地址与局域网中的其他设备位于同一子网内,确保虚拟机可以与其他设备直接通信。

3.数据链路层通信

  • 虚拟机和其他网络设备之间的通信是在数据链路层(Layer 2)进行的。虚拟机使用 MAC 地址进行识别和通信。
  • 当虚拟机发送数据包时,它会将数据包发送到主机的物理网卡。由于虚拟机的网络适配器与主机的网卡桥接,数据包将直接转发到局域网。

其他需要注意的

  • 需要确保 DHCP 服务器能够为虚拟机分配 IP,或者手动为虚拟机分配一个不与其他设备冲突的 IP 地址。
  • 桥接模式下,虚拟机和主机地位是一样的,都是主机链接的局域网中的一台机器,它可以直接访问局域网中的其他设备,如打印机、文件服务器等,也可以被其他设备直接访问。

三:主机模式(子主机)

主机模式将虚拟机完全隔离在主机的网络中,虚拟机只能与主机通信,无法访问外部网络,也无法与其他局域网设备通信。

image-20240929213717638

工作原理

1.虚拟网络适配器

  • 在主机模式下,虚拟机通过一个虚拟网络适配器与主机进行连接。这个虚拟适配器形成了一个独立的局域网,仅包含主机和虚拟机,完全隔离于外部网络。

2.IP 地址分配

  • 主机和虚拟机在这个私有网络中都有各自的 IP 地址。主机的虚拟网络适配器通常会为虚拟机分配一个私有 IP 地址(例如 192.168.x.x)。这个 IP 地址只在主机和虚拟机之间有效,外部网络无法访问。

3.数据传输

  • 当虚拟机需要与主机通信时,它通过虚拟网络适配器发送数据包。这些数据包只在主机和虚拟机之间进行转发。
  • 主机和虚拟机之间的通信是在数据链路层(Layer 2)进行的,使用 MAC 地址进行识别和处理。

其他需要注意的

  • 没有,这个模式一般也很少人用吧

在VM中打开

image-20240929214043415

image-20240929214519495

总结

虚拟机软件设置不同的网络模式,是因为有其特定的应用场景,比如

  • 桥接模式:适合需要与外部网络通信的虚拟机。
  • NAT 模式:适合需要访问外部网络,但无需外部设备访问虚拟机的情况。
  • 主机模式:适合完全隔离的虚拟环境。

img

你好,我是Qiuner. 为帮助别人少走弯路而写博客 这是我的 github https://github.com/Qiuner⭐ gitee https://gitee.com/Qiuner 🌹

如果本篇文章帮到了你 不妨点个吧~ 我会很高兴的 😄 (^ ~ ^) 。想看更多 那就点个关注吧 我会尽力带来有趣的内容 😎。

代码都在github或gitee上,如有需要可以去上面自行下载。记得给我点星星哦😍

如果你遇到了问题,自己没法解决,可以去我掘金评论区问。私信看不完,CSDN评论区可能会漏看 掘金账号 https://juejin.cn/user/1942157160101860 掘金账号

更多专栏:
  • 📊 一图读懂系列

  • 📝 一文读懂系列

  • ⚽ Uniapp

  • 🌟 持续更新

  • 🤩 Vue项目实战

  • 🚀 JavaWeb

  • 🎨 设计模式

  • 📡 计算机网络

  • 🎯 人生经验

  • 🔍 软件测试

掘金账号 CSDN账号

感谢订阅专栏 三连文章

相关文章:

虚拟机三种网络模式详解

在电脑里开一台虚拟机,是再常见不过的操作了。无论是用虚拟机玩只有旧版本系统能运行的游戏,还是用来学习Linux、跑跑应用程序都是很好的。而这其中,虚拟机网络是绝对绕不过去的。本篇文章通俗易懂的介绍了常见的虚拟网络提供的三种网络链接模…...

[leetcode]674_最长连续递增序列

给定一个未经排序的整数数组&#xff0c;找到最长且 连续递增的子序列&#xff0c;并返回该序列的长度。 连续递增的子序列 可以由两个下标 l 和 r&#xff08;l < r&#xff09;确定&#xff0c;如果对于每个 l < i < r&#xff0c;都有 nums[i] < nums[i 1] &am…...

【无人机设计与技术】四旋翼无人机,UAV仿真,轨迹跟踪PID控制

摘要 本文探讨了四旋翼无人机&#xff08;UAV&#xff09;在轨迹跟踪中的PID控制仿真方法。通过设计三轴方向的PID控制器&#xff0c;调节无人机的姿态与位置&#xff0c;使其能够准确跟踪预设轨迹。本文使用MATLAB/Simulink进行了建模与仿真&#xff0c;验证了PID控制算法在无…...

回归预测|基于卷积神经网络-支持向量机的数据回归预测Matlab程序CNN-SVM 卷积提取特征与原始特征进行融合预测

回归预测|基于卷积神经网络-支持向量机的数据回归预测Matlab程序CNN-SVM 卷积提取特征与原始特征进行融合预测 文章目录 一、基本原理原理流程总结 二、实验结果三、核心代码四、代码获取五、总结 回归预测|基于卷积神经网络-支持向量机的数据回归预测Matlab程序CNN-SVM 卷积提…...

javaScript基础知识汇总

一、基础语法 1、区分大小写&#xff1a;无论是变量、函数名还是操作符&#xff0c;都区分大小写。 2、标识符&#xff1a;就是变量、函数、属性或函数参数的名称。标识符可以由一个或多个字符构成&#xff0c;但需要满足以下条件&#xff1a; 第一个字符必须是一个字母、下…...

《动手学深度学习》笔记2.2——神经网络从基础→进阶 (参数管理-每层的权重/偏置)

目录 0. 前言 正文&#xff1a;参数管理 1. 参数访问 1.1 [目标参数] 1.2 [一次性访问所有参数] 1.3 [从嵌套块收集参数] 2. 参数初始化 2.1 [内置初始化] 2.2 [自定义初始化] 2.3 [参数绑定-共享参数] 3. 小结&#xff08;第2节&#xff09; 4. 延后初始化 (原书第…...

双端之Nginx+Php结合PostgreSQL搭建Wordpress

第一台虚拟机:安装 Nginx 更新系统包列表: sudo apt update安装 Nginx及php扩展: sudo apt install nginx php-fpm php-pgsql php-mysqli -y启动 Nginx 服务: sudo systemctl start nginx检查 Nginx 是否正常运行: xdg-open http://localhost注意:终端命令打开网址 …...

Another redis desktop manager使用说明

Another redis desktop manager使用说明 概述界面介绍图示说明连接界面设置界面查看操作日志主界面信息进入redis-cli控制台更多 概述 Another Redis Desktop Manager是一个开源的跨平台 Redis 客户端&#xff0c;提供了简洁易用的图形用户界面&#xff08;GUI&#xff09;&am…...

【git】配置 Git 的换行符处理和安全性||安装 Ruby

配置 Git 的换行符处理和安全性&#xff1a; git config --global core.autocrlf input&#xff1a;这个设置确保在提交代码时&#xff0c;Git 会将 CRLF&#xff08;Windows 的换行符&#xff09;转换为 LF&#xff08;Unix 的换行符&#xff09;&#xff0c;但在检出代码时不…...

VMware ESXi 8.0U3b macOS Unlocker OEM BIOS 2.7 Dell HPE 定制版 9 月更新发布

VMware ESXi 8.0U3b macOS Unlocker & OEM BIOS 2.7 Dell HPE 定制版 9 月更新发布 VMware ESXi 8.0U3b macOS Unlocker & OEM BIOS 2.7 标准版和厂商定制版 ESXi 8.0U3 标准版&#xff0c;Dell (戴尔)、HPE (慧与)、Lenovo (联想)、IEIT SYSTEMS (浪潮信息)、Cisco …...

Unity 代码裁剪(Strip Engine Code)

文章目录 0.IL2CPP 打包运行闪退问题1.什么是代码裁剪2.为什么要使用代码裁剪3.代码裁剪设置与级别4.强制保留代码4.1 使用[Preserve]标签4.2 使用Link.xml文件 5.Strip中遇到的问题及解决方法6.注意事项 0.IL2CPP 打包运行闪退问题 Google Play要求从2019年8月1日起apk必须支…...

单目3d重建DUSt3R 笔记

目录 DUSt3R 三维重建 报错RecursionError: maximum recursion depth exceeded in comparison 报错 numpy.core.multiarray failed to import 报错Numpy is not available 解决 升级版mast3r 速度变慢 修改了参数设置脚本&#xff1a; 测试效果 操作技巧 DUSt3R 三维重…...

AI驱动TDSQL-C Serverless 数据库技术实战营-与AI的碰撞

目录 一、简介 二、实验介绍 三、结果展示 四、实操指导 4.1 系统设计 4.2 环境搭建&#xff08;手把手教程&#xff09; 4.3 应用构建 4.4 效果展示 4.5 踩坑避雷总结 五、清理资源 5.1 删除TDSQL-C Serverless 5.2 删除 HAI 算力 六、实验总结归纳 一、简介 本…...

C++之String类(上)

片头 嗨&#xff01;好久不见~ 今天我们来学习C的Sting类&#xff0c;不过&#xff0c;在学习它之前&#xff0c;我们先来对STL库有一个简单的了解。 STL&#xff08;standard template library--标准模板库&#xff09;&#xff0c;是C标准库的重要组成部分&#xff0c;不仅是…...

kubernets基础-ingress详细介绍

文章目录 什么是IngressIngress详细说明Ingress示例 Ingress控制器Ingress控制器的工作原理Ingress控制器的特点常见的Ingress控制器 Ingress关联Ingress控制器一、Ingress资源对象二、Ingress控制器三、Ingress与Ingress控制器的关联方式四、注意事项 多实例部署一、Ingress多…...

jenkins部署Maven和NodeJS项目

在 Java 项目开发中&#xff0c;项目的编译、测试、打包等是比较繁琐的&#xff0c;属于重复劳动的工作&#xff0c;浪费人力和时间成本。以往开发项目时&#xff0c;程序员往往需要花较多的精力在引用 jar 包搭建项目环境上&#xff0c;跨部门甚至跨人员之间的项目结构都有可能…...

在unity资源中发现无效引用

本文主要解决在不打开unity的情况下搜索出无效引用的资源的方法 1. 概述 一般只要遍历一下目录里所有资源,判空一下就好了但有些情况下,不希望打开unity, 尤其希望是在资源整合时,想更快验证资源的合法性, 这对合并提交及出包验证时,都要较大的需求 2. 简单的验证方法 简单来…...

C#知识|基于反射和接口实现抽象工厂设计模式

哈喽&#xff0c;你好啊&#xff0c;我是雷工&#xff01; 01 应用场景 在项目的多数据库支持上、业务的多算法封装、以及各种变化的业务中&#xff1b; 02 抽象工厂组成 抽象工厂包括抽象产品&#xff08;即业务接口&#xff0c;可以通过抽象类或抽象接口设计&#xff09;…...

【分布式微服务云原生】gRPC vs RPC:深入探索远程过程调用的现代与经典

摘要 在分布式系统的世界里&#xff0c;gRPC和RPC是两个耳熟能详的术语&#xff0c;但它们之间有何区别和联系&#xff1f;本文将深入探讨gRPC和RPC的概念、关键特性、以及它们在现代软件开发中的应用。你将了解到gRPC如何作为RPC的一种实现&#xff0c;提供高性能的跨语言远程…...

听说这是MATLAB基础?

MATLAB&#xff08;矩阵实验室&#xff09;是一个强大的高性能计算环境和编程语言&#xff0c;广泛应用于数学计算、算法开发、数据分析、可视化以及模拟等多个领域。以下是MATLAB的一些基础知识&#xff0c;涵盖其功能、语法、基本操作等方面。 1. MATLAB环境 工作区&#xf…...

Ludusavi:你的游戏进度守护神,三分钟搞定跨平台存档备份

Ludusavi&#xff1a;你的游戏进度守护神&#xff0c;三分钟搞定跨平台存档备份 【免费下载链接】ludusavi Backup tool for PC game saves 项目地址: https://gitcode.com/gh_mirrors/lu/ludusavi 你是否曾在电脑崩溃后&#xff0c;发现数百小时的游戏进度瞬间归零&…...

2026考公全攻略:在校生如何选岗、如何备考、如何上岸一次讲清

很多在校生最近都在问&#xff1a;现在开始准备公务员考试&#xff0c;还来得及吗先说结论&#xff1a;来得及&#xff0c;但前提是你要走对路径这几年考公环境已经发生明显变化报考人数持续增加岗位信息越来越透明单纯刷题已经不再有效考公正在从拼努力&#xff0c;变成拼策略…...

OpenClaw硬件选购指南:百川2-13B-4bits量化版在不同GPU上的表现

OpenClaw硬件选购指南&#xff1a;百川2-13B-4bits量化版在不同GPU上的表现 1. 为什么需要关注硬件配置 去年冬天&#xff0c;当我第一次尝试在本地部署OpenClaw对接百川2-13B模型时&#xff0c;我的旧显卡GTX 1660 Ti直接崩溃了。那次经历让我深刻认识到——选择合适的硬件对…...

PP实战指南:ECN工程变更在物料计划中的关键应用与系统操作解析

1. ECN工程变更的核心价值与业务场景 第一次接触ECN&#xff08;Engineering Change Notice&#xff09;是在2015年负责汽车零部件项目时&#xff0c;当时产线因为一个螺丝规格变更导致全线停产8小时。这个惨痛教训让我深刻理解到&#xff0c;工程变更绝不是简单的技术文档更新…...

Windows系统优化新范式:Win11Debloat技术原理与实践指南

Windows系统优化新范式&#xff1a;Win11Debloat技术原理与实践指南 【免费下载链接】Win11Debloat 一个简单的PowerShell脚本&#xff0c;用于从Windows中移除预装的无用软件&#xff0c;禁用遥测&#xff0c;从Windows搜索中移除Bing&#xff0c;以及执行各种其他更改以简化和…...

GLM-OCR场景应用:教育资料数字化、商务文档信息抽取实战

GLM-OCR场景应用&#xff1a;教育资料数字化、商务文档信息抽取实战 1. 引言&#xff1a;文档智能化的时代需求 在信息爆炸的今天&#xff0c;我们每天都要处理大量纸质文档和电子文件。教育机构需要将历年试卷数字化归档&#xff0c;企业财务部门要处理堆积如山的发票和合同…...

Unity URDF导入终极指南:3步快速实现机器人仿真

Unity URDF导入终极指南&#xff1a;3步快速实现机器人仿真 【免费下载链接】URDF-Importer URDF importer 项目地址: https://gitcode.com/gh_mirrors/ur/URDF-Importer Unity URDF Importer是Unity Robotics官方推出的机器人模型导入工具&#xff0c;它能够让你在Unit…...

x265帧内预测实战:从35种模式到MPM优化的效率提升技巧

x265帧内预测深度优化&#xff1a;从35种模式到MPM的工程实践 在视频编码领域&#xff0c;HEVC标准相比前代H.264引入了更复杂的帧内预测机制&#xff0c;其中x265作为开源编码器实现&#xff0c;其帧内预测模块的优化直接影响编码效率。本文将深入剖析x265帧内预测的核心技术…...

SWF逆向工程认证培训师手册:基于JPEXS Free Flash Decompiler的教学指南

SWF逆向工程认证培训师手册&#xff1a;基于JPEXS Free Flash Decompiler的教学指南 【免费下载链接】jpexs-decompiler JPEXS Free Flash Decompiler 项目地址: https://gitcode.com/gh_mirrors/jp/jpexs-decompiler JPEXS Free Flash Decompiler是一款开源的Flash SWF…...

从SOP到AI Society:MGX多智能体协作平台如何重塑软件开发流程

1. MGX平台如何用SOP机制颠覆传统开发模式 我第一次接触MGX平台时&#xff0c;被它的标准化操作流程&#xff08;SOP&#xff09;惊艳到了。这就像把一个混乱的施工现场变成了井然有序的装配线&#xff0c;每个智能体都知道自己该在什么时候做什么事。传统开发中&#xff0c;我…...