我正在尝试创建 VLAN 接口。在 /etc/network/interfaces 中我有:
auto lan.110
iface lan.110 inet manual
vlan-raw-device lan
在 dmesg 中我看到
[ 2.621534] igb 0000:05:00.0 lan: renamed from eth1
[ 2.646276] igb 0000:02:00.0 wan: renamed from eth0
[ 6.768520] rename4: renamed from lan.110
如果前两个重命名没问题,则第三个就不是所需的重命名。内核有选项“net.ifnames=0 biosdevname=0”。乌班图16.04。 Linux 的哪一部分重命名了我的 VLAN?我该如何避免这种情况?
答案1
这绝对是 udev 的工作
VLAN 接口的匹配规则与以太网接口相同。
如果简单的 systemd-networkd 规则应用于物理链路:
[Match]
MACAddress=00:11:22:33:44:55
[Link]
Name=link1
然后它将应用于同一 eth 上的所有 VLAN 接口,因为它们将具有相同的 MAC 地址。这将导致 VLAN 接口被重命名为renameX
解决方案是为 VLAN 或物理接口添加额外的规则以匹配特定的 NIC。对于我的情况,Path=pci*
钥匙就足够了:
[Match]
MACAddress=00:11:22:33:44:55
Path=pci*
[Link]
Name=link1
对于匹配 VLAN 接口Driver=*802.1Q*
key 会更好