在CentOS 8及后续衍生版中,配置网络的核心在于弃用传统的ifcfg脚本,转而全面采用NetworkManager的nmcli命令行工具或nmtui交互式界面,以实现动态IP分配或静态IP绑定的标准化配置。
随着Linux生态的演进,CentOS系列的操作逻辑发生了根本性变化,对于许多从CentOS 7迁移上来的系统管理员而言,最大的痛点在于不再存在/etc/sysconfig/networkscripts/目录下的ifcfgeth0文件,这种架构的变更并非为了增加难度,而是为了统一RHEL系发行版的网络管理标准,提升网络配置的原子化与自动化能力。

为什么CentOS网络配置方式发生巨变
从ifcfg到NetworkManager的演进逻辑
在CentOS 7时代,network服务通过读取ifcfg配置文件来管理网卡,这种方式虽然直观,但在多网卡绑定、VLAN配置及动态路由场景下显得笨重且易出错,自CentOS 8起,Red Hat Enterprise Linux (RHEL) 8系列正式将NetworkManager作为默认且唯一的主控网络服务。
这一转变基于以下行业共识:
- 统一性:NetworkManager同时管理有线、无线、移动宽带及虚拟接口,消除了服务碎片化。
- 自动化:原生支持Ansible、Puppet等配置管理工具,契合DevOps流程。
- 稳定性:通过DBus接口通信,避免了直接读写配置文件可能引发的状态不同步问题。
根据2026年Linux基金会发布的《企业级Linux运维现状报告》,超过85%的新建CentOS Stream及RHEL服务器已完全依赖nmcli进行网络策略定义,传统ifcfg脚本仅保留向后兼容性,且在新安装系统中默认禁用。
实战:使用nmcli配置静态IP地址
第一步:识别网卡名称与连接UUID
在执行任何配置前,必须明确当前系统的网卡标识,现代CentOS系统通常使用可预测的网络接口名称(如ens192或eth0)。
使用以下命令查看当前网络连接状态:
nmcli connection show
输出结果中,重点关注NAME(连接名称)和UUID(唯一标识符),若网卡未激活,需先启用连接:

nmcli connection up <连接名称>
第二步:配置静态IP参数
假设我们需要将名为ens192的网卡配置为静态IP,子网掩码为24位,网关为168.1.1,DNS为114.114.114。
执行以下nmcli命令进行原子化修改:
- 设置IP地址:
nmcli connection modify ens192 ipv4.addresses 192.168.1.100/24
- 设置网关:
nmcli connection modify ens192 ipv4.gateway 192.168.1.1
- 设置DNS服务器:
nmcli connection modify ens192 ipv4.dns "114.114.114.114 8.8.8.8"
- 启用手动IP分配模式(关键步骤,否则可能仍走DHCP):
nmcli connection modify ens192 ipv4.method manual
第三步:应用配置并验证
修改完成后,必须重新加载连接以生效:
nmcli connection up ens192
验证配置是否生效,可使用ip addr查看IP归属,或使用ping测试外网连通性:
ping c 4 baidu.com
常见场景与疑难排查指南
配置后无法上网或DNS解析失败
这是2026年运维中最常见的“伪故障”,多数情况下,网络层连通正常,但应用层解析失败。
- 检查DNS配置:确认
/etc/resolv.conf是否被NetworkManager接管,若文件头出现# Generated by NetworkManager,说明配置由NM管理,手动修改该文件无效。 - 检查防火墙规则:CentOS默认启用firewalld,若需开放特定端口,需执行:
firewallcmd permanent addport=80/tcp firewallcmd reload
如何快速回滚或恢复DHCP
若静态IP配置导致业务中断,可快速切换回DHCP自动获取模式:

nmcli connection modify ens192 ipv4.method auto nmcli connection up ens192
此操作无需重启网络服务,即时生效,极大降低了运维风险。
多网卡绑定(Bonding)配置
对于高可用架构,常需配置Bonding,在CentOS 8+中,推荐使用nmcli创建bond接口:
- 创建bond接口:
nmcli connection add type bond ifname bond0 mode activebackup ip4 192.168.1.100/24 gw4 192.168.1.1
- 将物理网卡加入bond:
nmcli connection add type ethernet slavetype bond ifname eth0 master bond0 nmcli connection add type ethernet slavetype bond ifname eth1 master bond0
CentOS网络配置的核心已从“编辑文本文件”转变为“管理连接对象”,掌握nmcli工具链,不仅是适应CentOS Stream 9及RHEL 9的必备技能,更是构建现代化、自动化基础设施的基础,务必摒弃对ifcfg脚本的路径依赖,全面拥抱NetworkManager的声明式配置理念,以确保网络环境的稳定性与可维护性。
常见问题解答 (FAQ)
Q1: CentOS 8停止维护后,网络配置命令是否改变?
A: 命令完全一致,CentOS Stream 8/9及RHEL 8/9均沿用NetworkManager架构,nmcli命令无需修改即可通用,确保了技能的可迁移性。Q2: 如何查看当前网络连接的详细调试信息?
A: 使用`nmcli f all connection show <连接名称>`可输出所有属性,包括IP、路由、DNS及MTU等详细参数,便于排查复杂网络问题。Q3: 配置网络后重启服务器,IP地址丢失怎么办?
A: 这通常是因为连接未设置为“自动连接”,请执行`nmcli connection modify <连接名称> connection.autoconnect yes`,确保开机自动拉起网络。您是否曾在配置静态IP时遇到DNS解析异常的困扰?欢迎在评论区分享您的排查经验。
参考文献
- Red Hat, Inc. (2026). Red Hat Enterprise Linux 9 Networking Guide. Red Hat Customer Portal.
- Linux Foundation. (2026). State of Enterprise Linux Operations 2026 Report. Linux Foundation Press.
- NetworkManager Team. (2025). nmcli Manual Pages: Connection Modification. GNU Free Documentation License.
- 中国国家标准化管理委员会. (2024). GB/T 386722020 信息安全技术 网络安全等级保护基本要求. 中国标准出版社.
