Rocky Linux 10.1网络配置:从传统ifcfg到NetworkManager
1. 问题现象与背景解析最近在Rocky Linux 10.1上配置网络时发现传统的/etc/sysconfig/network-scripts目录消失了。这其实不是系统安装错误而是Red Hat系发行版近年来的一项重要变革。作为RHEL的衍生版本Rocky Linux 9开始就默认采用了新的网络配置方式。传统网络配置脚本ifcfg文件从RHEL 7时代沿用至今其核心文件通常存放在/etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/route-eth0但在新版本中这些文件被NetworkManager的keyfile格式所取代默认存储在/etc/NetworkManager/system-connections/重要提示虽然ifcfg方式仍可通过安装额外包来支持但官方已明确表示将在未来版本中完全移除对传统脚本的支持2. 新旧网络管理机制对比2.1 传统network-scripts的运作原理传统方式通过init脚本调用ifup/ifdown命令直接操作网络接口。其典型配置示例DEVICEeth0 BOOTPROTOstatic IPADDR192.168.1.100 NETMASK255.255.255.0 GATEWAY192.168.1.1 ONBOOTyes这种方式的局限性包括缺乏动态网络状态管理能力无法处理现代网络拓扑如多租户VPN与NetworkManager服务存在冲突风险2.2 NetworkManager的新体系Rocky Linux 10.1默认使用NetworkManager的keyfile后端其特点包括统一配置存储所有连接配置集中管理支持JSON-like的键值对格式示例配置文件路径/etc/NetworkManager/system-connections/ens18.nmconnection动态响应能力# 查看当前连接状态 nmcli connection show # 实时监控网络变化 nmcli monitor多后端支持keyfile默认ifcfg-rh兼容模式ifupdownDebian系3. 实际配置操作指南3.1 基础网络配置方法通过nmcli配置静态IP的完整流程# 1. 创建新连接配置 nmcli connection add con-name office-lan ifname ens18 \ type ethernet ip4 192.168.1.100/24 gw4 192.168.1.1 # 2. 设置DNSCloudflare示例 nmcli connection modify office-lan \ ipv4.dns 1.1.1.1 1.0.0.1 # 3. 启用连接 nmcli connection up office-lan # 4. 验证配置 ip addr show ens183.2 传统ifcfg用户的过渡方案如需临时恢复旧模式安装兼容包dnf install network-scripts禁用NetworkManagersystemctl disable --now NetworkManager systemctl enable --now network注意这种降级方案可能导致与某些新硬件如Wi-Fi 6网卡的兼容性问题4. 高级网络场景配置4.1 绑定接口配置创建mode-4802.3ad绑定接口nmcli connection add type bond con-name bond0 ifname bond0 \ mode 802.3ad ipv4.method manual ipv4.addresses 10.0.0.2/24 nmcli connection add type ethernet slave-type bond \ con-name bond0-port1 ifname ens19 master bond0 nmcli connection add type ethernet slave-type bond \ con-name bond0-port2 ifname ens20 master bond04.2 VLAN配置示例为ens18接口添加VLAN 100nmcli connection add type vlan con-name vlan100 dev ens18 id 100 \ ipv4.method manual ipv4.addresses 192.168.100.2/245. 常见问题排查手册5.1 基础诊断命令# 查看NetworkManager日志 journalctl -u NetworkManager -f # 检查连接配置 nmcli connection show --active # 测试网络连通性 nmcli networking connectivity check5.2 典型错误解决方案问题1nmcli修改配置后不生效解决方案nmcli connection reload nmcli connection down name nmcli connection up name问题2双网卡路由混乱修复方法nmcli connection modify conn ipv4.never-default yes nmcli connection modify default_conn ipv4.gateway correct_gw问题3DHCP获取失败排查步骤检查物理连接状态nmcli device show iface测试DHCP服务dhclient -v iface检查防火墙规则firewall-cmd --list-all6. 最佳实践建议配置备份策略# 定期备份网络配置 mkdir -p /backup/network cp /etc/NetworkManager/system-connections/* /backup/network/ chmod 600 /backup/network/*自动化部署技巧 在Kickstart文件中添加%post nmcli connection add type ethernet con-name prod-net ifname ens18 \ ipv4.method manual ipv4.addresses 10.0.0.100/24 \ ipv4.gateway 10.0.0.1 ipv4.dns 8.8.8.8 %end性能调优参数 对于高吞吐量网卡echo ETHTOOL_OPTS-G ${DEVICE} rx 4096 tx 4096 /etc/sysconfig/network-scripts/ifcfg-device经过实际部署验证新网络管理体系在以下场景表现优异云环境中的动态网络配置容器化部署的网桥管理企业级SDN网络集成对于从旧版本迁移的用户建议先在测试环境熟悉nmcli操作再逐步将ifcfg脚本转换为keyfile格式。虽然学习曲线存在但新体系最终会带来更稳定高效的网络管理体验