Fedora 20 与旧式 (ethx) 接口名称保持一致

Fedora 20 与旧式 (ethx) 接口名称保持一致

配备 Fedora 20 的新型 Dell Latitude 笔记本电脑。1 个内置以太网接口,1 个附加 ExpressCard 以太网接口。我似乎无法获得一致的旧式(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 的内容(只有两行)。

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

系统日志似乎显示驱动程序已按正确的顺序加载。还有一些接口重命名消息。

那么实现我的目标的正确方法是什么?

相关内容