Nomes de interface consistentes no estilo antigo (ethx) do Fedora 20

Nomes de interface consistentes no estilo antigo (ethx) do Fedora 20

Novo laptop Dell Latitude com Fedora 20. Uma interface Ethernet integrada, uma interface Ethernet ExpressCard adicional. Não consigo obter nomes de interface consistentes no estilo antigo (ethx).

Eu brinquei em adicionar biosdevname=0 e net.ifnames=0 ao grub.cfg, criando /etc/udev/rules.d/70-persistent-net.rules, copiando /lib/udev/rules.d/71- biosdevname.rules para /etc/udev/rules.d e descomente o comando branch, removendo o pacote RPM biosdevname e criando /etc/modules-load.d/ethernet_drivers.conf com os drivers necessários listados na ordem correta. Nenhuma combinação parece obter o resultado certo.

Se a placa adicional não estiver presente, parece bastante fácil obter a porta integrada chamada eth0 como desejo. Mas quando a placa adicional está presente, o melhor que consegui é que ela se chame eth0 e a porta integrada seja chamada eth1. Claro, isso é retrógrado e inconsistente.

Aqui está um resumo dos meus resultados. A remoção do pacote biosdevname não alterou esses resultados.

grub2          udev  udev  add-in   Ethernet  Ethernet
biosdevname=0  70    71    present  built-in  add-on  
net.ifnames=0
=============  ====  ====  =======  ========  ========
no             no    mod   no       enp12s0   --
no             no    mod   yes      enp12s0   ens1
no             no    no    no       enp12s0   --
no             no    no    yes      enp12s0   ens1
no             yes   mod   no       enp12s0   --
no             yes   mod   yes      eth0      ens1
no             yes   no    no       enp12s0   --
no             yes   no    yes      eth0      ens1
yes            no    mod   no       eth0      --
yes            no    mod   yes      eth1      eth0
yes            no    no    no       eth0      --
yes            no    no    yes      eth1      eth0
yes            yes   mod   no       eth0      --
yes            yes   mod   yes      eth1      eth0
yes            yes   no    no       eth0      --
yes            yes   no    yes      eth1      eth0

Aqui está o conteúdo de /etc/udev/rules.d/70-persistent-net.rules (apenas duas linhas).

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="ec:f4:bb:02:44:7a", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:13:3b:00:73:cb", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

Aqui está o conteúdo de /etc/modules-load.d/ethernet_drivers.conf (apenas duas linhas).

tg3
r8169

E aqui está o conteúdo de /etc/sysconfig/network-scripts/ifcfg-eth?.

TYPE="Ethernet"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_FAILURE_FATAL="no"
NAME="eth0"
UUID="cda65a57-3f30-444d-b041-2e77c056a1b1"
ONBOOT="yes"
HWADDR="EC:F4:BB:02:44:7A"
PEERDNS="yes"
PEERROUTES="yes"

TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME="eth1"
UUID=722a5c3b-b6e5-44a8-93fa-e0f070059d8c
ONBOOT=no
HWADDR=00:13:3B:00:73:CB
PEERDNS=yes
PEERROUTES=yes

O Syslog parece mostrar que os drivers estão carregados na sequência correta. Existem também algumas mensagens de renomeação de interface.

Então, qual é a maneira certa de atingir meu objetivo?

informação relacionada