udev 이름이 변경된 인터페이스의 원래 네트워크 인터페이스 이름을 찾는 방법이 있습니까?

udev 이름이 변경된 인터페이스의 원래 네트워크 인터페이스 이름을 찾는 방법이 있습니까?

실행하면 ip addr show이름이 지정되거나 유사한 인터페이스가 표시됩니다 enp3s0f0.

이 이름은 에 의해 지정되었습니다 udev.

드라이버 설치 /후 이런 현상이 발생합니다 .

따라서 luks파일이 암호화된 후에 발생합니다.

initramfs에 SSH 서버 dropbear를 설치하여 네트워크를 통해 암호 프롬프트를 해독할 수 있게 만들고 싶습니다. 이렇게 하려면 dropbear에게 어떤 네트워크 인터페이스를 수신할지 알려주고 dhcpinitramfs에서 이를 활성화해야 합니다. 이를 위해서는 네트워크 인터페이스 이름이 필요합니다.

놀랍게도 enp3s0f0원래 이름이 무엇인지 쉽게 알 수 있는 방법을 찾을 수 없습니다. 호스트에 포트가 많고 부팅 속도가 느린 경우 시도할 때마다 두 번 재부팅해야 하는 시행착오가 번거로울 수 있습니다.

이름 바꾸기가 완료된 후 빠르게 알아내기 위해 실행할 수 있는 명령이 있습니까?

답변1

시스템 로그를 사용하여 이름 변경 기록을 볼 수 있습니다.

journalctl -b 0 -g "renamed from"

답변2

나는 아니에요하지만OP가 게시 한 질문에 대한 답변이 있지만 도구가 있습니다.dracut-sshd, 이는 OP가 처리하는 작업(부팅 콘솔에 암호 해독 암호를 입력하는 대신 SSH를 통해 암호화된 볼륨, 루트 및 기타 데이터 파일 시스템의 암호를 해독하는 키 수신)을 위해 특별히 작성되었습니다.

새 인터페이스 이름에서 initramfs 런타임에 알려진 원래 인터페이스 이름으로 역방향 조회를 자동으로 수행하는 좋은 방법을 찾으면 이 답변을 업데이트하겠습니다. 비슷한 요구 사항이 있습니다. 아마도 네트워크 인터페이스를 불러오고 ip= 명령줄 인수에 설명된 대로 주소를 설정하기 전에 initramfs에 인터페이스 이름 변경을 푸시해야 할 것입니다.커널 문서 - nfsroot.txt)

노트: 인터페이스 이름이 변경된 후에는 udevadm info -q property /sys/class/net/<ifname>원래 이름이 어떤 속성에도 표시되지 않습니다. 이름을 바꾸기 전에 원래 이름을 기록하는 전략일 수도 있습니다(이름을 바꿀 때 저장할 편리한 장소가 있다면 - 아마도 /run?). 이는 표준 도구를 사용하는 기술이 아니라 "직접 수행"하는 접근 방식입니다.

관련 정보