EL 10:网络配置只剩 keyfile
在 EL 10 上,/etc/sysconfig/network-scripts/ 终于成为历史:NetworkManager 用于向后兼容的 ifcfg-rh 插件随脚本一起被移除,keyfile(.nmconnection)成为仅存的连接配置格式。受影响最大的是那些”手写 ifcfg 文件配网络”的自动化脚本、机器镜像与老旧运维手册。
这是什么变化
Section titled “这是什么变化”NetworkManager 的连接配置长期有两种落盘格式:
- ifcfg:sysconfig 风格(
ifcfg-eth0),由 ifcfg-rh 插件读写,是 EL 7 及更早时代的默认; - keyfile:INI 风格,存放在
/etc/NetworkManager/system-connections/,文件名形如eth0.nmconnection,权限通常为 600。
EL 9 已经把 keyfile 设为新连接的默认格式,ifcfg 被标记弃用但仍可读写;EL 10 则把 ifcfg-rh 插件整体移除,NetworkManager 不再认识 /etc/sysconfig/network-scripts/ 下的任何文件。残留的 ifcfg 不会报错,只是被静默忽略——连接会退回自动生成的配置,或干脆不出现。
keyfile 能表达 ifcfg 能表达的一切(bond、bridge、VLAN、静态路由),还支持 ifcfg 表达不了的类型(如 WireGuard)。
EL 9 → EL 10 对比
Section titled “EL 9 → EL 10 对比”| 项 | EL 9 | EL 10 |
|---|---|---|
| 新连接默认格式 | keyfile | keyfile |
| ifcfg 读写 | 弃用但仍支持 | 彻底移除 |
/etc/sysconfig/network-scripts/ | 仍被读取 | 不再读取 |
| 迁移工具 | nmcli connection migrate | 同左(须在升级前执行) |
- 不受影响:一直用
nmcli/nmtui/ Cockpit 管理网络的机器——它们写的一直是 keyfile。 - 受影响:
- 直接下发 ifcfg 文件的 Kickstart、Ansible、cloud-init 模板;
- 靠
grep DEVICE= /etc/sysconfig/network-scripts/ifcfg-*查 IP 的巡检脚本; - 只残留 ifcfg 配置的老机器镜像。
nmcli -f connection.id,connection.filename connection show文件名以 .nmconnection 结尾的是 keyfile;指向 /etc/sysconfig/network-scripts/ 的是 ifcfg。
sudo nmcli connection migratesudo systemctl reload NetworkManager- 升级前对每台机器跑一遍检查命令(可并入批量巡检);
- 用
nmcli connection migrate完成转换; - 把”下发 ifcfg 文件”的模板与脚本改为
nmcli connection add / modify,或直接下发 keyfile 文件; - 升级后复查
connection.filename全部指向system-connections/。
- NetworkManager 基础 — 连接、IP 与 DNS 的日常操作
- EL 10 变化总览 — EL 9 → 10 的完整变化清单
- EL 9 → EL 10 升级 — 就地升级步骤与回滚方案
- EL 10:工具链全面更新 — 同版本的其他重要变化