방금 VMware 워크 스테이션 9에 Fedora 19를 설치했습니다. 기본 네트워크 장치는 RHEL의 "eth0"대신 "ens33"입니다.
"eth0"을 사용해야하는 이유는 제품 중 하나의 라이센스 구성 요소가 "eth0"과 연결되어 있어야하기 때문입니다.
비슷한 문제에 대해 논의하는 게시물이 있으며 대부분 이전 OS에 대한 내용입니다. 내 상황과 정확히 일치하는 것을 찾지 못했습니다.
방금 VMware 워크 스테이션 9에 Fedora 19를 설치했습니다. 기본 네트워크 장치는 RHEL의 "eth0"대신 "ens33"입니다.
"eth0"을 사용해야하는 이유는 제품 중 하나의 라이센스 구성 요소가 "eth0"과 연결되어 있어야하기 때문입니다.
비슷한 문제에 대해 논의하는 게시물이 있으며 대부분 이전 OS에 대한 내용입니다. 내 상황과 정확히 일치하는 것을 찾지 못했습니다.
답변:
커널 / 모듈 / udev에서 이더넷 인터페이스의 이름을 바꾸는 가장 쉬운 방법은 이러한 커널 매개 변수를 Fedora 19에 제공하는 것입니다 .
이렇게하려면 다음 단계를 수행하십시오.
설치 중에 이러한 매개 변수를 제공하지 않은 경우 / etc / sysconfig / network-scripts / ifcfg- * 에서 인터페이스 파일을 조정 및 / 또는 이름을 바꿔야합니다 .
최대 페도라 18 , 단지 biosdevname = 0 충분했다.
예를 들어, 특정 기계, 철저한 연구에서 다음을 얻었습니다.
-매개 변수 없음 : NIC가 " enp5s2 " 로 식별되었습니다 .
-매개 변수 biosdevname = 0 : NIC가 " enp5s2 " 로 식별되었습니다 .
-매개 변수 net.ifnames = 0 : NIC가 " em1 " 로 식별되었습니다 .
-매개 변수 net.ifnames = 0 및 biosdevname = 0 : NIC가 " eth0 "으로 식별되었습니다 .
다음과 같이 udev 규칙을 사용하여이를 수행 할 수 있습니다.
cat > /etc/udev/rules.d/99-rename-to-eth0.rules << EOF
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="$(cat /sys/class/net/ens33/address)", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
EOF
/sys/class/net/ens33
바이오스가 반환하고의 결과에서 찾은 값에 따라이 값이 다를 수 있습니다 lspci -vv | grep -A25 Ethernet
. 또한 eth0
이름 으로 사용하려는 경우 장치의 "예측 가능한"이름 지정을 비활성화하기 위해 커널 부팅 플래그를 지정하는 것이 더 적절할 수 있습니다.
Fedora 20에서는 상황이 조금 더 변한 것 같습니다.
1) grub 커널 인자
예, "net.ifnames = 0"과 "biodevame = 0"이 모두 필요한 것 같습니다.
2) / etc / sysconfig / network-scripts / ifcfg-ethX
예, 이것도 필요합니다.
3) /etc/udev/rules.d/60-net.rules
인터페이스가 여러 개이고 커널이 독자적인 방식으로 수행하지 않고 각 장치의 이름 지정을 제어하려면 /etc/udev/rules.d/60 -net.rules는 다음과 같이 /usr/lib/udev/rules.d/60-net.rules를 재정의하는 데 필요한 것으로 보입니다.
# PCI device 0x1011:0x0019 (tulip)
{SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:c0:f0:4c:f5:78", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
# PCI device 0x10ec:0x8168 (r8169)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="60:a4:4c:b5:26:48", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
4) yum remove biosdevname
불필요 해 보인다.
Fedora 19에서는 이전 릴리스와 다릅니다. 해결해야 할 두 가지가 있습니다.
yum remove biosdevname
또는 -biosdevname
킥 스타트에 넣 습니다.ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules
자세한 정보는 http://fedoraproject.org/wiki/Features/SystemdPredictableNetworkInterfaceNames 에서 확인할 수 있습니다.
허용되는 답변은 효과가있는 솔루션을 제공하지만 ens33
사용 이유를 설명하지는 않습니다 . 아래 링크는 네트워크 장치 이름이 다른 이유 eth0
와 RHEL 7 변형에서 이름이 지정된 방식 에 대한 배경 지식을 제공합니다 .
"33"과 같은 ens33
값은 BIOS에 의해 반환 된 PCI 어댑터 슬롯 값 에서 나온다는 점도 주목할 가치가 있습니다. 시스템이 "실제 슬롯"에 대해 나열한 값을 보려면이 명령을 사용하십시오.
lspci -vv | grep -A20 Ethernet
이름의 "ens"부분에 대한 추가 정보는 udev 소스 코드 에서 찾을 수 있습니다 .
Fedora-24의 경우 :
편집하다 /etc/default/grub
GRUB_CMDLINE_LINUX
줄 끝에 추가net.ifnames=0 biosdevname=0
파일을 저장하십시오
유형
grub2-mkconfig -o /boot/grub2/grub.cfg"
또는 유형
grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
유형 reboot
ifconfig
만 반환 하지만 원래 는 더 이상 존재하지 않습니다. lo
virbr0
enp4s0
ethN
명명에 사용 되는 모든 네트워크 스크립트를 변경 하여 해당 규칙을 사용 하도록주의해야합니다 . 나는 enp4s0
한 대본을 남겼다 .