任意 VLAN 接口名称

任意 VLAN 接口名称

有没有办法任意命名 VLAN 接口,类似eth72ext19代替四种标准命名方案eth0.72vlan19以及填充变体)?

不知道。也许是 udev?

答案1

天哪,这是简单的:

改名VLAN 42eth0扩展2

ip link set dev eth0.42 name ext2

答案2

我使用“ip link set dev bond0.10 name ext0”时运气不佳。如果接口处于开启状态,则会收到 BUSY 错误。如果接口处于关闭状态,则会收到 NOT FOUND 错误。

我确实很幸运,因为这是:在我的 bond0 基本接口定义中,

post-up ip link add name ext0 link bond0 type vlan id 10
pre-down ip link delete dev ext0 type vlan

auto ext0
iface ext0 inet static
    address ...

现在我发现“ifup bond0”不仅创建了 /proc/net/vlan/config 中所示的 VLAN 并创建了 ext0 设备,而且它甚至 ifup 了 ext0 设备。bond0.10 从未存在过。

答案3

在 OpenBSD(可能还有其他 BSD)中,你可以使用 ifconfig 中的恰当命名的参数来设置接口的描述description,请参阅ifconfig(8)。这对于区分一堆接口非常方便。但这对您没有帮助。

不幸的是,在 Linux 中没有很好的方法可以做到这一点。

在 Linux 中,接口是动态命名的,每个接口都会被分配第一个可用名称。这意味着如果您移除一个 NIC 然后添加另一个(例如更换或升级),则不能保证其接口会保持不变。

尝试类似的程序重命名这将允许您手动指定接口名称。它看起来主要是为了确保NIC0始终与相关联,eth0但我相信您可以使用它为接口分配名称,例如和,externaldmz不是和eth0等等。Udev 还允许您使用 network.rules 文件更改接口名称(请参阅这里举例来说)。

您应该小心地记录这一点,因为通常不会这样做,但与@MichealHampton 不同,我没有发现任何特别的问题。我个人在我的 BSD 安装中充分利用了接口的描述字段。

答案4

因此,这种方法很有效。

在/etc/network/interfaces中:

auto lxdHost
iface lxdHost static
   pre-up ip link add link eth0 name lxdHost type vlan id 102
   address 192.1.1.1/25
   ...

然后 ifup lxdHost

pre-up 和 post-down 以及界面人中的其他功能都是让您按照自己的方式做事的神奇钩子。

相关内容