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

虚拟机 net、桥接、主机三种网络模式寻根问底

  • 虚拟机使用物理主机上的网络适配器直接连接到物理网络中。

  • 这意味着虚拟机就像是通过网线直接连接到路由器一样,成为物理网络中的一个独立设备。

  • 虚拟机可以获取一个永久的IP地址,通过DHCP或手动设置。

  • 虚拟机和物理主机都可以访问对方以及公共网络中的其他设备,比如文件服务器、打印机等。

  • 对网络其他设备来说,虚拟机就是一个独立的计算机,不知道它其实运行在虚拟环境中。

  • 让虚拟机支持移动使用,可以选择自动更新IP地址设置,随着物理网络的变化同步变化。

所以简单说,桥接网络让虚拟机直接“桥接”到主机所在的物理网络中,成为该网络中的一个独立实体,实现虚拟机与物理网络的透明连接。这种方式最直接最简单地让虚拟机访问外部网络。

是的,你理解正确。用桥接网络配置虚拟机的含义就是:

  • 虚拟机和宿主机(本机)共享同一个物理网络适配器,都通过这个适配器连接到外部网络。

  • 对外看,虚拟机就是一个独立的计算机,和宿主机共用一个IP地址段,都可以直接访问外部网络。

  • 虚拟机获取的IP地址和宿主机是不同的,但都属于同一个网络划分。

  • 虚拟机和宿主机之间,以及它们与外部网络中的其他设备,都可以直接连接通信,互相访问资源。

  • 桥接让虚拟机看起来就是一个真实存在的网络设备,和宿主机公用同一个网线连接到路由器。

所以总之,桥接模式下,虚拟机和宿主机在网络层面上看起来就如同两个实际运行在同一个物理网络上的独立设备。它们共享同一个网络适配器,彼此与外部都可以直接正常通信访问。

网络适配器的概念和与其他网络设备的关系:

  • 网络适配器(Network Adapter):计算机用来连接网络的硬件设备,比如网卡。它负责将计算机上的网络连接转化为计算机可以识别的物理信号。

  • 与光猫的关系:光猫是集交换+路由+门户授权等功能的设备,通过光纤作为传输介质连接到互联网。计算机通过网卡连接到光猫提供的以太网端口,实现与互联网的连接。

  • 与WiFi的关系:WiFi就是使用无线技术(wifi信号)连接的网络适配器。室内无线路由器相当于光猫,计算机通过安装wifi网卡实现无线连接。

  • 与网线的关系:使用网线直接连接计算机网卡与路由器的以太网端口,也实现了联网。这是有线连接的一种,速度更快可靠性好,但不如WiFi便携。

总之,网络适配器负责计算机与外部网络设备(如光猫、路由器)之间的物理连接,可以是有线也可以是无线;而光猫、WiFi路由器等设备提供最后通往互联网的网关接入服务。它们通过各种传输 medium 相连实现整体网络连接。

是的,桥接模式下虚拟机和宿主机的原理,就是:

  • 它们共用同一个物理网络接口(网卡)连接到外部网络。

  • 外面看这两个设备都在同一个广播域内,同属一个网段。

  • 但是给它们分配的IP地址是不同的,不会重复。

  • 例如一个路由器提供的局域网192.168.1.0/24网段:

  • 宿主机 ipaddr: 192.168.1.100

  • 虚拟机 ipaddr: 192.168.1.101

  • 它们的网关都指向同一个路由器

所以简单来说,桥接模式是通过:

  1. 共用同一个物理网络接口

  2. 但给不同设备分配不同非重复IP

  3. 使它们看起来像是同一物理网络下的两个独立主机

从而实现虚拟机直接连接外网,与宿主机和其他设备一起作为同一个广播域中的网络主机来通信。

桥接模式和NAT模式在虚拟机网络连接方式上有以下主要区别:

  • 桥接模式:

    • 虚拟机直接连接到同一物理网络,获取外部IP地址
    • 虚拟机视为网络中一个独立主机
    • 易于直接互连,但IP地址需手动管理
  • NAT模式:

    • 虚拟机仅在内部网络中获取IP地址
    • 虚拟机对外 traffic 通过宿主机网卡映射外部IP
    • 宿主机实现虚拟机与外网通信的地址转换
    • IP地址自动管理,但网间通信需映射端口

比较来说:

  • 桥接方式更直接简单,虚拟机完全等同真实主机。

  • NAT方式虚拟机仅在内网可见,简化IP管理但需要NAT映射支持外网访问。

  • 桥接适用于需要直接对外开放服务的虚拟机。

  • NAT适用于不需要对外直接访问的内部服务VM。

