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

Linux 网络配置 (深入理解)

前言

前期我比较迷惑Ubuntu 的网络配置。
我接触比较多的 Linux 发行版都是 Ubuntu ,我按照网上的一些教程配置网络发现,没有相关网络配置文件夹。然后我发现不是我的问题而是不同版本的配置方式和工具是不一样的。然后有些配置已经弃用了。

常见的网络配置工具和变化

  • Netplan:

    从 Ubuntu 17.10 开始,Ubuntu 引入了 Netplan 来简化网络配置。它使用 YAML 格式的配置文件,位于
    /etc/netplan/ 目录。如果你的系统是较旧的版本,可能没有 Netplan,而是使用了其他工具。

  • ifupdown:

    在 Ubuntu 16.04 及之前的版本中,传统的网络配置通常使用 /etc/network/interfaces
    文件来管理。该方法已经逐渐被 Netplan 替代,但在某些情况下仍然可以使用。

  • NetworkManager:

    这个工具在桌面版 Ubuntu 中被广泛使用,允许图形界面和命令行管理网络连接。在 Ubuntu Server 版本中,通常会使用systemd-networkd 或 Netplan。

  • systemd-networkd:

    这是一个轻量级的系统服务,用于管理网络配置,通常在服务器或不需要图形界面的系统中使用。
    所以一般版本不是太老都是用的

Netplan

Netplan 如下图所示
Netplan 启动时处理:在系统启动的早期阶段,Netplan 会读取这些 YAML配置文件,并生成后端特定的配置文件,这些文件通常位于 /run/ 目录下。

后端选择:Netplan 支持两种主要的后端渲染器:

  • NetworkManager:适用于桌面环境,支持动态网络管理。
  • systemd-networkd:更轻量,适合服务器环境,提供高效的网络管理
    在这里插入图片描述

所以一般来说只要你的Ubuntu 版本不是太老,都是用的Netplan 。选的NetworkManager作为后端实际执行的配置。

查看现在正在运行的网络管理工具

多个网络管理工具会影响我们配置网络,拿到机器肯定先要确认现在有哪些网络管理工具在运行。这里使用 sys­tem­ctl 查看网络管理工具的运行状况。

systemctl list-unit-files | grep -i network

在这里插入图片描述

根据输出,NetworkManager 是你系统中启用的网络管理服务。以下是确认的依据:

  • NetworkManager.service 显示为 enabled,这表明 NetworkManager 正在运行并负责管理网络连接。
  • systemd-networkd.service 显示为 disabled,这意味着 systemd-networkd 没有被启用。

相关文章:

  • 网站建设公司如何选?2024专业网站建设公司哪家好TOP3
  • 解决json格式转换被特殊字符截断问题
  • EEPROM手册笔记
  • uniapp js向json中增加另一个json的全部数据,并获取json长度
  • 低空经济时代:无人机飞行安全要点详解
  • 探索自闭症表现研究报告:了解最新科研成果
  • 胤娲科技:AI界的超级充电宝——忆阻器如何让LLM告别电量焦虑
  • 【有啥问啥】大型语言模型的涌现能力(Emergent Abilities):新一代AI的曙光
  • 企业微信:客户联系自带群发工具和聊天工具
  • [Cocoa]_[初级]_[绘制文本如何设置断行方式]
  • asm技术简介
  • 中国联通(海外)数据中心资源:从基础设施运维服务到IDC机房增值服务
  • 在 Qt 中构建和解析多层嵌套的 JSON 数据
  • 通信工程学习:什么是SISO单入单出
  • GEE问题: 离校后学校edu账户无法使用,如何导出我们所有的脚本
  • 【mysql】环境安装、服务启动、密码设置
  • CSS 三角实现
  • JS创建对象模式及其对象原型链探究(一):Object模式
  • unity如何实现一个固定宽度的orthagraphic相机
  • Vue 动态创建 component
  • Yeoman_Bower_Grunt
  • 程序员最讨厌的9句话,你可有补充?
  • 从零开始的无人驾驶 1
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 对象管理器(defineProperty)学习笔记
  • 反思总结然后整装待发
  • 规范化安全开发 KOA 手脚架
  • 计算机在识别图像时“看到”了什么?
  • 十年未变!安全,谁之责?(下)
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • Redis4.x新特性 -- 萌萌的MEMORY DOCTOR
  • UI设计初学者应该如何入门?
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • ​Spring Boot 分片上传文件
  • #162 (Div. 2)
  • #Spring-boot高级
  • $(selector).each()和$.each()的区别
  • (BFS)hdoj2377-Bus Pass
  • (k8s)Kubernetes 从0到1容器编排之旅
  • (php伪随机数生成)[GWCTF 2019]枯燥的抽奖
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (SpringBoot)第七章:SpringBoot日志文件
  • (webRTC、RecordRTC):navigator.mediaDevices undefined
  • (Windows环境)FFMPEG编译,包含编译x264以及x265
  • (阿里云万网)-域名注册购买实名流程
  • (含笔试题)深度解析数据在内存中的存储
  • (四) 虚拟摄像头vivi体验
  • (万字长文)Spring的核心知识尽揽其中
  • (转)清华学霸演讲稿:永远不要说你已经尽力了
  • .bat批处理(九):替换带有等号=的字符串的子串
  • .NET C# 使用GDAL读取FileGDB要素类
  • .NET CLR基本术语
  • .NET 的程序集加载上下文
  • .net 逐行读取大文本文件_如何使用 Java 灵活读取 Excel 内容 ?
  • .NET/C# 中设置当发生某个特定异常时进入断点(不借助 Visual Studio 的纯代码实现)