欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 美景 > CentOS网络之network和NetworkManager深度解析

CentOS网络之network和NetworkManager深度解析

2025/5/7 14:59:38 来源:https://blog.csdn.net/CSDN_LJK/article/details/147634539  浏览:    关键词: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官方推荐的未来方向,且能更好地支持现代网络功能。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词