所以两种模式选择根据虚拟机的网络连接需求来定。一般来说NAT使用更普遍一些。

NAT模式下,虚拟机网络连接的工作原理是:

  1. 虚拟机安装进来后,会在虚拟交换机中自动获取一个内网IP地址,例如192.168.1.101

  2. 宿主机连接外网,使用真实公网IP,例如220.181.38.107

  3. 当虚拟机想访问外网时,它发起的请求会带有内网IP 192.168.1.101

  4. 宿主机的NAT功能将会捕获这类报文,记录语句IP和端口映射关系表

  5. 宿主机使用自己的公网IP 220.181.38.107向外网发起请求

  6. NAT表帮助外网服务器识别是哪个内网IP的请求,回包也找到映射后返回给客户端

  7. 这样外界看不到内网设备,但内网可以通过NAT与外网通信

  8. 虚拟机IP自动分配管理,但要外连需映射对应端口,如2280->22

所以NAT实现了虚拟机访问外网的地址转换,隐藏了内网网络结构与设备信息。

NAT实现地址转换主要依靠的是路由器/防火墙等设备的网络地址转换(NAT)功能,不是通过交换机来实现的。

具体过程是:

  1. 虚拟机通过虚拟交换机获取内部IP,如192.168.1.102

  2. 虚拟机发出外网请求报文,目标地址是外网服务器IP,源地址是内部IP 102

  3. 该报文通过虚拟化软件 forwarded 到宿主机

  4. 宿主机上运行的NAT软件或功能模块捕获这个报文

  5. NAT根据自身规则,将源地址从102转换为宿主机公网IP,比如101.68.200.25

  6. 经过宿主机发往外网,外网服务器收到源地址是101.68.200.25

  7. 返回报文,NAT根据记录映射源IP和端口,还原为内部102后返回虚拟机

所以NAT类似一个本地VPN,通过地址转换隐藏内部网络,但不是依靠交换机,而是利用NAT软件模块完成源地址转换。所有的转发都是在网络层完成,不通过交换功能。

主要看成是一个类似本地VPN服务的地址转换功能,而不是通过交换机转发数据包实现的。

虚拟机的主机模式与桥接模式和NAT模式有以下不同:

  • 主机模式(Host-only):

虚拟机获得一个专用的主机网络地址,只能与宿主机直接通信,不能访问外网。

  • 工作原理:

虚拟机和宿主机通过一个专用虚拟网络接口连接,形成一个逻辑隔离的私有网络。

  • IP地址范围:

使用像192.168.56.0/24这样的专用地址空间。

  • 应用场景:

适合虚拟机之间需要直接互联的情况,例如测试环境中的多个虚拟机。

  • 与桥接模式不同:

桥接模式下虚拟机是真实网络节点,主机模式下是一个逻辑隔离网络。

  • 与NAT模式不同:

NAT模式下可以访问外网,主机模式完全隔绝外网访问。

总之,主机模式 build 一个宿主机和虚拟机之间的专用网络,用于二者直接通信,而隔绝外网访问,更高级别的封装与隔离。

在主机模式下,虚拟机之间的网络连接是通过虚拟交换机来实现的:

  • 主机模式下会创建一个虚拟网络接口,比如virt0。

  • 这个virt0接口实际上是一个混杂模式的虚拟交换机。

  • 宿主机和每个虚拟机都会被分配到这个虚拟交换机上,获得独立的IP地址。

  • 虚拟交换机负责转发宿主机和不同虚拟机之间的数据包。

  • 数据包在虚拟交换机内转发,不会涉及真实的物理交换机或网络设备。

  • 虚拟机看起来就是直接连接在同一个层2交换网络上的。

  • 实现了宿主机和各虚拟机在同一个虚拟局域网内通信。

所以简单说,主机模式下使用虚拟交换机模拟了一个完全封闭的虚拟局域网环境,各个VM直接通过交换机连接,实现了封锁于外部网络的内部互联能力。这就是主机模式的运作原理。

相关文章:

虚拟机 net、桥接、主机三种网络模式寻根问底

虚拟机使用物理主机上的网络适配器直接连接到物理网络中。 这意味着虚拟机就像是通过网线直接连接到路由器一样,成为物理网络中的一个独立设备。 虚拟机可以获取一个永久的IP地址,通过DHCP或手动设置。 虚拟机和物理主机都可以访问对方以及公共网络中的其他设备,比如文件服务…...

python代码——批量将PPT转换成长图

