어떤 네트워크 카드/드라이버를 사용할지 미리 알고 있다면 NetBSD에서 어떤 네트워크 인터페이스가 호출될지 결정할 수 있는 방법이 있는지 아는 사람이 있습니까?
다양한 컴퓨터에 대한 NetBSD 설정의 일부를 자동화하려고 하며 /etc/ifconfig.xx 파일을 작성하고 싶지만 "xx" 부분이 무엇인지 모릅니다. 예를 들어 내 Intel NIC가 "wm"을 접미사로 사용한다는 것을 알고 있지만 NetBSD는 해당 정보를 어디서 얻습니까?
답변1
아니요, 일부 신비한 하드웨어 구성에 어떤 드라이버가 연결될지 미리 알 수 없습니다. 물론, 알려진 구성의 하드웨어 인벤토리를 사용하여 작업하고 알려진 시스템의 각 인터페이스 유형에 어떤 드라이버를 사용할지 미리 결정했다면 상당히 결정적입니다.
반면, 시스템이 부팅될 때나 처음 부팅한 후에는 알려진 인터페이스 목록이 명령으로 제공됩니다 ifconfig -l
.
물론, 이더넷 케이블이 어떤 인터페이스에 연결되어 있는지는 여전히 알 수 없습니다. 예를 들어 시스템의 마더보드에 여러 인터페이스가 있거나 여러 이더넷 카드가 설치되어 있거나 멀티 포트 카드가 있는 경우 등이 있습니다. 그러나 일부 인터페이스는 스위치/허브 등의 연결을 협상할 때 마다 자동으로 나타납니다. 그렇다면 ifconfig -a
어떤 인터페이스가 활성화되어 있고 무엇을 사용하고 있는지를 포함하여 알려진 모든 인터페이스에 대한 모든 정보가 표시됩니다. , 각각).status:
media:
하지만, 대상 환경이 DHCP를 사용하여 주소를 할당하는 경우 다음을 수행할 수 있습니다.대개문제를 해결하려면 다음 줄을 사용하십시오./etc/rc.conf
dhclient=YES
기본적으로 사용 가능한 모든(브로드캐스트 가능) 인터페이스에서 주소를 요청하려고 시도합니다.
답변2
dhcpd.conf 또는 일부 부팅 후 ifconfig(8) 스크립트를 사용하여 여러 개의 동일한 NIC를 사용하더라도 고유한 하드웨어 MAC 주소를 참조하여 인터페이스를 재할당할 수 있다고 생각합니다. MAC 주소를 참조할 수 있으면 좋을 것 같아요대신에XXn 인터페이스 이름이지만 ifconfig(8)에는 해당 옵션이 없는 것 같습니다.
답변3
NetBSD는 공급업체 ID와 PCI ID를 사용하여 이를 감지한다고 생각합니다. 아마도 pcidevs.h 및 pcidevs_data.h가 도움이 될 것입니다.