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

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连接网络的三种基本方式的简单概述,如有不当还请指出~(。・ω・。)ノ♡

http://www.lryc.cn/news/489589.html

相关文章:

  • ##继承##
  • 2024 APMCM亚太数学建模C题 - 宠物行业及相关产业的发展分析和策略 完整参考论文(1)
  • uni-app 修改复选框checkbox选中后背景和字体颜色
  • 使用Notepad++工具去除重复行
  • 基于Springboot+Vue的救灾物资调动系统 (含源码数据库)
  • Unity 使用 Excel 进行配置管理(读Excel配置表、Excel转保存Txt 文本、读取保存的 Txt 文本配置内容)
  • MySQL中索引全详解
  • vllm serve的参数大全及其解释
  • 2025职业院校技能大赛信息安全管理与评估(河北省) 任务书
  • 通过高德 JS API 实现H5端定位
  • 第J6周:RenseNeXt-50实战
  • JAVA八股与代码实践----接口与抽象类的区别和用法
  • 详解 【AVL树】
  • SQLite Having 子句
  • ZYNQ-7020嵌入式系统学习笔记(1)——使用ARM核配置UART发送Helloworld
  • 实践篇:青果IP助理跨境电商的高效采集
  • 本地安装YAPI
  • pytest日志总结
  • day16
  • 医工交叉入门书籍分享:Transformer模型在机器学习领域的应用|个人观点·24-11-22
  • 【读书】复杂性意义结构框架——Cynefin框架
  • Python模块、迭代器与正则表达式day10
  • Hutool工具类生成二维码
  • wpf 事件转命令的方式
  • 第二十八章 TCP 客户端 服务器通信 - JOB命令示例
  • 「Mac玩转仓颉内测版19」PTA刷题篇10 - L1-010 比较大小
  • C++趣味编程玩转物联网:用树莓派Pico实现一位数码管动态显示
  • SPA 单页面深入解读:优劣势剖析及实现方法
  • 机器学习系列----关联分析
  • json数据四大加载方式