CentOS网络之network和NetworkManager深度解析

文章目录

  • CentOS网络之network和NetworkManager深度解析
    • 1. CentOS网络服务发展历史
      • 1.1 传统network阶段(CentOS 5-6)
      • 1.2 过渡期(CentOS 7)
      • 1.3 新时代(CentOS 8+)
    • 2. network和NetworkManager的核心区别
    • 3. network服务使用指南
      • 3.1 基础配置方法
      • 3.2 常用管理命令
      • 3.3 注意事项
    • 4. NetworkManager使用指南
      • 4.1 基础配置方法
      • 4.2 图形化工具
      • 4.3 注意事项
    • 5. 服务冲突解决方案
      • 5.1 典型冲突表现
      • 5.2 彻底解决方案
      • 5.3 冲突排查流程
      • 5.4 进一步说明network显示active (exited)
    • 结语:如何选择网络服务

CentOS网络之network和NetworkManager深度解析

1. CentOS网络服务发展历史

CentOS网络服务经历了三个主要发展阶段:

1.1 传统network阶段(CentOS 5-6)

  • 采用SysV init脚本管理网络
  • 核心配置文件位于/etc/sysconfig/network-scripts/
  • 主要命令:service network start/stop/restart
  • 特点:配置简单但缺乏动态管理能力

1.2 过渡期(CentOS 7)

  • 引入systemd管理机制
  • NetworkManager成为默认服务但与传统network并存
  • 新增nmcli命令行工具
  • 特点:两种服务并存导致配置复杂度增加

1.3 新时代(CentOS 8+)

  • NetworkManager成为唯一官方支持的网络服务
  • 传统network需通过network-scripts包额外安装
  • 全面支持IPv6和SDN(软件定义网络)
  • 特点:动态网络管理能力大幅增强

2. network和NetworkManager的核心区别

特性networkNetworkManager
管理方式静态配置动态管理
适用场景服务器环境桌面/移动设备
配置存储ifcfg文件二进制配置文件
无线网络支持不支持完整支持
VPN集成需额外脚本原生支持
热插拔支持有限完整支持
多网卡绑定需手动配置图形化配置
DNS管理直接修改resolv.conf集成DNS管理
IPv6支持基础支持高级支持

3. network服务使用指南

3.1 基础配置方法

编辑网卡配置文件(示例:/etc/sysconfig/network-scripts/ifcfg-eth0):

DEVICE=eth0 
TYPE=Ethernet 
ONBOOT=yes 
BOOTPROTO=static 
IPADDR=192.168.1.100 
NETMASK=255.255.255.0 
GATEWAY=192.168.1.1 
DNS1=8.8.8.8 
DNS2=8.8.4.4 

3.2 常用管理命令

启动/停止/重启 
systemctl start|stop|restart network 查看状态 
systemctl status network 开机自启 
systemctl enable network 

3.3 注意事项

  1. MAC地址冲突:克隆虚拟机时需更新HWADDR
  2. 配置生效:修改后必须重启服务
  3. DNS配置:建议在ifcfg文件中设置而非直接修改resolv.conf
  4. IPv6禁用:如需禁用需在/etc/sysconfig/network添加IPV6INIT=no
  5. 服务依赖:确保network-manager服务已禁用

4. NetworkManager使用指南

4.1 基础配置方法

使用nmcli配置示例:

创建新连接 
nmcli connection add con-name eth0-static \type ethernet ifname eth0 \ipv4.addresses 192.168.1.100/24 \ipv4.gateway 192.168.1.1 \ipv4.dns "8.8.8.8 8.8.4.4" \ipv4.method manual 激活连接 
nmcli connection up eth0-static 

4.2 图形化工具

  1. nmtui:文本界面配置工具
  2. GNOME控制中心:桌面环境图形界面
  3. cockpit:Web管理界面(端口9090)

4.3 注意事项

  1. 配置持久化:修改后自动保存,无需手动重启服务
  2. WiFi管理:需安装NetworkManager-wifi包
  3. 企业环境:支持与FreeIPA等目录服务集成
  4. 云环境:自动识别AWS/Azure等云平台网络配置
  5. 日志查看:journalctl -u NetworkManager

5. 服务冲突解决方案

5.1 典型冲突表现

  1. IP地址配置被意外覆盖
  2. 网络接口频繁up/down
  3. 路由表被自动修改
  4. DNS设置重置
  5. 服务启动顺序导致配置失效

5.2 彻底解决方案

方案一:完全使用NetworkManager

