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

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.kler.cn/a/409184.html

相关文章:

  • springboot集成shiro和前后端分离配置
  • 【漏洞复现】广州锦铭泰软件 F22服装管理软件系统 Load.ashx 任意文件读取漏洞
  • Go语言中的defer关键字:资源管理与延迟执行的艺术
  • ETAS工具导入DBC生成Com协议栈
  • 数字信号处理(Digital Signal Procession)总结
  • 笔记记录 k8s-install
  • 【JavaEE初阶 — 多线程】定时器的应用及模拟实现
  • 设计模式——拦截过滤器模式
  • ISAAC Gym 7. 使用箭头进行数据可视化
  • 伪数组和真数组
  • java Scanner
  • 【PHP】 环境以及插件的配置,自学笔记(一)
  • 【Ubuntu24.04】服务部署(虚拟机)
  • 微信万能门店小程序系统存在任意文件读取漏洞
  • 中标麒麟部署k8sV1.31版本详细步骤
  • 5.最长回文子串 python
  • Diffusion 和Stable Diffusion的数学和工作原理详细解释
  • 【君正T31开发记录】8.了解rtsp协议及设计模式
  • golang学习6-指针
  • 探索智能时代:从AI生成PPT到自动化未来
  • 【Elasticsearch入门到落地】2、正向索引和倒排索引
  • C++自动化测试:GTest 与 GitLab CI/CD 的完美融合
  • 如何做鸿蒙系统里的App开发需要哪些技术栈
  • Node.js 安装与环境配置详解:从入门到实战
  • 数据结构(顺序队列——c语言实现)
  • pytorch torch.sign() 方法介绍