如何在同一张网卡上分配多个不同的接口名称(硬件MAC地址)

如何在同一张网卡上分配多个不同的接口名称(硬件MAC地址)

我使用的是 Ubuntu Linux 系统。对于我的任务,我必须通过执行相应的脚本来运行一些模块。所有模块必须在后台同时运行,但都有不同的接口名称、IPv4 和 IPv6 地址配置。所以,基本上我必须同时运行具有不同 IP 配置的不同模块。

在这里,我在持久网络规则文件中指定所有 NIC 卡接口的地址及其相应的名称。假设我有一个网卡 MAC 地址,并且希望有两个不同的接口名称与同一 MAC 地址关联。我知道我们可以通过为特定接口创建别名来为其分配多个虚拟 IP 地址。但是我们如何为特定的硬件 MAC 地址分配不同的接口名称呢?

例如:

Persistent-net-generator.rules 规则文件。我们可以修改它,只要将每个规则保留在一行上,并且仅更改 NAME= 键的值即可。

net device ()
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:04:9f:02:81:97", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

net device ()
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:04:9f:02:81:96", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

net device ()
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:04:9f:02:81:95", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"

如何获取与 MAC 地址“00:04:9f:02:81:97”关联的两个接口名称?

答案1

您可能想看看新的 iproute2网络接口替代名称特征 (ip link altname)。请注意,自该文章以来,命令语法似乎已发生变化。例如:

ip link property add dev eth0 altname someothername

请注意,这是非常新的,您需要最新版本iproute2才能工作(v5.4.0如果我正确阅读 git 日志,该版本于 2019 年 11 月 25 日发布)。

相关内容