禁用传统network 
systemctl disable --now network 
yum remove network-scripts 确保NetworkManager接管所有设备 
nmcli device set eth0 managed yes 

方案二:完全使用传统network

禁用NetworkManager 
systemctl disable --now NetworkManager 安装传统network支持 
yum install network-scripts 

方案三:混合使用(不推荐)

明确设备管理权 
nmcli device set eth0 managed no 在ifcfg文件中添加 
NM_CONTROLLED=no 

5.3 冲突排查流程

  1. 检查服务状态:systemctl status network NetworkManager
  2. 查看设备管理权:nmcli device show
  3. 检查配置覆盖:ls -l /etc/resolv.conf
  4. 分析日志:journalctl -u network -u NetworkManager --since "1 hour ago"
  5. 验证配置:nmcli connection show vs cat /etc/sysconfig/network-scripts/ifcfg-*

5.4 进一步说明network显示active (exited)

正常应是 active(running),但是显示exited网络却正常使用,我也没有找到具体原因,按照禁用NetworkManager这些方案或者重装network都没能解决,有知道的大佬求指点,不甚感激

结语:如何选择网络服务

选择network当:

  • 管理不需要频繁变更的服务器
  • 需要精确控制网络配置
  • 运行在无图形界面的环境
  • 使用较旧的自动化工具

选择NetworkManager当:

  • 管理笔记本电脑或移动设备
  • 需要管理多种网络连接(WiFi/VPN等)
  • 在云环境或容器平台运行
  • 需要与其他现代Linux工具集成

无论选择哪种方案,建议在CentOS 8+环境中优先考虑NetworkManager,因为它是Red Hat官方推荐的未来方向,且能更好地支持现代网络功能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/80235.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unity:父挂 Rigidbody2D、子挂 Collider2D 时触发器不生效的问题分析

目录 ❓问题现象 🔍 排查与定位 ⚠️ Unity 触发机制的核心要求 ✅ 为什么把 Collider2D 移到父物体后就能触发? 💡 解决方案 在 Unity 2D 游戏开发中,很多人习惯用父物体挂载 Rigidbody2D,而将不同的身体部位&am…

Google AI版图:解析AI Studio, Gemini, NotebookLM与GCP

1. 2C vs 2B: AI Studio: 主要是面向开发者,提供一个易用的界面来探索和构建基于Google模型的应用。虽然最终的应用可能服务于C端或B端,但AI Studio本身更多是一个开发者的工具平台,可以看作是连接模型能力和各种应用的桥梁。它可以被个人开…

Oracle EBS AP发票被预付款核算创建会计科目时间超长

背景 由于客户职能部门的水电、通信和物业等等费用统一管理或对接部门报销费,在报销费的时候,用户把所有费用分摊到各个末级部门,形成AP发票行有上千行, 问题症状 1、用户过账时,请求创建会计科目一直执行20多个小时未完成,只能手工强行取消请求。 2、取消请求以后,从后…

MySQL中MVCC指什么?

简要回答: MVCC(multi version concurrency control)即多版本并发控制,为了确保多线程下数据的安全,可以通过undo log和ReadView来实现不同的事务隔离级别。 对于已提交读和可重复读隔离级别的事务来说,M…

赛季7靶场 -- Checker --User flag

本系列仅说明靶场的攻击思路,不会给出任何的详细代码执行步骤,因为个人觉得找到合适的工具以实现攻击思路的能力也非常重要。root要逆向,没做了,但是user flag也有借鉴意义,关于2FA的绕过我们有必要了解 1.首先Nmap扫描…

【RAG技术全景解读】从原理到工业级应用实践

目录 🌟 前言🏗️ 技术背景与价值🚨 当前技术痛点🛠️ 解决方案概述👥 目标读者说明 🔍 一、技术原理剖析📐 核心概念图解💡 核心作用讲解⚙️ 关键技术模块说明⚖️ 技术选型对比 &…

【嵌入式开发-RS-485】

嵌入式开发-RS-485 ■ RS-485 连接方式■ RS-485 半双工通讯■ RS-485 的特点■ UART硬流控■ RS-4851. 全双工、半双工接线2. 拓扑结构3. RS-485收发器3.1 发送模式(TX)3.2 接收模式(RX) 4. RS-485数据链路5. RS-485常用电路6. C…

[硬件电路-18]:MCU - LPC1765FBD100是恩智浦(NXP)半导体推出的一款基于ARM Cortex-M3内核的高性能32位微控制器

