如何使用 prefixdevname 在 CentOS/RHEL 8 中更改接口名称

这篇文章将有助于在 CentOS/RHEL 8 系统中使用 prefixdevname 实用程序更改网络接口名称。

安装和配置

  1. 使用 dnf 实用程序安装所需的包:
# dnf install prefixdevname
  1. 使用 grubby 命令添加 net.ifnames.prefix=[ABCD] :(ABCD 替换为自己的前缀,例如:net)。
# grubby --update-kernel=$(grubby --default-kernel) --args="net.ifnames.prefix=net"
  1. 重启系统生效:
# reboot
  1. 系统重新启动后,新的网络接口名称,例如:net 应显示在以下命令的输出中。
# ip link show 
# nmcli device status

如何禁用prefixdevname

  1. 使用 grubby 命令更新内核命令行参数:
# grubby --update-kernel=$(grubby --default-kernel) --remove-args="net.ifnames.prefix=net"
  1. 删除所有为prefixdevname创建的udev规则,在此之前将这些配置文件备份到不同的位置:
# rm -rvf /etc/systemd/network/-net*
  1. 重启系统使默认前缀格式生效。
# reboot

注意:自定义前缀名称不应与 CentOS/RHEL 系统中用于 NIC 命名的默认或者以下前缀名称冲突,例如:eth、eno、ens、em。

更多: zhilu jiaocheng

例子

在添加 net.ifnames.prefix 参数之前

# cat /proc/cmdline
BOOT_IMAGE=(hd0,msdos1)/vmlinuz-4.18.0-80.el8.x86_64 root=/dev/mapper/ol-root ro crashkernel=auto resume=/dev/mapper/ol-swap rd.lvm.lv=ol/root rd.lvm.lv=ol/swap rhgb quiet
# ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback <MAC> brd 00:00:00:00:00:00
2: ens6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether <MAC> brd ff:ff:ff:ff:ff:ff
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000
link/ether <MAC> brd ff:ff:ff:ff:ff:ff
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr0 state DOWN mode DEFAULT group default qlen 1000
link/ether <MAC> brd ff:ff:ff:ff:ff:ff
# nmcli device status
DEVICE TYPE STATE CONNECTION
ens6 ethernet connected Wired connection 1
virbr0 bridge connected virbr0
lo loopback unmanaged -
virbr0-nic tun unmanaged -
# ls -l /etc/systemd/network/
ls: cannot access '/etc/systemd/network/': No such file or directory

添加 net.ifnames.prefix=net 参数后

# cat /proc/cmdline
BOOT_IMAGE=(hd0,msdos1)/vmlinuz-4.18.0-80.el8.x86_64 root=/dev/mapper/ol-root ro crashkernel=auto resume=/dev/mapper/ol-swap rd.lvm.lv=ol/root rd.lvm.lv=ol/swap rhgb quiet net.ifnames.prefix=net
# ls -l /etc/systemd/network/
total 4
-rw-r--r--. 1 root root 55 Aug 19 20:34 71-net-ifnames-prefix-net0.link

上面的命令表明,为新名称前缀创建了 udev 规则。

# ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: net0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether 56:6f:4c:a7:00:08 brd ff:ff:ff:ff:ff:ff
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000
link/ether 52:54:00:a3:48:05 brd ff:ff:ff:ff:ff:ff
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr0 state DOWN mode DEFAULT group default qlen 1000
link/ether 52:54:00:a3:48:05 brd ff:ff:ff:ff:ff:ff
# nmcli device status
DEVICE TYPE STATE CONNECTION
net0 ethernet connected Wired connection 1
virbr0 bridge connected virbr0
lo loopback unmanaged -
virbr0-nic tun unmanaged -
日期:2020-09-17 00:13:13 来源:oir作者:oir