
職場では、イーサネット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にあり、2番目のカードはブリッジ1c.4
のポート2にありますC610/X99
(正しい名前を使用している場合は正しい名前を使用しない場合はご了承ください)。ハードウェアがどこに接続されているかを確認する簡単な方法はなく、現在のマニュアルを読まないと、これらのシステムのビルドの詳細を理解できません。
それでは、Linuxがボックス内のすべてのブランドのネットワークカードの数に関係なく、物理ポートを決定するために使用できるボックスにハードウェアを列挙する方法に優先順位があると主張または仮定できますか?私は正しい木に向かって吠えていると思いましたが、何かが私の臭いテストに合格しませんでした。