저는 여러 다른 PC에서 사용하는 부팅 가능한 Linux 메모리 스틱을 가지고 있습니다(단, 모델과 구성은 모두 동일합니다). 문제는 udev가 eth 인터페이스의 이름을 바꾸므로 eth0
마지막 PC에 있는 것이 갑자기 ethX가 된다는 것입니다. 여기서 X=1..inf입니다. /etc/network/interfaces
시작 방법만 지정되었기 때문에 if-up(ifplugd에 의해 호출됨)이 실패하게 됩니다 eth0
.
auto eth0
iface eth0 inet dhcp
이것은 잘 알려진 문제입니다. 검색한 결과 이는 MAC 주소 변경으로 인해 발생하며 제거할 수 있다는 것을 알았습니다 /etc/udev/rules.d/70-persistent-net.rules
. 그러나 이는 재부팅 후에만 작동하며, 이는 불편하고 내가 원하는 동작이 무엇인지 알기 때문에 필요하지 않습니다.
내가 원하는 건비지속적net 규칙 또는 /etc/network/interfaces
eth 이름 변경에 적응하는 스크립트 또는 ifplugd를 사용하여 수행할 수 있습니다. 이를 달성하는 가장 좋은 방법은 무엇입니까?
배포판: 우분투 8.04.
답변1
지속적인 네트워크 규칙은 /lib/udev/rules.d/75-persistent-net-generator.rules
(또는 이와 유사한 최신 Debian 시스템을 찾고 있습니다.) 생성됩니다.
Ubuntu 8.04의 /etc/udev/rules.d에 생성기 스크립트가 아직 있으면 삭제할 수 있습니다.
그렇지 않으면 /etc/udev/rules.d에 빈 파일을 넣으면 /lib에 있는 파일을 덮어쓰게 될 것이라고 생각합니다.
인터페이스 이름을 지정하기 위해 자체 규칙 파일을 작성할 수도 있습니다. 이름이 이미 설정된 경우 영구 규칙 생성기는 인터페이스를 무시합니다.
답변2
나는 derobert의 조언에 따라 다음과 같이 /etc/udev/rules.d/75-persistent-net-generator.rules
생성된 내용을 삭제하고 편집했습니다 ./etc/udev/rules.d/70-persistent-net.rules
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{type}=="1", KERNEL=="eth*", NAME="%k"
%k
에서는 NAME
커널 이름을 사용한다는 의미입니다 .