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?