Não adicione novas interfaces ethernet, use-a como eth0

1

Eu tenho vários dispositivos ARM nos quais o Debian é executado. Eu tenho uma única imagem salva do cartão SD e intenção de usá-lo em todos os dispositivos.

Agora eu tenho o problema, que cada vez que o endereço MAC da porta eth, wlan, etc ... é alterado, ele adiciona uma nova entrada ao arquivo 70-persistent-net.rules . Para mim isso é um problema porque no meu arquivo /etc/network/interfaces eu tenho apenas eth0 setup. Se a interface ficar vinculada a eth1 , ela não se conectará à rede. Como nenhuma tela está conectada, é um incômodo para refazer este processo toda vez.

Existe uma maneira de dizer ao SO sempre usar eth0 quando o endereço MAC da interface ethernet muda?

    
por ap0 21.09.2015 / 10:17

3 respostas

1

Isso é o que eu coloco no meu arquivo 70-persistent-net.rules ; você pode precisar apenas dos dois primeiros:

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="*", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth0", NAME="eth0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="*", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth1", NAME="eth1"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="*", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth2", NAME="eth2"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="*", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth3", NAME="eth3"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="*", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth4", NAME="eth4"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="*", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth5", NAME="eth5"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="*", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth6", NAME="eth6"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="*", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth7", NAME="eth7"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="*", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth8", NAME="eth8"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="*", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth9", NAME="eth9"
    
por 21.09.2015 / 11:48
1

No final de /etc/rc.local

 if ifconfig | grep -q eth0 
 then
   : > /etc/udev/rules.d/70-persistent-net.rules
   reboot
 fi

Isso deve fazer o trabalho e, caso você reinicialize nos mesmos dispositivos, reinicialize apenas uma vez.

Como alternativas mais rápidas, você pode excluir 70-persistent-net.rules no desligamento, isso suponha que você apenas faça o desligamento programado.

    
por 21.09.2015 / 10:31
1
  1. Exclua suas prescrições de nome de interface atuais:

    # rm /etc/udev/rules.d/70-persistent-net.rules
    
  2. Certifique-se de que eles não sejam regenerados:

    # touch /etc/udev/rules.d/75-persistent-net-generator.rules
    
  3. É isso.

por 22.09.2015 / 00:21