自定义网络接口名称

来自 Alpine Linux
此材料建议合并 ...

它应该与 mdev 合并。 这可能是 mdev 文章中 “配置 mdev” 章节的一部分 (讨论)

本文展示了如何重命名/更改网络接口的名称。

Alpine Linux 默认使用 busybox mdev 来管理 /dev 中的设备。 mdev 读取 /etc/mdev.conf,并且根据 mdev 文档,可以为每个设备定义定义一个要执行的命令。 将用于更改网络接口名称的命令是 nameif

/etc/mdev.conf 配置

/etc/mdev.conf 的内容

-SUBSYSTEM=net;DEVPATH=.*/net/.*;.* root:root 600 @/sbin/nameif -s

这里我们告诉 mdev 为在 /sys/class/net/ 中找到的设备调用 nameif

# ls -d -C -1 /sys/class/net/eth* /sys/class/net/eth1 /sys/class/net/eth2 /sys/class/net/eth3 /sys/class/net/eth4 /sys/class/net/eth5

nameif 配置

nameif 自身默认读取 /etc/mactab

# cat /sys/class/net/eth0/address 90:e2:ba:04:28:c0

将是

# grep 90:e2:ba:04:28:c0 /etc/mactab dmz0 90:e2:ba:04:28:c0

ramdisk 重建

/etc/mdev.conf 是 ramdisk 的一部分

# grep /etc/mdev.conf /etc/mkinitfs/features.d/*.files /etc/mkinitfs/features.d/base.files:/etc/mdev.conf

因此我们需要重建 ramdisk

# mkinitfs $(ls /lib/modules/) ==> initramfs: creating /boot/initramfs-lts

最终化

要在不重启的情况下使用重命名的网络接口,只需在网络接口关闭时调用 nameif

# nameif -s

最后重启...