Fedora 20 を搭載した新しい Dell Latitude ラップトップ。内蔵イーサネット インターフェイス 1 つ、アドイン ExpressCard イーサネット インターフェイス 1 つ。一貫性のある旧式 (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 にコピーしてブランチ コマンドのコメントを解除し、biosdevname RPM パッケージを削除し、必要なドライバーを正しい順序でリストした /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 の内容です (2 行のみ)。
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 の内容です (2 行のみ)。
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 には、ドライバーが正しい順序でロードされていることが示されているようです。インターフェイスの名前変更メッセージもいくつかあります。
では、目的を達成するための正しい方法は何でしょうか?