Новый ноутбук Dell Latitude с Fedora 20. Один встроенный интерфейс Ethernet, один дополнительный интерфейс ExpressCard Ethernet. Я не могу получить последовательные имена интерфейсов старого стиля (ethx).
Я экспериментировал с добавлением biosdevname=0 и net.ifnames=0 в grub.cfg, созданием /etc/udev/rules.d/70-persistent-net.rules, копированием /lib/udev/rules.d/71-biosdevname.rules в /etc/udev/rules.d и раскомментированием команды branch, удалением RPM-пакета biosdevname и созданием /etc/modules-load.d/ethernet_drivers.conf с необходимыми драйверами, перечисленными в правильном порядке. Ни одна комбинация, похоже, не дает правильного результата.
Если карта расширения отсутствует, кажется довольно легко получить встроенный порт с именем eth0, как я хочу. Но когда карта расширения присутствует, лучшее, чего я смог добиться, это чтобы она была названа eth0, а встроенный порт — eth1. Конечно, это отстало и непоследовательно.
Вот сводка моих результатов. Удаление пакета biosdevname не изменило эти результаты.
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
Вот содержимое /etc/udev/rules.d/70-persistent-net.rules (всего две строки).
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"
Вот содержимое файла /etc/modules-load.d/ethernet_drivers.conf (всего две строки).
tg3
r8169
А вот содержимое /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
Syslog, похоже, показывает, что драйверы загружены в правильной последовательности. Также есть некоторые сообщения о переименовании интерфейсов.
Так как же правильно достичь моей цели?