如何在 CentOS 8 上将网络接口名称从 enp0s3 更改为 eth0

RedHat 8 或者 CentOS 8 为网络接口使用一致且可预测的设备名称。
默认情况下,udev 根据固件、拓扑和位置信息分配固定名称。
因此,要禁用可预测的命名规则并将网络设备名称从 enp0s3 或者 ens160 更改为旧名称 eth0 ,请按照以下步骤操作:

01 首先,使用 nmcli工具检查我们当前的网络接口名称,在我的情况下,设备名称称为 ens160

# nmcli con show 
NAME    UUID                                  TYPE      DEVICE 
ens160  d0b9a4d5-0a50-4577-a115-41a1eceb943c  ethernet  ens160

02 编辑 /etc/default/grub文件并将 net.ifnames=0biosdevname=0参数添加到 GRUB_CMDLINE_LINUX变量,如下所示:

vi /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/cl-swap rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet net.ifnames=0 biosdevname=0"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true

03 接下来,我们需要重建grub.cfg文件:
a 在具有 UEFI 引导模式的系统上:

# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg

b 在具有传统引导模式的系统上,运行以下命令:

# grub2-mkconfig -o /boot/grub2/grub.cfg

04 现在,我们必须手动更新接口名称配置文件,如下所示:

# mv /etc/sysconfig/network-scripts/ifcfg-ens160 /etc/sysconfig/network-scripts/ifcfg-eth0
$sed -i 's/ens160/eth0/g' /etc/sysconfig/network-scripts/ifcfg-eth0

确保使用网络接口名称更改“ens160”。

05 重启主机:

# reboot

04 重启完成后,再次运行以下命令检查接口设备命名是否成功更改:

# nmcli con show
NAME  UUID                                  TYPE      DEVICE
eth0  d0b9a4d5-0a50-4577-a115-41a1eceb943c  ethernet  eth0
日期:2020-06-02 22:18:20 来源:oir作者:oir