centos关闭预测网卡命名规则

在 CentOS7/CentOS8(基于 systemd/udev)中,默认采用 Predictable Network Interface Names(可预测网卡命名规则),网卡一般命名为 ens33enp0s3 等。如果要改回传统的 eth0/eth1 命名,可以通过以下方法实现:

方法一:内核参数关闭新命名规则

  1. 编辑 grub 配置:

    1
    vi /etc/default/grub
  2. GRUB_CMDLINE_LINUX 中追加:

    net.ifnames=0 biosdevname=0
    

    示例:

    GRUB_CMDLINE_LINUX="crashkernel=auto net.ifnames=0 biosdevname=0 rhgb quiet"
    
  3. 重新生成 grub 配置:

    • CentOS7:

      1
      grub2-mkconfig -o /boot/grub2/grub.cfg
    • CentOS8(UEFI 启动):

      1
      grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg

⚠️:grub路径

  1. 重启后网卡会回到 eth0/eth1 命名。

方法二:使用 udev 规则强制改名

如果只想让某一块网卡改名为 eth0 而不是禁用规则,可以写 udev 规则:

  1. 查看网卡 MAC 地址:

    1
    ip link show
  2. 创建规则文件:

    1
    vi /etc/udev/rules.d/70-persistent-net.rules

    内容示例:

    SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="52:54:00:12:34:56", NAME="eth0"
    
  3. 重新加载规则并重启。

总结

方法一(内核参数)最彻底,适合所有网卡都恢复成 ethX
方法二适合单独映射。