Fedora 20을 탑재한 새로운 Dell Latitude 노트북. 내장 이더넷 인터페이스 1개, 추가 ExpressCard 이더넷 인터페이스 1개. 일관된 레거시(ethx) 인터페이스 이름을 얻을 수 없는 것 같습니다.
grub.cfg에 biosdevname=0 및 net.ifnames=0을 추가하고 /etc/udev/rules.d/70-pertant-net.rules를 생성하고 /lib/udev/rules.d/71-biosdevname을 복사해 보았습니다. 규칙을 /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-pertant-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
시스템 로그에는 드라이버가 올바른 순서로 로드된 것으로 표시됩니다. 메시지 이름을 바꾸는 인터페이스도 있습니다.
그렇다면 내 목표를 달성하는 올바른 방법은 무엇입니까?