语言:python 3 用法:点击运行后,弹出窗口,选择文件夹,程序运行会将文件夹内的所有PPT文件全部转换成PPT长图,图片名称与PPT文件名称相同,保存位置相同。 如运行中报错,需要自行根据…...

C++信息学奥赛2046:【例5.15】替换字母

这段代码的功能是对输入的字符串进行处理&#xff0c;将字符串中的字符 a 替换为字符 b 后输出结果。 #include<bits/stdc.h> using namespace std; int main() {string s; // 定义字符串变量s&#xff0c;用来存储输入的字符串char a, b; // 定义字符变量a和b&#xff…...

每天一道leetcode:1306. 跳跃游戏 III(图论中等广度优先遍历)

今日份题目&#xff1a; 这里有一个非负整数数组 arr&#xff0c;你最开始位于该数组的起始下标 start 处。当你位于下标 i 处时&#xff0c;你可以跳到 i arr[i] 或者 i - arr[i]。 请你判断自己是否能够跳到对应元素值为 0 的 **任一** 下标处。 注意&#xff0c;不管是什…...

76参考链接

参考链接 官方文件综合介绍[let 和 const](https://es6.ruanyifeng.com/#docs/reference#let 和 const)解构赋值字符串正则数值数组函数对象Symbol[Set 和 Map](https://es6.ruanyifeng.com/#docs/reference#Set 和 Map)[Proxy 和 Reflect](https://es6.ruanyifeng.com/#docs/…...

浅析Linux SCSI子系统:调试方法

文章目录 SCSI日志调试功能scsi_logging_level调整SCSI日志等级 SCSI trace events使能SCSI trace events方式一&#xff1a;通过set_event接口方式二&#xff1a;通过enable 跟踪trace信息 相关参考 SCSI日志调试功能 SCSI子系统支持内核选项CONFIG_SCSI_LOGGING配置日志调试…...

【Unity3D】水面特效

1 前言 水波特效 中通过屏幕后处理实现了环形水波效果&#xff0c;本文通过 Shader Graph 实现了模拟水面特效&#xff0c;包含以下特效细节。 深水区和浅水区颜色差异&#xff1b;水面有波纹&#xff0c;并且在移动&#xff1b;水面起伏波动&#xff1b;水面边缘有水泡&#…...

CSS中的flex布局详细讲解

Flex 布局 Flex 布局是一种现代的 CSS 布局模型&#xff0c;用于实现灵活的盒子布局。它提供了强大的布局能力&#xff0c;使得元素可以自动调整大小、对齐和分布&#xff0c;适用于构建响应式和可伸缩的布局。 Flex 布局使用 flex 容器和 flex 项目的概念。容器是一个父元素…...

Python功能制作之简单的音乐播放器

需要导入的库&#xff1a; pip install PyQt5 源码&#xff1a; import os from PyQt5.QtCore import Qt, QUrl from PyQt5.QtGui import QIcon, QPixmap from PyQt5.QtMultimedia import QMediaPlayer, QMediaContent from PyQt5.QtWidgets import QApplication, QMainWind…...

GAN生成对抗模型根据minist数据集生成手写数字图片

文章目录 1.项目介绍2相关网站3具体的代码及结果导入工具包设置超参数定义优化器&#xff0c;以及损失函数训练时的迭代过程训练结果的展示 1.项目介绍 通过用minist数据集进行训练&#xff0c;得到一个GAN模型&#xff0c;可以生成与minist数据集类似的图片。 GAN是一种生成模…...

【K8S源码之Pod漂移】整体概况分析 controller-manager 中的 nodelifecycle controller(Pod的驱逐)

参考 k8s 污点驱逐详解-源码分析 - 掘金 k8s驱逐篇(5)-kube-controller-manager驱逐 - 良凯尔 - 博客园 k8s驱逐篇(6)-kube-controller-manager驱逐-NodeLifecycleController源码分析 - 良凯尔 - 博客园 k8s驱逐篇(7)-kube-controller-manager驱逐-taintManager源码分析 - 良…...

[保研/考研机试] KY212 二叉树遍历 华中科技大学复试上机题 C++实现

题目链接&#xff1a; 二叉树遍历_牛客题霸_牛客网二叉树的前序、中序、后序遍历的定义&#xff1a; 前序遍历&#xff1a;对任一子树&#xff0c;先访问根&#xff0c;然后遍历其左子树&#xff0c;最。题目来自【牛客题霸】https://www.nowcoder.com/share/jump/43719512169…...

CSS笔记

介绍 CSS导入方式 三种方法都将文字设置成了红色 CSS选择器 元素选择器 id选择器 图中div将颜色控制为红色&#xff0c;#name将颜色控制为蓝色&#xff0c;谁控制的范围最小&#xff0c;谁就生效&#xff0c;所以第二个div是蓝色的。id属性值要唯一&#xff0c;否则报错。 clas…...

链栈Link-Stack

0、节点结构体定义 typedef struct SNode{int data;struct SNode *next; } SNode, *LinkStack; 1、初始化 bool InitStack(LinkStack &S) //S为栈顶指针&#xff08;存数据的头节点&#xff09; {S NULL;return true; } 2、入栈 bool Push(LinkStack &S, int e) {…...

Ubuntu 20系统WIFI设置静态IP地址,以及断连问题

​最近工作需要购置了一台GPU机器&#xff0c;然后搭建了深度学习的运行环境&#xff0c;在工作中将这台机器当做深度学习的服务器来使用&#xff0c;前期已经配置好多用户以及基础环境。但最近通过xshell连接总是不间断的出现断连现象。 补充一点&#xff0c;Ubuntu系统中与网…...

(一)idea连接GitHub的全部流程(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)

&#xff08;二&#xff09;Git在公司中团队内合作和跨团队合作和分支操作的全部流程&#xff08;一篇就够&#xff09;https://blog.csdn.net/m0_65992672/article/details/132336481 4.1、简介 Git是一个免费的、开源的*分布式**版本控制**系统*&#xff0c;可以快速高效地…...

-bash: java: command not found笔记

文章目录 场景解决方案找java的方法find命令进行查找根据java进程找寻具体位置 场景 linux系统执行java命令时报错&#xff1a; -bash: java: command not found。 解决方案 可能是没有安装java(这种情况比较少)或者安装了java但是没有设置环境变量(一般是这种情况)。 找ja…...

C++ typename and .template

https://makecleanandmake.com/2015/07/20/leading-typename-dot-template-and-why-they-are-necessary/ typename Obj<T>::type var;v.template m<int>();...

uniapp,使用canvas制作一个签名版

先看效果图 我把这个做成了页面&#xff0c;没有做成组件&#xff0c;因为之前我是配合uview-plus的popup弹出层使用的&#xff0c;这种组件好像是没有生命周期的&#xff0c;第一次打开弹出层可以正常写字&#xff0c;但是关闭之后再打开就不会显示绘制的线条了&#xff0c;还…...

【大数据】Flink 详解(五):核心篇 Ⅳ

Flink 详解&#xff08;五&#xff09;&#xff1a;核心篇 Ⅳ 45、Flink 广播机制了解吗&#xff1f; 从图中可以理解 广播 就是一个公共的共享变量&#xff0c;广播变量存于 TaskManager 的内存中&#xff0c;所以广播变量不应该太大&#xff0c;将一个数据集广播后&#xff0…...

设计模式-建造者模式

核心思想 抽取共同的行为&#xff0c;允许使用者指定复杂对象的类型和内容&#xff0c;不需要了解内部的构建细节使用多个简单的行为构建一个复杂的对象&#xff0c;将对象的构建过程和它的表示分离&#xff0c;同样的构建过程可以创建不同的表示 优缺点 优点 使用者不需要知…...

flutter 设置app图标

使用插件 flutter_launcher_icons 在 pubspec.yaml 配置文件中 加入 dev_dependencies dev_dependencies: flutter_launcher_icons: "^0.13.1" 准备好app得 icon 图标 其中icon的名字为icon.png 创建assets文件夹 和子文件夹icon iamge 配置静态资源路径 完整配置…...

守护网络安全:深入了解DDOS攻击防护手段

ddos攻击防护手段有哪些?在数字化快速发展的时代&#xff0c;网络安全问题日益凸显&#xff0c;其中分布式拒绝服务(DDOS)攻击尤为引人关注。这种攻击通过向目标网站或服务器发送大量合法或非法的请求&#xff0c;旨在使目标资源无法正常处理其他用户的请求&#xff0c;从而达…...

计组 | 寻址方式

目录 一、知识点 1.寻址方式什么&#xff1f; 2.根据操作数所在的位置&#xff0c;都有哪些寻址方式&#xff1f; 3.直接寻址 4.立即寻址 5.隐含寻址 6.相对寻址 7.寄存器 8.寄存器-寄存器型&#xff08;RR&#xff09;、寄存器-存储器型&#xff08;RS&#xff09;和…...

matlab工具箱Filter Designer设计butterworth带通滤波器

1、在matlab控制界面输入fdatool; 2、在显示的界面中选择合适的参数&#xff1b;本实验中采样频率是200&#xff0c;低通30hz&#xff0c;高通60hz,点击butterworth滤波器。 3、点击设计滤波器按钮后&#xff0c;在生成的界面点击红框按钮&#xff0c;可生成simulink模型到当前…...

Python学习笔记第六十天(Matplotlib Pyplot)

Python学习笔记第六十天 Matplotlib Pyplot后记 Matplotlib Pyplot Pyplot 是 Matplotlib 的子库&#xff0c;提供了和 MATLAB 类似的绘图 API。 Pyplot 是常用的绘图模块&#xff0c;能很方便让用户绘制 2D 图表。 Pyplot 包含一系列绘图函数的相关函数&#xff0c;每个函数…...

服务器自动备份、打包、传输脚本

备份脚本 #!/bin/bash #author cheng #备份服务器自动打包归档每天的备份文件 Path/backhistory Host$(hostname) Date$(date %F) Dest${Host}_${Date}#创建目录 mkdir -p ${Path}/${Dest}#打包文件到目录 cd / && \#结合autoback.sh脚本&#xff0c;它往那个地方备&a…...

Docker 的数据管理 网络通信

目录 1.管理容器数据的方式 数据卷 数据卷的容器 2.操作命令 3.Docker 镜像的创建 1.管理容器数据的方式 数据卷 可以独立于容器生命周期存储的机制 可提供持久化 数据共享 docker run -v /var/www:/data1 --name web1 -it centos:7 /bin/bash 数据卷的容器 用来提供持久化数…...

目标检测YOLO实战应用案例100讲-基于孤立森林算法的高光谱遥感图像异常目标检测

目录 前言 孤立森林算法的基本理论 2.1 引言 2.2 孤立森林算法的基本思想...

excel中两列数据生成折线图

WPS中excel的两列数据&#xff0c;第一列为x轴&#xff0c;第二列为y轴&#xff0c;生成折线图&#xff0c;并生成拟合函数。 1.选中两列数据&#xff0c;右击选择插入图表&#xff0c;选择XY&#xff08;散点图&#xff09;&#xff0c;生成散点折线图 2.选中图中散点&#x…...

怎么打造自己的网站/长沙网站制作费用

httprunner3.x版本的接入了pytest框架&#xff0c;所以可以使用pytest所有的插件&#xff1b;对比httprunner2.x的报告展示各有优缺点&#xff0c;个人觉得2.x的报告还是挺不错的&#xff0c;看起来也很舒服的。 测试报告生成&#xff1a; 首先就是html报告&#xff1a;这个插…...

北湖区网站建设哪家好/店铺在百度免费定位

原图&#xff1a; 1.当图片的宽固定&#xff0c;高度自适应&#xff0c;父元素的高度小于图片高度时&#xff0c;使图片在父元素中垂直居中&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"utf-8"><meta na…...

赣州市建设工程造价管理网站/网络营销企业网站推广

近来翻译了不少国外的创业产品类文章到简书和虎嗅以及 36 氪等。承蒙大家错爱&#xff0c;很多网友都觉得鄙人翻译的水平挺高的&#xff0c;然后速度也挺快的&#xff0d;基本上每天靠着晚上那点点时间都能有一篇文章出来。不少人开始问我英语应该怎么学&#xff1f; 这里可能大…...

做电子外贸网站建设/sem是指什么

DataTable myDt dt;//删除列myDt.Columns.Remove("minArea");myDt.Columns.Remove("maxArea");//调整列顺序 &#xff0c;列排序从0开始myDt.Columns["num"].SetOrdinal(1);//修改列标题名称dt.Columns["num"].ColumnName "搜索…...

博客网站开发毕设/网站建设公司好

许多shopee卖家在开店之初很容易陷入订单短缺的境地&#xff0c;他们甚至没有货物流通&#xff0c;造成这种情况的原因极有可能是选择的产品有问题&#xff0c;这边突出了选品的重要性&#xff0c;那么shopee选品的分类应该如何选择&#xff1f;首先我们了解到shopee主要面向的…...

广东宇晟建设工程有限公司网站/十大互联网广告公司

在日常开发中我们经常会碰到小数计算&#xff0c;而小数直接计算的话会出现一些小小的错误&#xff0c;如下 System.out.println(1.01 2.02); 复制代码你说能输出什么&#xff1f;3.03&#xff1f;实际上输出的是3.0300000000000002。这是因为不论是float 还是double都是浮点…...