跳转到内容
搜索 RunEntLinux 文档

仅搜索 RunEntLinux 通用文档,各发行版文档使用各自的搜索入口。

    浏览当前文档目录

    EL 10:网络配置只剩 keyfile

    在 EL 10 上,/etc/sysconfig/network-scripts/ 终于成为历史:NetworkManager 用于向后兼容的 ifcfg-rh 插件随脚本一起被移除,keyfile(.nmconnection)成为仅存的连接配置格式。受影响最大的是那些”手写 ifcfg 文件配网络”的自动化脚本、机器镜像与老旧运维手册。

    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 9EL 10
    新连接默认格式keyfilekeyfile
    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。

    一次性把残留 ifcfg 转换为 keyfile
    sudo nmcli connection migrate
    sudo systemctl reload NetworkManager
    1. 升级前对每台机器跑一遍检查命令(可并入批量巡检);
    2. 用 nmcli connection migrate 完成转换;
    3. 把”下发 ifcfg 文件”的模板与脚本改为 nmcli connection add / modify,或直接下发 keyfile 文件;
    4. 升级后复查 connection.filename 全部指向 system-connections/。