Neues Dell Latitude-Notebook mit Fedora 20. Eine integrierte Ethernet-Schnittstelle, eine zusätzliche ExpressCard-Ethernet-Schnittstelle. Ich kann anscheinend keine einheitlichen Schnittstellennamen im alten Stil (ethx) erhalten.
Ich habe mit dem Hinzufügen von biosdevname=0 und net.ifnames=0 zu grub.cfg experimentiert, /etc/udev/rules.d/70-persistent-net.rules erstellt, /lib/udev/rules.d/71-biosdevname.rules nach /etc/udev/rules.d kopiert und den Branch-Befehl auskommentiert, das RPM-Paket biosdevname entfernt und /etc/modules-load.d/ethernet_drivers.conf mit den erforderlichen Treibern in der richtigen Reihenfolge erstellt. Keine Kombination scheint das richtige Ergebnis zu erzielen.
Wenn die Zusatzkarte nicht vorhanden ist, scheint es ziemlich einfach zu sein, den integrierten Port mit dem gewünschten Namen eth0 zu versehen. Aber wenn die Zusatzkarte vorhanden ist, ist das Beste, was ich erreichen konnte, dass sie eth0 und der integrierte Port eth1 heißt. Das ist natürlich falsch und inkonsistent.
Hier ist eine Zusammenfassung meiner Ergebnisse. Das Entfernen des Biosdevname-Pakets hat diese Ergebnisse nicht geändert.
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
Hier ist der Inhalt von /etc/udev/rules.d/70-persistent-net.rules (nur zwei Zeilen).
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"
Hier ist der Inhalt von /etc/modules-load.d/ethernet_drivers.conf (nur zwei Zeilen).
tg3
r8169
Und hier ist der Inhalt von /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 scheint zu zeigen, dass die Treiber in der richtigen Reihenfolge geladen werden. Es gibt auch einige Meldungen zur Umbenennung von Schnittstellen.
Was ist also der richtige Weg, um mein Ziel zu erreichen?