![lshw HWPath 우선 순위 - 결정 방법](https://linux55.com/image/79521/lshw%20HWPath%20%EC%9A%B0%EC%84%A0%20%EC%88%9C%EC%9C%84%20-%20%EA%B2%B0%EC%A0%95%20%EB%B0%A9%EB%B2%95.png)
직장에서 이더넷 MAC 주소를 물리적 포트(IE 카드 1 포트 0은 비기술적인 연산자인 eth0(mac xx:xx:xx:xx:xx:xx))에 명시적으로 매핑하려고 하는 프로젝트가 있습니다. Linux(현재 CentOS 6.6)가 설치된 서버(모든 서버 공급업체 및 모델)에서 네트워크 장치를 사용할 수 있으며, 해당 포트 설명자를 보고 물리적 상자를 해킹하지 않고도 상자에 케이블이 연결되는 위치를 정확히 알 수 있습니다.
이 질문에 대한 대답은 Linux가 하드웨어를 열거하는 방법에 있을 수 있지만 Google이나 매뉴얼 페이지 등에서 명확한 정보를 찾지 못했습니다. 마지막으로, 나는 필요할 때 필요한 답을 얻기 위해 C를 읽는 능력을 믿지 않습니다.
사용 lshw
:
root@E2APF77 (~)# lshw -c network -businfo
Bus info Device Class Description
====================================================
pci@0000:06:00.0 eth0 network Ethernet Controller 10-Gigabit X540-AT2
pci@0000:06:00.1 eth1 network Ethernet Controller 10-Gigabit X540-AT2
pci@0000:16:00.0 eth2 network NetXtreme BCM5719 Gigabit Ethernet PCIe
pci@0000:16:00.1 eth3 network NetXtreme BCM5719 Gigabit Ethernet PCIe
pci@0000:16:00.2 eth4 network NetXtreme BCM5719 Gigabit Ethernet PCIe
pci@0000:16:00.3 eth5 network NetXtreme BCM5719 Gigabit Ethernet PCIe
usb0 network Ethernet interface
흥미롭지만 하드웨어 경로를 확인하는 것을 선호하므로 다음을 실행합니다.
root@E2APF77 (~)# lshw -c network -short -businfo
H/W path Device Class Description
=======================================================
/0/100/2/0 eth0 network Ethernet Controller 10-Gigabit X540-AT2
/0/100/2/0.1 eth1 network Ethernet Controller 10-Gigabit X540-AT2
/0/100/1c.4/0 eth2 network NetXtreme BCM5719 Gigabit Ethernet PCIe
/0/100/1c.4/0.1 eth3 network NetXtreme BCM5719 Gigabit Ethernet PCIe
/0/100/1c.4/0.2 eth4 network NetXtreme BCM5719 Gigabit Ethernet PCIe
/0/100/1c.4/0.3 eth5 network NetXtreme BCM5719 Gigabit Ethernet PCIe
/1 usb0 network Ethernet interface
이것은 나에게 흥미롭지만 필요한 맥락이 무엇인지 잘 모르겠습니다. 따라서 다음을 실행하면 더 나은 컨텍스트를 얻을 수 있습니다.
root@E2APF77 (~)# lshw -short -businfo -c bridge
H/W path Device Class Description
=======================================================
/0/100 bridge Xeon E5 v3/Core i7 DMI2
/0/100/1 bridge Xeon E5 v3/Core i7 PCI Express Root Port 1
/0/100/2 bridge Xeon E5 v3/Core i7 PCI Express Root Port 2
/0/100/3 bridge Xeon E5 v3/Core i7 PCI Express Root Port 3
/0/100/1c bridge C610/X99 series chipset PCI Express Root Port #1
/0/100/1c.3 bridge C610/X99 series chipset PCI Express Root Port #4
/0/100/1c.3/0 bridge Renesas Technology Corp.
/0/100/1c.3/0/0 bridge Renesas Technology Corp.
/0/100/1c.3/0/0/0 bridge Renesas Technology Corp.
/0/100/1c.3/0/1 bridge Renesas Technology Corp.
/0/100/1c.4 bridge C610/X99 series chipset PCI Express Root Port #5
/0/100/1f bridge C610/X99 series chipset LPC Controller
좋아요 나는 이것을 좋아한다. 이제 다음이 표시됩니다.
/0/100/2 bridge Xeon E5 v3/Core i7 PCI Express Root Port 2
/0/100/2/0 eth0 network Ethernet Controller 10-Gigabit X540-AT2
/0/100/2/0.1 eth1 network Ethernet Controller 10-Gigabit X540-AT2
/0/100/1c.4 bridge C610/X99 series chipset PCI Express Root Port #5
/0/100/1c.4/0 eth2 network NetXtreme BCM5719 Gigabit Ethernet PCIe
/0/100/1c.4/0.1 eth3 network NetXtreme BCM5719 Gigabit Ethernet PCIe
/0/100/1c.4/0.2 eth4 network NetXtreme BCM5719 Gigabit Ethernet PCIe
/0/100/1c.4/0.3 eth5 network NetXtreme BCM5719 Gigabit Ethernet PCIe
...첫 번째 카드는 Xeon E5
브리지의 포트 2에 있고 두 번째 카드는 브리지 1c.4
의 포트 2 에 있습니다 C610/X99
(올바른 명칭을 사용하는 경우. 올바른 명칭을 사용하지 않는 경우 양해해 주시기 바랍니다). 하드웨어가 어디에 연결되어 있는지 확인할 수 있는 쉬운 방법이 없으며 현재 설명서를 읽지 않고는 이러한 시스템의 빌드 세부 사항을 이해할 수 없습니다.
그렇다면 Linux가 상자에 있는 모든 브랜드의 네트워크 카드 수에 관계없이 물리적 포트를 결정하는 데 사용할 수 있는 상자에 하드웨어를 열거하는 방식에 일종의 우선 순위가 있다고 주장하거나 가정할 수 있습니까? 나는 내가 올바른 나무를 향해 짖고 있다고 생각했지만 무언가가 내 냄새 테스트를 통과하지 못했습니다.