"예측 가능한 네트워크 인터페이스 이름"을 활성화하는 방법은 무엇입니까?


12

이더넷 장치의 이름을 확인하기로 결정했지만 다른 배포판과 달리 데비안은이 변경 사항을 활성화하지 않은 것 같습니다 (또는 보류하고 있습니까?).

  • 이전의 영구 네트워크 인터페이스 이름 지정 체계를 유지하고 커널 명령 행에서 net.ifnames = 1을 통해 새 옵트 인을 작성하십시오.

문제는 grub 커널 라인을 편집해야한다는 것인데 , 파일을 수정하여 비활성화 할 수있는 것에 대해서는 과도한 것처럼 보입니다 . 다른 방법이 있습니까?


아마이 링크를 확인하고 싶을 수도 있습니다 : science.uva.nl/research/air/wiki/LogicalInterfaceNames nameif 및 시작 파일 업데이트와 같은 해결 방법을 찾을 수 있습니다 ... @Braiam
user1527227

@ user1527227 그것이 바로 내가 원하지 않는 일입니다.
Braiam

jesse에서는 / etc / default / grub에서 한 줄만 수정하면됩니다. wheezy에는이 AFAIK를 활성화 할 수있는 방법이 없습니다. 나는 새로운 이름 지정 체계를 정말로 좋아하므로 wheeze 서버에서 자체 udev 규칙을 설정했습니다.
GnP

답변:


11

데비안의 버전 220-7은이 옵트 인을 만든 패치를 삭제했습니다.

* Switch to net.ifnames persistent network interfaces (on new
  installations/for new hardware), and deprecate the old
  75-persistent-net-generator.rules.

이것은 debian-devel list 의 제안에서 비롯된 것입니다 . 이전 이름 ​​지정을 사용했던 시스템은 사용자가 마이그레이션 할 때까지 이름이 변경되지 않습니다. 마이그레이션 안내서는 README.Debian을 읽으십시오.

새로운 이름은 다음을 사용하여 예측할 수 있습니다.

sudo udevadm test /sys/class/net/eth0 2>/dev/null |grep ID_NET_NAME_

여기서 eth0장치의 현재 이름입니다.


5

나는 당신이 sid 또는 jessie에 대해 이야기하고 있다고 가정합니다. wheezy의 경우 v204백 포트 를 사용해 볼 수 있습니다 .

여기 플레이에 약간의 오해가있을 수 있습니다 다음 udev 규칙에서 볼 수 있듯이 여기 (현재 SID에서 v208에 대한)는 udev에 개발자가 명시 적으로 이 기능을 가능하게하는 기본 방법으로 커널있는 CmdLine를 선택했다.
나는 그것을 위해 선택된 인터페이스를 사용하여 간단하게 퍼팅에 "과잉"본질적으로 아무것도 표시되지 않습니다 GRUB_CMDLINE_LINUX_DEFAULT="net.ifnames=1"/etc/default/grub. 당신이 걱정하는 특정 부작용이 있습니까?

언급 한 답변이 파일을 제거하여 파일을 비활성화 할 것을 제안한다는 사실은 데비안에서 규칙이 저장되어 있기 때문에 장기적으로 작동하지 않는 해킹입니다 (적어도 데비안의 경우) /lib/udev/rules.d. 업그레이드 (그것에 대해 설명하는 파일을 효과적으로 제거하여 기능을 사용하지 않도록 설정하는 것이 가능 하지만 근본적으로 다른 것이 가능하므로 불공평하다고 생각합니다).

OTOH, 커널 cmdline을 사용하지 않는 확실한 이유가 있다면, 데비안 패키지에 대한 버그를보고하고 관리자가이 규칙을로 옮기도록 할 수 /etc/udev/있습니다. 그런 다음 이론적으로 현재 "지속적"규칙과 새로운 "예측 가능한"규칙간에 전환 할 수 있습니다.

그러나 참고로 버전 209의 소스를 살펴보면 net.if_names검사를 완전히 없애 버릴 것이므로 가까운 장래에 약간의 해독이 필요할 수 있습니다.


1
"이 기능을 활성화하는 기본 방법으로 커널 cmdline을 명시 적으로 선택했습니다." 실제로 이것은 udev 개발자 가 아닌 데비안 패치입니다 . 부팅 할 때 옵트 아웃하는 방법 만 포함했고 데비안은 옵트 인으로 변경했으며 기본적으로 활성화되어 있기 때문에 쉽게 활성화 할 수 있습니다.
Braiam

@Braiam : 멋진 캐치! 그러나 주요한 주장은 커널 cmdline을 인터페이스로 사용하거나 사용하지 않도록 설정하는 것이 udev 선택이라고 여전히 생각합니다.
레오 Antunes

net.ifname=1매개 변수 를 포함하도록 커널 명령 행을 편집 했지만 Linux Mint에서는이 기능을 사용할 수 없습니다. 이 기능을 지원하는 것으로 알려진 Linux 배포판은 무엇입니까?
sherrellbc 2018 년

0

udev 220로 시작하는 Debian / Ubuntu에서이 파일의 이름을 바꾸어 새 이름을 활성화 할 수 있습니다.

sudo mv -T /etc/udev/rules.d/70-persistent-net.rules{,.old}

에 의해 제안으로 /usr/share/doc/udev/README.Debian.gz, 다음

sudo update-initramfs -u

그런 다음 재부팅합니다 (또는 네트워크 카드를 구동하는 모듈의 rmmod + insmod).


-1

Ubuntu 15.10은 biosdevname예측 가능한 네트워크 인터페이스 이름을 제공하지 않는 사용 합니다. 제거하고 (biosdevname 제거 제거) grub ( GRUB_CMDLINE_LINUX_DEFAULT="net.ifnames=1") 및 영구 규칙을 편집 하더라도 여전히 사전에 네트워크 장애가 발생하지 않습니다.

주된 이유는 이전 버전과의 호환성 인 것 같습니다. 방금 2 개의 모바일 광대역 USB 장치로 테스트했으며 네트워크 인터페이스 이름이 각 부팅에서 일관되지 않게 지정되었습니다 (예 : 첫 번째 인터페이스 usb0, 두 번째 usb1 및 다른 방법). 주된 이유는 이전 버전과의 호환성 인 것 같습니다.

런치 패드에는 몇 가지 버그가 있지만 (예 : this ) 짧은 대답은 예측 가능한 네트워크 인터페이스 이름을 찾으려면 다른 배포판을 찾아야한다는 것입니다.


알았다! 내가 생각하는대로 실제로 답변을 업데이트 할 것입니다.
Anthony Hunt

@roalma 나는 대답을 업데이트했습니다! 이전에 "댓글 달기"게시물이 유감입니다.
Anthony Hunt

데비안은 기본적으로 220-7 버전부터 동작을 다루는 패치를 떨어 뜨렸을 때이 기능을 지원합니다. 이제 새로 설치된 시스템은 기본적으로 예측 가능한 이름을 사용합니다.
Braiam
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.