데비안을 실행하는 ARM 장치가 여러 개 있습니다. SD 카드의 이미지를 저장했고 모든 기기에서 사용할 계획입니다.
이제 내가 가진 문제는 eth, wlan 등의 포트의 MAC 주소가 변경될 때마다 새 항목이 파일에 추가된다는 것입니다 70-persistent-net.rules
. 내 /etc/network/interfaces
파일 에는 eth0
. 인터페이스가 이후에 연결되면 eth1
네트워크에 연결되지 않습니다. 연결된 화면이 없기 때문에 매번 이 과정을 다시 해야하는 번거로움이 있습니다.
eth0
이더넷 인터페이스가 변경될 때 항상 이더넷 인터페이스의 MAC 주소를 사용하도록 OS에 지시하는 방법이 있습니까?
답변1
내 파일에 넣은 내용은 다음과 같습니다 70-persistent-net.rules
. 아마도 처음 두 개만 필요할 것입니다.
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="*", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth0", NAME="eth0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="*", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth1", NAME="eth1"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="*", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth2", NAME="eth2"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="*", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth3", NAME="eth3"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="*", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth4", NAME="eth4"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="*", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth5", NAME="eth5"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="*", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth6", NAME="eth6"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="*", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth7", NAME="eth7"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="*", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth8", NAME="eth8"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="*", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth9", NAME="eth9"
답변2
현재 인터페이스 이름 처방을 삭제합니다.
# rm /etc/udev/rules.d/70-persistent-net.rules
재생성되지 않는지 확인하세요.
# touch /etc/udev/rules.d/75-persistent-net-generator.rules
그게 다야.
답변3
/etc/rc.local 끝에
if ifconfig | grep -q eth0
then
: > /etc/udev/rules.d/70-persistent-net.rules
reboot
fi
이렇게 하면 작업이 수행되며 동일한 장치에서 재부팅하는 경우 한 번만 재부팅하면 됩니다.
더 빠른 대안으로 70-persistent-net.rules
예약된 종료만 수행한다고 가정하면 종료 시 삭제할 수 있습니다.