방금 VMware 워크 스테이션 9에 Fedora 19를 설치했습니다. 기본 네트워크 장치는 RHEL의 “eth0″대신 “ens33″입니다.
“eth0″을 사용해야하는 이유는 제품 중 하나의 라이센스 구성 요소가 “eth0″과 연결되어 있어야하기 때문입니다.
비슷한 문제에 대해 논의하는 게시물이 있으며 대부분 이전 OS에 대한 내용입니다. 내 상황과 정확히 일치하는 것을 찾지 못했습니다.
답변
커널 / 모듈 / udev에서 이더넷 인터페이스의 이름을 바꾸는 가장 쉬운 방법은 이러한 커널 매개 변수를 Fedora 19에 제공하는 것입니다 .
- net.ifnames = 0
- biosdevname = 0
이렇게하려면 다음 단계를 수행하십시오.
- / etc / default / grub 편집
- GRUB_CMDLINE_LINUX 줄 끝에 ” net.ifnames = 0 biosdevname = 0 “을 추가하십시오.
- 파일을 저장하십시오
- ” grub2-mkconfig -o /boot/grub2/grub.cfg “를 입력하십시오.
- ” reboot “를 입력하십시오
설치 중에 이러한 매개 변수를 제공하지 않은 경우 / 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
답변
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에서는 이전 릴리스와 다릅니다. 해결해야 할 두 가지가 있습니다.
- 설치된 경우 biosdevname을 제거하십시오. (
yum remove biosdevname
또는-biosdevname
킥 스타트에 넣 습니다. - udev 규칙을 비활성화하십시오.
ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules
자세한 정보는 http://fedoraproject.org/wiki/Features/SystemdPredictableNetworkInterfaceNames 에서 확인할 수 있습니다.
답변
허용되는 답변은 효과가있는 솔루션을 제공하지만 ens33
사용 이유를 설명하지는 않습니다 . 아래 링크는 네트워크 장치 이름이 다른 이유 eth0
와 RHEL 7 변형에서 이름이 지정된 방식 에 대한 배경 지식을 제공합니다 .
- 예측 가능한 네트워크 인터페이스 이름 – “이유”를 잘 설명
- 8 장. 일관된 네트워크 장치 이름 지정 -모든 규칙을 설명하는 RedHat (RHEL7) 문서 (명령 비활성화에 대한 섹션 8.9 참조)
“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