하드웨어를 추가하거나 제거할 때 예측 가능한 네트워크 인터페이스 이름이 변경되어서는 안 됩니다. 이것이 명명 체계의 핵심이 아닌가? ? ?
내 무선 인터페이스 이름은 wlp3s0입니다.
ASUS Xonar DX 7.1 레인 PCI Express x1 인터페이스 사운드 카드를 빈 PCI 슬롯에 설치하고 무선 인터페이스 이름을 wlp5s0으로 변경했습니다.
무선 카드는 사운드 카드를 설치하기 전과 동일한 PCI 슬롯에 있는데 인터페이스 이름이 변경되는 이유는 무엇입니까? !
마더보드는 기가바이트 GA-970A-UD3이고, 무선 네트워크 카드는 에이수스 PCE-N15이다. 시스템은 기본 커널로 Arch Linux를 실행하고 있습니다.
이 경우 인터페이스 이름이 변경되는 이유에 대한 합리적인 설명을 찾고 있습니다. 인터페이스 이름을 변경해야 할 타당한 이유가 없다면 어디에 버그 보고서/불만 사항을 누구에게 제출해야 합니까?
이것은 큰 문제가 아니었습니다. 제가 변경해야 했던 유일한 구성은 netctl에 대한 네트워크 구성 파일이었습니다. 나는 단지 "예측 가능한" 네트워크 인터페이스 이름이 예측 불가능하다면 그 인터페이스의 작업이 완전히 실패한 것이며 명명 체계는 쓸모없는 쓰레기라고 생각합니다. /노호
답변1
하드웨어를 추가하거나 제거할 때 예측 가능한 네트워크 인터페이스 이름이 변경되어서는 안 됩니다. 이것이 명명 체계의 핵심이 아닌가? ? ?
간단히 말해서 이것은 새로운 것이 아닙니다. 이는 예상/의도입니다. 따라서 PC 제조업체에 Linux(BIOS) 또는 하드웨어 제조업체(드라이버)에 대한 더 나은 지원을 요청하려는 경우가 아니면 버그를 신고할 필요가 없습니다. 핫 플러그 가능 장치의 상황을 개선하거나 이전 명명 체계로 돌아가려는 경우 몇 가지 옵션이 있습니다.
net.ifnames=0
커널 명령줄을 사용하여 네트워크 장치에 대한 새로운 명명 체계를 비활성화합니다.biosdevname=1
BIOS 제공 인덱스 번호를 이름에 통합하기 위해 커널 명령줄을 추가합니다 .udev
사용자 정의 이름에 대한 규칙을 생성 또는 편집 하거나 명명 체계를 변경하세요.- 예측할 수 없는 커널 이름이 다시 사용되도록 고정 이름 할당을 비활성화합니다. 이렇게 하려면 기본 정책에 대해 udev의 .link 파일을 차단하면 됩니다.
ln -s /dev/null /etc/systemd/network/99-default.link
systemd
및/또는 을 사용하는 경우 udev
"예측 가능한 명명 체계" 매개변수가 이전과 다를 수 있습니다. 그러나 WiFi 인터페이스 명명 체계에 따르면예와 함께 사용하세요 systemd
.
다음 부팅 매개변수를 커널 명령줄에 추가하여 네트워크 장치에 대한 "이전" 명명 규칙을 사용해 볼 수 있습니다. 그러나 이것이 네트워크 장치의 명명 체계를 보존하는 것 외에 어떤 추가 영향을 미칠 수 있는지는 완전히 확신할 수 없습니다.
net.ifnames=0
다음 을 /etc/default/grub
사용한다고 가정하면 이를 추가하면 이 매개변수의 지속성과 재사용이 쉬워집니다.grub2
GRUB_CMDLINE_LINUX="net.ifnames=0"
장치 이름을 결정할 때 장치 펌웨어, 위치 및 기타 옵션을 사용하는 경우 udev
관련 장치가 상호 작용하는 방식에 따라 위치 또는 기타 내용이 내부적으로 변경될 수 있습니다. 이 장치는 WiFi 어댑터와 사운드 카드이기 때문에 여기서는 관련성이 낮아 보입니다. 그러나 이는 기본 버스 구조와 관련이 있을 수 있습니다. 두 장치가 모두 PCI 슬롯에 연결되어 있기 때문에 관련성이 있는 것 같습니다.
추가 정보는 다음에서 제공됩니다.페도라 문서
8.1 명명 체계 계층
기본적으로 systemd는 지원되는 명명 체계를 적용하기 위해 다음 전략을 사용하여 인터페이스 이름을 지정합니다.
옵션 1: 펌웨어 또는 BIOS의 정보가 적용 가능하고 사용 가능한 경우 온보드 장치에 대해 펌웨어 또는 BIOS에서 제공하는 인덱스 번호가 포함된 이름(예: eno1)을 적용하고, 그렇지 않으면 옵션 2로 대체합니다.
옵션 2: 펌웨어 또는 BIOS의 정보가 적용 가능하고 사용 가능한 경우 펌웨어 또는 BIOS에서 제공하는 PCI Express 핫 플러그 슬롯 인덱스 번호가 포함된 이름(예: ens1)을 적용하고, 그렇지 않으면 옵션 3으로 대체합니다.
시나리오 3: 해당하는 경우 하드웨어 커넥터의 물리적 위치가 포함된 이름(예: enp2s0)을 적용하고, 그렇지 않은 경우 다른 모든 경우에는 시나리오 5로 직접 대체합니다.
옵션 4: 인터페이스 MAC 주소가 포함된 이름(예: enx78e7d1ea46da), 기본적으로 사용되지 않지만 사용자가 선택하는 경우 사용할 수 있습니다.
옵션 5: 다른 모든 방법이 실패하면 예측할 수 없는 전통적인 커널 명명 체계(예: eth0)를 사용합니다.
이 정책(위에 설명된 프로세스)이 기본 정책입니다. biosdevname이 시스템에서 활성화된 경우 해당 이름이 사용됩니다. biosdevname=1
biosdevname이 설치될 때마다 biosdevname이 기본적으로 사용되는 Dell 시스템을 제외하고 biosdevname 활성화는 명령줄 인수로 전달되어야 합니다 . 사용자가 udev
커널 장치 이름을 변경하는 규칙을 추가하면 해당 규칙이 우선적으로 적용됩니다.