최신 버전의 Ubuntu 및 Debian (스트레치)은 새로운 네트워크 인터페이스 명명 체계를 제공합니다.
이제 "eth0"과 같은 이전 스타일 이름을 사용하는 시스템에서 업데이트 할 때 새 이름이 무엇인지 부팅하기 전에 알고 싶습니다 .
어떻게해야합니까? 부팅하기 전에 / etc / network / interface를 편집하고 네트워크 연결을 잃는 데 사용할 수있는 "systemd"라는 마법의 호출이 있습니까?
최신 버전의 Ubuntu 및 Debian (스트레치)은 새로운 네트워크 인터페이스 명명 체계를 제공합니다.
이제 "eth0"과 같은 이전 스타일 이름을 사용하는 시스템에서 업데이트 할 때 새 이름이 무엇인지 부팅하기 전에 알고 싶습니다 .
어떻게해야합니까? 부팅하기 전에 / etc / network / interface를 편집하고 네트워크 연결을 잃는 데 사용할 수있는 "systemd"라는 마법의 호출이 있습니까?
답변:
biosdevname과 예측 가능한 네트워크 인터페이스 이름의 두 가지 구성이 있습니다.
Biosdevname은 우분투에서 기본값으로 보입니다. biosdevname 패키지를 설치하면 활성화됩니다.
인터페이스의 biosdevname은 다음에서 찾을 수 있습니다.
biosdevname -i eth0
나는 이것이 데비안 확장의 기본이라고 생각하지만 이전 릴리스에서 업그레이드 할 때 명시 적으로 활성화해야합니다.
eth0의 예측 가능한 이름은 다음을 통해 찾을 수 있습니다.
udevadm test-builtin net_id /sys/class/net/eth0 | grep '^ID_NET_NAME_'
새로운 체계를 분명히 "예측 가능한 네트워크 인터페이스 이름"이라고하지만 실제로 이름을 예측하는 방법에 대한 많은 문서를 찾지 못했습니다 . 내가 찾은 모든 것은 기본적 으로이 소스 코드 주석을 나타냅니다 (자체 첫 번째 링크로 돌아갑니다). 의견에서 udev가 네트워크 장치 이름에 사용할 주소 지정 체계를 아는 방법은 전혀 명확하지 않습니다.
첫 번째 링크 net.ifnames=0
에 따라 Grub의 커널 명령 줄에 추가하여 링크를 비활성화하고 기존 이름을 사용할 수 있습니다 . 이 설명 에 따르면 추가 된 확장명으로 인해 인터페이스 이름이 너무 길어 VLAN 태그 인터페이스를 만들 계획이 필요할 수 있습니다.
그렇지 않으면 이름으로 무엇을하려고하는지 설명하기 위해 질문을 다시하는 것이 좋습니다 (예 : ansible 또는 비슷한 것을 통해 인터페이스 구성)
이것이 여전히 업데이트 된 버전의 경우인지 확실하지 않지만 이전 시스템에서 빈 파일을 만들 수 있었고 /etc/udev/rules.d/80-net-name-slot.rules
"예측 가능한"이름 지정 기능을 비활성화합니다. 또한 고유 한 규칙을 만들고 mac 주소 또는 PCI / USB 연결을 기반으로 인터페이스 이름을 직접 지정할 수도 있습니다.