desabilita a nomeação de dispositivo de rede persistente [duplicado]

2

Eu tenho o CentOS-6.5 rodando em uma máquina virtual baseada em qemu, com uma única interface ethernet, que surpreendentemente está sendo renomeada pelo udev de eth0 para eth1 para quem conhece a razão (!)

Então eu quero desabilitar completamente esse comportamento, ou seja, passei "net.ifnames = 0" para a linha de comando do kernel. Não parece funcionar, o comportamento não mudou. Nem o "biosdevname = 0" como um parâmetro do kernel não ajudou.

% 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

Sem avisos ou erros, e posso fazer o login da VM depois disso. No entanto, parece que o udev renomeou a forma de interface de rede única eth0 para eth1, aqui está um arquivo de regras criado automaticamente na inicialização:

% 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 que o driver virtio-pci escolheria eth1 para a interface única no sistema?

No entanto, isso não acontece se eu executar o qemu sem mac = .. option, ie. o MAC endereço é qemu predefinido 52: 54: xxx mas eu quero fornecer os macs via linha de comando.

    
por Mark 31.10.2014 / 16:42

1 resposta

5

Excluir:

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

e reinicie. udev encontrará seu adaptador de rede e nomeará eth0 . Em seguida, ele recriará o arquivo acima com uma regra que nomeia consistentemente esse adaptador eth0 .

Se você ler o arquivo antes de excluí-lo, encontrará uma regra que nomeia o adaptador eth1 . Você pode ter outra regra no arquivo que nomeia um determinado adaptador eth0 . Isso geralmente acontece se você substituiu um adaptador em algum momento no passado.

Para desabilitar completamente esse comportamento, faça o arquivo acima de um link simbólico para /dev/null :

# ln -s /dev/null /etc/udev/rules.d/70-persistent-net.rules
    
por 31.10.2014 / 16:48