Linux连接网络的三种方式
Linux 连接网络的三种常见方式如下:
桥接模式
- 原理:虚拟网络接口与物理网络接口或另一个虚拟接口 “桥接”,形成逻辑上的网络交换机,使所有通过该桥接设备的数据包能被转发到桥接组中的所有接口,如同在一个局域网内。在此模式下,虚拟系统的 IP 地址需与外界相互通信的系统处于同一网段.
- 优点:虚拟系统可与同网段的外部系统通讯,能像物理机一样在局域网内自由活动,可直接访问局域网资源,如共享文件夹、打印机等,也能被局域网内其他主机访问,便于网络测试、搭建服务器等,网络性能较好.
- 缺点:同一个网段最多 255 个 IP 地址,多人使用桥接系统配置虚拟系统时,容易造成 IP 冲突,且由于虚拟机直接暴露在局域网中,可能会增加安全风险.
NAT 模式
- 原理:网络流量通过路由器或主机上的 NAT 功能重定向和转换。内部网络的主机使用私有 IP 地址,外部网络看到的是 NAT 设备的公共 IP 地址。NAT 设备负责将内部地址转换为外部地址,并跟踪每个连接,以便正确地转发数据包.
- 优点:虚拟系统可与外部系统通讯且不造成 IP 冲突,解决了 IP 地址资源紧张的问题。宿主机可对虚拟机的网络访问进行控制,提高安全性,且相对简单易用.
- 缺点:由于虚拟机的网络请求要经过宿主机进行 NAT 转换,可能会影响网络性能,尤其是在处理大量网络流量时。并且虚拟机在局域网内无法被其他主机直接访问到,除非在宿主机上进行特殊的端口转发设置.
主机模式
- 原理:虚拟机的网络适配器连接到虚拟机软件创建的虚拟网络上,该虚拟网络仅在虚拟机和宿主机之间存在,与外部网络隔离。虚拟机和宿主机之间通过虚拟网络适配器进行通信,形成一个封闭的私有网络.
- 优点:提供了与物理网络隔离的虚拟网络环境,安全性高,适合进行内部测试、开发等不需要与外部网络直接接触的操作,宿主机可完全控制网络配置,为测试和开发环境提供了高度的灵活性.
- 缺点:虚拟机无法直接与外部网络进行通信,若需访问外部网络,通常需通过 NAT 模式或桥接模式来实现.
如图:

