systemd에서 예측 가능한 네트워크 인터페이스 이름


15

최신 버전의 Ubuntu 및 Debian (스트레치)은 새로운 네트워크 인터페이스 명명 체계를 제공합니다.

이제 "eth0"과 같은 이전 스타일 이름을 사용하는 시스템에서 업데이트 할 때 새 이름이 무엇인지 부팅하기 전에 알고 싶습니다 .

어떻게해야합니까? 부팅하기 전에 / etc / network / interface를 편집하고 네트워크 연결을 잃는 데 사용할 수있는 "systemd"라는 마법의 호출이 있습니까?


1
나는 이것을 우연히 발견했으며 그것이 지금까지 어떻게 작동했는지에 대한 가장 좋은 설명입니다 : list.debian.org/debian-user/2017/07/msg01453.html
Neil

답변:


7

biosdevname과 예측 가능한 네트워크 인터페이스 이름의 두 가지 구성이 있습니다.

biosdevname

Biosdevname은 우분투에서 기본값으로 보입니다. biosdevname 패키지를 설치하면 활성화됩니다.

인터페이스의 biosdevname은 다음에서 찾을 수 있습니다.

biosdevname -i eth0

예측 가능한 네트워크 인터페이스 이름

나는 이것이 데비안 확장의 기본이라고 생각하지만 이전 릴리스에서 업그레이드 할 때 명시 적으로 활성화해야합니다.

eth0의 예측 가능한 이름은 다음을 통해 찾을 수 있습니다.

udevadm test-builtin net_id /sys/class/net/eth0 | grep '^ID_NET_NAME_'

"새로운 이름을 부팅하기 전에"( @Neil에서 제공 하는 링크 에 따라)를 예측하는 방법에 대한 실제 대답은 새로운 이름은 이전 이름과 동일합니다 . 왜냐하면 여전히 구성하는 udev 규칙이 있기 때문입니다. 의 이전 이름 /etc/udev/rules.d/70-persistent-net.rules. 새 이름 지정 체계로 전환하려는 경우 링크에서 마이그레이션 안내서를 제공합니다.
Tuomas

2

새로운 체계를 분명히 "예측 가능한 네트워크 인터페이스 이름"이라고하지만 실제로 이름을 예측하는 방법에 대한 많은 문서를 찾지 못했습니다 . 내가 찾은 모든 것은 기본적 으로이 소스 코드 주석을 나타냅니다 (자체 첫 번째 링크로 돌아갑니다). 의견에서 udev가 네트워크 장치 이름에 사용할 주소 지정 체계를 아는 방법은 전혀 명확하지 않습니다.

첫 번째 링크 net.ifnames=0에 따라 Grub의 커널 명령 줄에 추가하여 링크를 비활성화하고 기존 이름을 사용할 수 있습니다 . 이 설명 에 따르면 추가 된 확장명으로 인해 인터페이스 이름이 너무 길어 VLAN 태그 인터페이스를 만들 계획이 필요할 수 있습니다.

그렇지 않으면 이름으로 무엇을하려고하는지 설명하기 위해 질문을 다시하는 것이 좋습니다 (예 : ansible 또는 비슷한 것을 통해 인터페이스 구성)


2

이것이 여전히 업데이트 된 버전의 경우인지 확실하지 않지만 이전 시스템에서 빈 파일을 만들 수 있었고 /etc/udev/rules.d/80-net-name-slot.rules"예측 가능한"이름 지정 기능을 비활성화합니다. 또한 고유 한 규칙을 만들고 mac 주소 또는 PCI / USB 연결을 기반으로 인터페이스 이름을 직접 지정할 수도 있습니다.


0

이 문서 는 약간 도움 될 수 있습니다. "v197의 정확한 변경 사항"섹션을 참조하십시오. 그렇습니다.이 값은 다소 제한적이지만 추가 연구를위한 길을 찾을 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.