CentOS 8网络管理器(NetworkManager)未运行会导致网络连接异常,常见原因包括服务未启动、配置文件错误或依赖冲突,解决时首先检查服务状态,通过systemctl status NetworkManager确认;若未运行,执行systemctl start NetworkManager并设置开机自启systemctl enable NetworkManager,若服务启动失败,可检查/etc/NetworkManager/NetworkManager.conf配置文件是否正确,或使用nmcli connection show查看网络连接状态,必要时修复依赖或重装网络管理器,确保网络功能恢复正常。
在CentOS 8系统中,网络管理器(NetworkManager)是核心的网络服务组件,负责自动检测、配置和管理网络连接(包括有线、无线、VPN等),当NetworkManager未运行时,系统可能无法连接网络、IP地址分配异常,或导致网络服务不稳定,本文将详细分析CentOS 8中NetworkManager未运行的常见原因,并提供具体的诊断步骤和解决方法,帮助快速恢复网络连接。
NetworkManager未运行的常见原因
导致NetworkManager服务未运行的原因多样,主要包括以下几类:
服务未启动或开机自启未配置
NetworkManager服务可能被手动停止,或系统启动时未自动加载(未启用开机自启)。

服务被禁用
通过systemctl disable命令禁用了NetworkManager服务,导致其无法在开机时或手动启动时运行。
依赖服务异常
NetworkManager依赖某些基础服务(如dbus、firewalld等),若依赖服务未运行或配置错误,可能导致NetworkManager启动失败。
系统资源不足
内存(RAM)或磁盘空间不足,可能导致NetworkManager服务无法正常初始化或运行。
配置文件冲突或错误
网络配置文件(如/etc/sysconfig/network-scripts/下的ifcfg-*文件)存在冲突、格式错误,或手动修改了NetworkManager的核心配置(如/etc/NetworkManager/NetworkManager.conf),导致服务无法启动。
软件包损坏或版本不兼容
NetworkManager软件包本身损坏,或与其他网络工具(如ifcfg传统网络配置工具)冲突,可能导致服务异常。
系统启动异常
系统启动过程中出现错误(如服务启动顺序冲突、内核参数问题等),可能导致NetworkManager服务未正确加载。
诊断NetworkManager未运行的步骤
在解决问题前,需先通过命令和日志确认服务状态,定位具体原因。
检查NetworkManager服务状态
使用以下命令查看服务当前状态:
systemctl status NetworkManager
- 若输出中包含
Active: active (running),则服务正在运行; - 若显示
Active: inactive (dead),则服务未运行; - 若显示
Active: failed,则服务启动失败,需查看错误日志。
检查服务是否启用(开机自启)
确认服务是否配置为开机自启:
systemctl is-enabled NetworkManager
- 返回
enabled表示已启用; - 返回
disabled表示未启用,需手动配置。
查看服务错误日志
通过journalctl命令查看NetworkManager的详细日志,定位启动失败的具体原因:
journalctl -u NetworkManager --no-pager -n 50
重点关注日志中的Error、Failed等关键词,
Failed to start network service:依赖服务问题;Configuration file error:配置文件格式错误;Resource temporarily unavailable:系统资源不足。
检查网络接口状态
查看系统网络接口是否被NetworkManager管理:
nmcli device status
若所有接口均显示unmanaged(未管理),则可能是NetworkManager未运行或未正确识别接口。
检查依赖服务状态
确认依赖服务(如dbus、firewalld)是否运行:
systemctl status dbus systemctl status firewalld
针对不同原因的解决方法
服务未启动:手动启动并启用开机自启
若服务未运行,可手动启动并配置开机自启:
# 启动服务 sudo systemctl start NetworkManager # 启用开机自启 sudo systemctl enable NetworkManager
服务被禁用:重新启用服务
若服务被禁用(systemctl is-enabled返回disabled),通过以下命令启用:
sudo systemctl enable --now NetworkManager # 同时启用并启动服务
依赖服务异常:修复或启动依赖服务
若依赖服务(如dbus、firewalld)未运行,先修复依赖服务:
# 启动dbus服务(NetworkManager依赖的核心服务) sudo systemctl start dbus sudo systemctl enable dbus # 若firewalld冲突,可临时关闭(或按需配置规则) sudo systemctl stop firewalld sudo systemctl disable firewalld
系统资源不足:释放资源
检查内存和磁盘空间:
# 查看内存使用 free -h # 查看磁盘空间 df -h
- 若内存不足,可关闭不必要的服务或重启系统;
- 若磁盘空间不足(尤其是
/var或/tmp分区),清理无用文件(如日志、缓存)。
配置文件冲突或错误:修复或重置配置
场景1:网络配置文件(ifcfg-*)冲突
检查/etc/sysconfig/network-scripts/目录下的配置文件,避免手动配置与NetworkManager管理冲突,若存在ifcfg-eth0且ONBOOT=yes,但NetworkManager未接管,可修改文件:
sudo vim /etc/sysconfig/network-scripts/ifcfg-eth0
确保以下参数正确:
TYPE=Ethernet BOOTPROTO=dhcp # 或static,根据网络

