네트워크 인터페이스의 이름 변경, 데비안 wheezy


14

eth0 대신 인터페이스 "ethLan"의 이름을 설정하려고합니다. 이렇게하면 모든 재부팅 및 커널에서 if의 이름이 일관되게 유지됩니다.

주제에서 몇 가지 기사를 찾았지만 모두 두 살입니다.
http://www.debian-administration.org/articles/463
http://www.linuxfromscratch.org/hints/downloads/files/ nameif.txt

나는 그들이 말하고 ethLan mac/ etc / mactabs /에 추가했습니다 . 이 시점에서 두 가지 문제가 있습니다.
1) /etc/network/if-pre-up.d/에if [...] && /sbin/nameif 넣은 스크립트 가 실행되지 않습니다. 이것을 /etc/init.d/networking 에 추가하여 이것을 해결 했지만, if-pre-up.d가 작동 하지 않는 이유는 무엇입니까? 2) 인터페이스 를 / etc / network / interfaces 에 추가 하더라도 ifconfig ethLan up을 수동으로 수행하지 않으면 인터페이스가로드되지 않습니다 . 내가 도대체 ​​뭘 잘못하고있는 겁니까?

답변:


17

찾은 기사가 다소 구식입니다. Udev를 통해 네트워크 인터페이스에 이름을 지정하는 쉬운 방법이 있습니다.

데비안과 파생어 (우분투 포함)에서이라는 파일을 찾으십시오 /etc/udev/rules.d/70-persistent-net.rules. 이 파일은 /lib/udev/rules.d/75-persistent-net-generator.rules스크립트의 도움으로 작성됩니다 /lib/udev/write_net_rules. udev는 새 네트워크 장치를 볼 때마다 새 번호를 할당하고 해당 번호를에 추가합니다 /etc/udev/rules.d/70-persistent-net.rules. 이렇게하면 인터페이스 번호가 재부팅시에도 유지되며 복원하면 다시 설치 한 후에도 유지됩니다 /etc.

(배포판이이 파일들을 제공하지 않는다면, 데비안 패키지 에서 찾으십시오 .)

인터페이스에 의미있는 이름을 지정하고 원하는 경우 /etc/udev/rules.d/70-persistent-net.rules해당 파일을 편집하고로 변경 "eth0"하기 만하면 됩니다 "ethLan". udevadm trigger --sysname eth0파일을 편집 한 후 기존 장치의 이름을 바꾸려면 실행하십시오 (인터페이스를 종료해야한다고 생각합니다). 해당 파일이 없다면, 자신과 일치하는 한 줄을 작성할 수 있습니다 (데비안이 추가하는 복잡한 스크립트는 자동으로 수행합니다) :

SUBSYSTEM=="net", DRIVERS=="?*", ATTR{address}=="01:23:45:67:89:ab", NAME="ethLan"

1
udev 규칙에서 사용할 수있는 편리한 속성 목록을 원하면 다음과 같이 시도해보십시오 udevadm info -a /sys/class/net/eth0. (자세한 udevadm(8)내용 참조)
Austin Adams

1
이 질문은 Wheezy에 대한 것이지만,이 답변이 더 새로운 데비안과 우분투에는 더 이상 유효하지 않다는 점에 주목할 가치가 있습니다. 시스템화 된 220-7 인터페이스 이름으로 시작하는 것은 다른 방법을 통해 수행해야합니다.
sampi

@sampi 내 대답은 여전히 ​​Debian jessie (현재의 안정적인 릴리스)에 적용됩니다. 확장이 실패하거나 더 이상 사용되지 않는 방법을 권장합니까? 컷오프가 어떤 우분투 릴리스인지 아십니까?
Gilles 'SO- 악마 중지'

@Gilles 나는 그것이 실제로 실패하는지 또는 단순히 권장되는 폐기인지 여부를 알기 위해 세부 사항을 충분히 깊이 파고 들지 않았습니다. 우분투 Wily와 최신 사용은 220-7보다 높은 시스템으로 보입니다 .
sampi

6

나와 같은 검색 엔진을 통해이 게시물을 방문하는 사람들에게 :

데비안 스트레치 이상에서는 systemd .link 파일을 사용하여 장치 이름을 udev로 지정할 수 있습니다. 맨 페이지는 https://manpages.debian.org/stretch/udev/systemd.link.5.en.html 을 참조 하십시오 .

예를 들면 :

cat /etc/systemd/network/10-uplink0.link 
[Match]
MACAddress=00:0d:b9:49:8a:18

[Link]
Name=uplink0

update-initramfs -u업데이트 된 설정 파일을 initramfs에 포함 시키기 위해 나중에 실행하는 것을 잊지 마십시오 .


링크 파일이 udev.rules.d가있는 시스템에있는 경우 어떤 파일이 우선합니까?
vfclists

1

이름이 지정된 패키지를 사용하여 약간 더 간단한 방법이 있습니다. ifrename 있습니다. 에는 별도의 udev구성 파일이 있으며 MAC 주소를 사용하여 인터페이스를 식별 할 수 있습니다.

그러나 충돌 wireless-tools합니다.


2
그것은 주목해야한다 ifrename와 의지의 충돌 udev모두 인터페이스를 영구적 이름을 제공하는 데 사용되는 경우입니다.
Mischa Arefiev
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.