LPC1765FBD100是恩智浦(NXP)半导体推出的一款基于ARM Cortex-M3内核的高性能32位微控制器,具备高集成度、低功耗、丰富的外设接口和强大的处理能力,适用于工业控制、消费电子、医疗设备、通信系统等嵌入式应用场景。 以下从核心特…

MyBatis(进阶)(xml标签)

本节⽬标 1. 学习MyBatis的动态SQL查询 2. 掌握MyBatis在项⽬中的应⽤, 可以使⽤Spring MVC完成⼀些基础的功能 1. 动态SQL(XML) 动态 SQL 是Mybatis的强⼤特性之⼀,能够完成不同条件下不同的 sql 拼接 可以参考官⽅⽂档: M…

QT QList容器及行高亮

总结QList是一个泛型/模板链表,可以自己定义数据类型,ExtraSelection是一种“数据类型”

【Python】Python项目中的依赖与配置:requirements.txt、setup.py、pyproject.toml 详解

在昨天的文章【Python】通过Editable Install模式详解,解决Python开发总是import出错的问题 中, 我们提到了Python项目的配置文件requirements.txt、setup.py、pyproject.toml。在昨天的解决方案中, 我们同时维护了这三个文件。 由同学就问&a…

详细聊聊 Synchronized,以及锁的升级过程

在Java中,synchronized关键字是用于实现线程同步的重要机制,它通过内置锁(Monitor)确保多个线程对共享资源的安全访问。 1. synchronized 的基本使用与实现原理 使用方式 修饰实例方法:锁是当前对象实例。public syn…

vue3的深入组件-组件 v-model

组件 v-model 基本用法​ v-model 可以在组件上使用以实现双向绑定。 从 Vue 3.4 开始&#xff0c;推荐的实现方式是使用 defineModel() 宏&#xff1a; <script setup> const model defineModel()function update() {model.value } </script><template>…

15.thinkphp的上传功能

一&#xff0e;上传功能 1. 如果要实现上传功能&#xff0c;首先需要建立一个上传表单&#xff0c;具体如下&#xff1a; <form action"http://localhost/tp6/public/upload"enctype"multipart/form-data" method"post"><input type&…

word文档基本操作: 编辑页眉页脚和插入目录

文章目录 引言I 编辑页眉页脚II 插入目录III 知识扩展基于axure画架构图基于Knife4j导出接口文档基于PDManer导出数据库设计文档引言 背景: 信息安全认证需要准备相关文件用于审核 一般的开发设计包含总体设计、概要设计、详细设计、接口设计、数据库设计、部署结构设计、原型…

Qt 通过控件按钮实现hello world + 命名规范(7)

文章目录 使用编辑框来完成 hello world通过编辑图形化界面方式通过纯代码方式 通过按钮的方式来创建 hello world通过编辑图形化界面方式通过纯代码方式 总结Qt Creator中的快捷键如何使用文档命名规范 简介&#xff1a;这篇文章着重点并不在于创建hello world程序&#xff0c…

实时网络流量监控与防御:Python实现DDoS攻击检测

1. 需求分析 DDoS攻击通过海量请求耗尽服务器资源。本文使用 Python Scapy 实时监控流量&#xff0c;自动触发IP封禁。 2. 核心代码实现 2.1 依赖安装 pip install scapy psutil2.2 流量监控脚本&#xff08;ddos_detector.py&#xff09; import time from scapy.all im…

电赛经验分享——模块篇

1、前言 打算在这一个专栏中&#xff0c;分享一些本科控制题电赛期间的经验&#xff0c;和大家共同探讨&#xff0c;也希望能帮助刚刚参加电赛的同学&#xff0c;了解一些基本的知识。一些见解和看法可能不同或有错误&#xff0c;欢迎批评指正。 在本文中&#xff0c;主要介绍笔…

【LLM】Open WebUI 使用指南:详细图文教程

Open WebUI 是一个开源的、可扩展且用户友好的自托管 AI 平台,专为生成式人工智能模型交互而设计。 Open WebUI 旨在为用户提供一个简单易用、功能强大且高度定制化的界面,使其能够轻松与各种 AI 模型(如文本生成、图像生成、语音识别等)进行交互。 一、安装与初始化配置 扩…

HarmonyOS Next~HarmonyOS应用测试全流程解析:从一级类目上架到二级类目专项测试

HarmonyOS Next&#xff5e;HarmonyOS应用测试全流程解析&#xff1a;从一级类目上架到二级类目专项测试 引言&#xff1a;HarmonyOS生态下的质量保障挑战 在万物互联的智能时代&#xff0c;HarmonyOS作为分布式操作系统&#xff0c;为开发者带来了前所未有的创新空间&#x…