持久网络接口命名和 kvm

持久网络接口命名和 kvm

eth0我想知道为什么我的网络接口仍然在我的 kvm guest 中命名。 udevadm 仅输出

# udevadm test-builtin net_id /sys/class/net/eth0 2> /dev/null
ID_NET_NAME_MAC=enxc2184ae7ab3f

我希望他们被称为像enpXsY.该目录/etc/udev/rules.d是空的。 Linux 品牌是 Gentoo,3.15.5-hardened-r2。虚拟化是带有qemu 2.0的KVM,网络接口是virtio。在主机和其他机器上,设置与 udev 相同,但接口按预期通过新名称进行调用。

为什么会这样呢?启用新标识符需要什么?

我的第一个想法是新标识符指的是 PCI 设备,而 virtio 设备不是 PCI 设备。然而,lspci事实证明我错了:

00:03.0 Ethernet controller: Red Hat, Inc Virtio network device
    Subsystem: Red Hat, Inc Device 0001
    Flags: bus master, fast devsel, latency 0, IRQ 11
    I/O ports at c040 [size=32]
    Memory at febd1000 (32-bit, non-prefetchable) [size=4K]
    Expansion ROM at feb80000 [disabled] [size=256K]
    Capabilities: [40] MSI-X: Enable+ Count=3 Masked-
    Kernel driver in use: virtio-pci

00:04.0 SCSI storage controller: Red Hat, Inc Virtio block device
    Subsystem: Red Hat, Inc Device 0002
    Flags: bus master, fast devsel, latency 0, IRQ 10                                    
    I/O ports at c000 [size=64]
    Memory at febd2000 (32-bit, non-prefetchable) [size=4K]
    Capabilities: [40] MSI-X: Enable+ Count=2 Masked-
    Kernel driver in use: virtio-pci

所以这不是原因。

相关内容