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을 수동으로 수행하지 않으면 인터페이스가로드되지 않습니다 . 내가 도대체 뭘 잘못하고있는 겁니까?
답변
찾은 기사가 다소 구식입니다. 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"
답변
나와 같은 검색 엔진을 통해이 게시물을 방문하는 사람들에게 :
데비안 스트레치 이상에서는 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에 포함 시키기 위해 나중에 실행하는 것을 잊지 마십시오 .
답변
이름이 지정된 패키지를 사용하여 약간 더 간단한 방법이 있습니다. ifrename
있습니다. 에는 별도의 udev
구성 파일이 있으며 MAC 주소를 사용하여 인터페이스를 식별 할 수 있습니다.
그러나 충돌 wireless-tools
합니다.