假设教室有 张三、李四、王五 三个网络在同一个网段相互通讯,ip地址都以192.168.0.开头。
假设张三使用桥接模式设置ip地址,在同一个网段设置,那么他的虚拟机的ip地址也应该是192.168.0.开头和外部直接通信。如果都用桥接模式,教室有200人,我们知道在常见的 IPv4 地址的网段划分中,一个 C 类网段理论上可容纳的 IP 地址数量是 254 个,这种方式虽然好,但是这就会造成ip冲突。
我们以王五为例子,他也装了个虚拟机,他用NAT模式,配置了一个ip为192.168.100.88虚拟机,那么他的内部网络主机分配私有 IP 地址,在内部通信,主机向外部发数据包时,源设为私有 IP,NAT 设备将其替换为自己的公共 IP 并记录转换关系后发往外部,外部回传数据包时,目标为 NAT 设备公共 IP,NAT 设备依据记录将目标 IP 替换为对应内部主机私有 IP 后转发给主机。
NAT充当中间作用,通过这样的地址转换和数据包转发机制,内部网络中的主机能够使用私有 IP 地址与外部网络进行通信,同时在外部网络中只看到 NAT 设备的公共 IP 地址,从而实现了在有限的公共 IP 地址资源下,让多个内部主机能够共享一个或多个公共 IP 地址进行互联网访问等操作,并且也在一定程度上提高了内部网络的安全性,因为外部网络无法直接看到内部主机的真实私有 IP 地址。这种方式带来的效果是很好的。
而主机模式是创建自己独立的系统,主机模式通过创建一个仅在虚拟机和宿主机之间存在的虚拟网络,为特定的测试和开发需求提供了一个安全且可定制的网络环境,但也存在无法直接访问外部网络等局限性。
结语
以上就是关于Linux连接网络的三种基本方式的简单概述,如有不当还请指出~(。・ω・。)ノ♡
相关文章:
Linux连接网络的三种方式
Linux 连接网络的三种常见方式如下: 桥接模式 原理:虚拟网络接口与物理网络接口或另一个虚拟接口 “桥接”,形成逻辑上的网络交换机,使所有通过该桥接设备的数据包能被转发到桥接组中的所有接口,如同在一个局域网内…...
##继承##
继承的概念 #继承是新模板基于老模板的基础上修改而成,制作新模板时不需要重新开始制作,可以在老模板的基础上进行修改.(如手机版本的换代,软件的版本更新等) #程序也可以继承 继承的格式: class 继承模块(被继承模块ÿ…...
2024 APMCM亚太数学建模C题 - 宠物行业及相关产业的发展分析和策略 完整参考论文(1)
摘要 近年来,中国宠物食品行业迅速增长,但面临复杂的国际形势和多变的市场环境,因此科学地分析和预测该行业的发展趋势至关重要。本研究通过构建多个机器学习与统计回归模型,量化分析中国宠物食品行业的关键驱动因素,预测未来宠物食品总产值和出口值。 在数据处理部分,…...
uni-app 修改复选框checkbox选中后背景和字体颜色
编写css(注意:这个样式必须写在App.vue里) /* 复选框 */ /* 复选框-圆角 */ checkbox.checkbox-round .wx-checkbox-input, checkbox.checkbox-round .uni-checkbox-input {border-radius: 100rpx; } /* 复选框-背景颜色 */ checkbox.checkb…...
使用Notepad++工具去除重复行
使用Notepad工具去除重复行 参考链接:https://blog.csdn.net/londa/article/details/108981396 一 、使用正则表达式 1、对文本进行排序,让重复行排在一起 2、使用正则表达式替换(注意)^(.*?)$\s?^(?.*^\1$) 在替换时选择正…...
基于Springboot+Vue的救灾物资调动系统 (含源码数据库)
1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 这个系…...
Unity 使用 Excel 进行配置管理(读Excel配置表、Excel转保存Txt 文本、读取保存的 Txt 文本配置内容)
Unity 使用 Excel 进行配置管理(读Excel配置表、Excel转保存Txt 文本、读取保存的 Txt 文本配置内容) 目录 Unity 使用 Excel 进行配置管理(读Excel配置表、Excel转保存Txt 文本、读取保存的 Txt 文本配置内容) 一、简单介绍 二、实现原理 三、注意事项 四、案例简单步…...
MySQL中索引全详解
第一部分:什么是索引 索引在数据库中就像书的目录,能够快速定位数据位置,从而提升查询效率。没有索引时,数据库查询需要从头到尾扫描整个表(称为全表扫描),这在数据量大时非常耗时。有了索引后&…...
vllm serve的参数大全及其解释
以下是 vllm serve 的常见参数说明以及它们的作用: 1. 基本参数 model_tag 说明:用于指定要加载的模型,可以是 Hugging Face 模型仓库中的模型名称,也可以是本地路径。示例:vllm serve "gpt-neo-2.7B"--co…...
2025职业院校技能大赛信息安全管理与评估(河北省) 任务书
2025职业院校技能大赛信息安全管理与评估--河北省 任务书 模块一网络平台搭建与设备安全防护任务1:网络平台搭建 (50分)任务2:网络安全设备配置与防护(250分) 模块二网络安全事件响应、数字取证调查、应用程…...
通过高德 JS API 实现H5端定位
实现步骤: 1、安装 amap-jsapi-loader 插件 npm install amap-jsapi-loader 2、对定位组件进行封装 gb-location组件 <script lang="ts" setup> import AMapLoader from @amap/amap-jsapi-loader; import {ref,defineExpose} from vue;let map = ref(nul…...
第J6周:RenseNeXt-50实战
🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 文章目录 一、前言1、结构改进2、分组卷积 二、前期工作1.设置GPU2. 导入数据3. 查看数据 三、数据预处理1、加载数据2、配置数据集 四、构建网络1、导入包2、…...
JAVA八股与代码实践----接口与抽象类的区别和用法
接口和抽象类的区别 关键字abstractinterface 实例化不能直接实例化不能直接实例化 方法可以有抽象和具体方法只能有抽象方法(Java 8 支持默认方法) 变量可以有普通变量只能有常量 (public static final) 继承单继承多继承 构造函数可以定义不允许…...
详解 【AVL树】
AVL树实现 1. AVL的概念AVL树的实现2.1 AVL树的结点结构2.2 AVL树的插入2.2.1 AVL树的插入的一个大概操作:2.2.2 AVL树的平衡因子更新2.2.3 平衡因子的停止条件2.2.4 再不考虑旋转的角度上实现AVL树的插入 2.3 旋转2.3.1 旋转的原则2.3.2 右单旋2.2.3 右单旋代码实现…...
SQLite Having 子句
SQLite Having 子句 SQLite 是一种轻量级的数据库管理系统,广泛应用于移动设备和嵌入式系统。它支持标准的 SQL 语法,包括 SELECT 语句中的 HAVING 子句。HAVING 子句通常与 GROUP BY 子句一起使用,用于对分组后的结果进行条件过滤。 SQLit…...
ZYNQ-7020嵌入式系统学习笔记(1)——使用ARM核配置UART发送Helloworld
本工程实现调用ZYNQ-7000的内部ARM处理器,通过UART给电脑发送字符串。 硬件:正点原子领航者-7020 开发平台:Vivado 2018、 SDK 1 Vivado部分操作 1.1 新建工程 设置工程名,选择芯片型号。 1.2 添加和配置PS IP 点击IP INTEGR…...
实践篇:青果IP助理跨境电商的高效采集
写在前面: 近年来,跨境电商行业迅速崛起,成为全球贸易的重要组成部分。据市场调研机构Statista数据显示,2024年全球跨境电商市场规模预计将突破5万亿美元,覆盖数十亿消费者。跨境电商的竞争日益激烈,商家不…...
本地安装YAPI
项目中用到很多的RESTAPI,光靠人工管理或者普通文档肯定是不行的,翻了很多的RESTAPI管理工具,还是选择了YAPI,原因有2,一个是接口位于内网,外网网站上管理测试不到内网接口,另外一个是使用方式&…...
pytest日志总结
pytest日志分为两类: 一、终端(控制台)打印的日志 1、指定-s,脚本中print打印出的信息会显示在终端; 2、pytest打印的summary信息,这部分是pytest 的默认输出(例如测试结果PASSED, FAILED, S…...
day16
目录 1 联合体的定义和使用 2 联合体的内存布局 3 联合体的应用 1 联合体的定义和使用 #include <iostream>using namespace std;struct DataS {int i; double d; char s[10]; };/*联合体 所有成员共享同一段内存 修改一个成员会影响其他成员 { */ union DataU {int…...
Spark 之 入门讲解详细版(1)
1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...
23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...
智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...
leetcodeSQL解题:3564. 季节性销售分析
leetcodeSQL解题:3564. 季节性销售分析 题目: 表:sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...
让AI看见世界:MCP协议与服务器的工作原理
让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...
图表类系列各种样式PPT模版分享
图标图表系列PPT模版,柱状图PPT模版,线状图PPT模版,折线图PPT模版,饼状图PPT模版,雷达图PPT模版,树状图PPT模版 图表类系列各种样式PPT模版分享:图表系列PPT模板https://pan.quark.cn/s/20d40aa…...
鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南
1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发,使用DevEco Studio作为开发工具,采用Java语言实现,包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...
python报错No module named ‘tensorflow.keras‘
是由于不同版本的tensorflow下的keras所在的路径不同,结合所安装的tensorflow的目录结构修改from语句即可。 原语句: from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后: from tensorflow.python.keras.lay…...
七、数据库的完整性
七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...
