运行环境迁移时,CentOS 8.0和7.6在网络配置方面有何区别?

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 的步骤:

  1. 备份原有配置

    cp -r /etc/sysconfig/network-scripts /backup/
  2. 转换为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"
  3. 禁用network-scripts(可选)

    systemctl disable network
    systemctl enable NetworkManager
  4. 验证配置

    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配置,并更新自动化脚本和文档。

云服务器