CentOS 8.0 与 7.6 在网络配置方面的主要区别如下:
1. 网络服务管理
- CentOS 7.6:默认使用
network-scripts(ifcfg文件)+ NetworkManager - CentOS 8.0:弃用 network-scripts,推荐使用:
- NetworkManager(默认且主要工具)
- nmcli(命令行工具)
- nmtui(文本界面工具)
- keyfiles(替代ifcfg文件,位于
/etc/NetworkManager/system-connections/)
2. 配置文件位置与格式
# CentOS 7.6
/etc/sysconfig/network-scripts/ifcfg-eth0
# CentOS 8.0(推荐)
/etc/NetworkManager/system-connections/eth0.nmconnection
# 或(兼容模式)
/etc/sysconfig/network-scripts/ifcfg-eth0
3. 网络配置命令
# CentOS 7.6
systemctl restart network
ifup/ifdown eth0
# CentOS 8.0
nmcli connection reload
nmcli connection up eth0
nmcli connection down eth0
4. 网络设备命名
- 两者都支持:一致性网络设备命名(ens192, enp0s3等)
- CentOS 8:更彻底地使用预测性命名,传统eth0命名需手动配置
5. DNS配置
# CentOS 7.6
/etc/resolv.conf(可能被NetworkManager覆盖)
# CentOS 8.0
nmcli connection modify eth0 ipv4.dns "8.8.8.8 8.8.4.4"
# 或使用resolvectl(systemd-resolved)
6. 迁移建议
从 7.6 迁移到 8.0 的步骤:
-
备份原有配置
cp -r /etc/sysconfig/network-scripts /backup/ -
转换为NetworkManager配置
# 导入旧配置 nmcli connection import type ethernet file /etc/sysconfig/network-scripts/ifcfg-eth0 # 或手动创建 nmcli connection add type ethernet con-name eth0 ifname eth0 ipv4.method manual ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns "8.8.8.8" -
禁用network-scripts(可选)
systemctl disable network systemctl enable NetworkManager -
验证配置
nmcli connection show nmcli device status ip addr show
7. 兼容性说明
- CentOS 8 仍可安装
network-scripts包,但会显示废弃警告:yum install network-scripts # 不推荐 - 新服务器建议直接使用NetworkManager
- 现有脚本需要适配nmcli命令
8. 防火墙变化
- 两者都使用firewalld
- CentOS 8 的firewalld版本更新,但基本命令相同
关键总结
| 特性 | CentOS 7.6 | CentOS 8.0 |
|---|---|---|
| 默认配置方式 | ifcfg文件 | NetworkManager |
| 配置文件 | /etc/sysconfig/network-scripts/ |
/etc/NetworkManager/ |
| 管理命令 | systemctl restart network |
nmcli |
| 状态查看 | ip addr, ifconfig |
nmcli device status |
建议在迁移前充分测试NetworkManager配置,并更新自动化脚本和文档。
CLOUD技术笔记