deshabilitar la nomenclatura de dispositivos de networking persistentes

Tengo CentOS-6.5 ejecutándose en una máquina virtual basada en qemu, con una sola interfaz de ethernet, que sorprendentemente está siendo renombrada por udev de eth0 a eth1 para quien conoce la razón (!)

Así que quiero deshabilitar completamente este comportamiento, es decir, pasé "net.ifnames = 0" a la command-line del kernel. Parece que no funciona, el comportamiento no ha cambiado. Ni "biosdevname = 0" como parámetro de kernel no ayudó.

% qemu-system-x86_64 -cpu host -boot c -hda my_image.qcow2 -snapshot -m 1024 --enable-kvm -name vm0 -nographic -display curses -pidfile /var/run/vm0.pid -mem-path /dev/hugepages -mem-prealloc -monitor unix:/var/run/vm0monitor,server,nowait -net none -netdev type=tap,id=net0,script=no,downscript=no,ifname=vhost1,vhost=on -device virtio-net-pci,netdev=net0,mac=00:00:00:00:00:01,csum=off,gso=off,guest_tso4=off,guest_tso6=off,guest_ecn=off 

No hay advertencias o errores, y puedo iniciar session en la VM después. Sin embargo, parece que udev ha cambiado el nombre de la interfaz de networking única de eth0 a eth1, aquí hay un file de reglas creado automáticamente en el arranque:

 % cat /etc/udev/rules.d/70-persistent-net.rules # PCI device 0x1af4:0x1000 (virtio-pci) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:00:00:00:00:0 1", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1" 

¿Por qué el controller virtio-pci elegiría eth1 para la interfaz única en el sistema?

Sin embargo, esto no ocurre si ejecuto qemu sin la opción mac = .., es decir. la dirección MAC está pnetworkingefinida en qemu 52: 54: xxx, pero quiero proporcionar los macs a través de la command-line.

Borrar:

 /etc/udev/rules.d/70-persistent-net.rules 

y reiniciar udev encontrará su adaptador de networking y lo eth0 . A continuación, volverá a crear el file anterior con una regla que consistentemente nombra ese adaptador eth0 .

Si lee el file antes de eliminarlo, encontrará una regla que nombra el adaptador eth1 . Puede tener otra regla en el file que nombre un determinado adaptador eth0 . Esto sucede a menudo si reemplazó un adaptador en algún momento del pasado.

Para deshabilitar completamente este comportamiento, haga que el file sobre un enlace simbólico a /dev/null :

 # ln -s /dev/null /etc/udev/rules.d/70-persistent-net.rules