Linux

設備 eth0 的 MAC 地址與預期不同

  • February 27, 2018

我有一台執行 CentOS 5.x 的 HP Proliant 460c 刀片伺服器。出於某種原因,CentOS 認為 ETH0 的 MAC 地址是某種東西 (18:a9:05:71:xx:xc),但我在板載管理員上根本找不到那個 MAC。事實上,如果我使用板載管理員中顯示的 MAC 地址並嘗試將其硬編碼到 nic(在 /etc/sysconfig/network-script/ifcfg-eth0 下),我會收到錯誤消息:

設備 eth0 的 MAC 地址與預期不同。

我在哪裡可以明確確認系統在 MAC 地址上看到的內容?ifconfig -a 顯示“不正確”的。


在 CenTOS 主機上,我在 ifconfig 結果中看到了這一點(稍作修改以保護無辜者):

eth0 HW 18:a9:05:71:xx:xc
eth0:0 HW 18:a9:05:71:xx:xc
eth1 HW 18:A9:05:71:xx:xd  
eth1:0 HW 18:A9:05:71:xx:xd
eth2 HW F4:CE:46:8X:XX:40
eth3 HW F4:CE:46:8X:XX:44

我不確定 18:a9 MAC 地址來自哪裡。

當我檢查屬於伺服器的設備托架的埠映射時,我看到:

Mezzanine Device Port: ENET1  
Device ID: d4:85:64:49:xx:x8

Mezzanine Device Port: iSCSI Port 1  
Device ID: F5:CE:46:83:xx:x1

Mezzanine Device Port: ENET2  
Device ID: d4:85:64:49:xx:xc

Mezzanine Device Port: ISCSI Port 2   
Device ID: F5:CE:46:xx:xx:x1

我也看到

Mezzanine Device Port: Port 1  
Device ID: d4:85:64:xx:xx:be

Mezzanine Device Port: Port 2   
Device ID: d4:85:64:xx:xx:bf

請注意,它們都與 CentOS 認為應該存在的 MAC 無關。我也完全重新安裝了 CentOS,但問題仍然存在。所以似乎系統上的某些東西告訴 CentOS 應該使用 MAC,但我不確定在哪裡。

這可能是 HP 刀片式機箱設置所獨有的。既然您提到這是刀片伺服器,您是否知道刀片機箱是否安裝了 HP Virtual Connect 模組?這些通常用於代替直通乙太網上行鏈路,以幫助整合和虛擬化刀片網路。

如果您有 Virtual Connect 模組,請檢查 Virtual Connect Manager 中的伺服器配置文件。有使用 Virtual Connect 管理伺服器 MAC 地址的選項。有關該功能的說明,請參見Virtual Connect 安裝指南的第 64 頁:

每個伺服器刀片乙太網 NIC 都附帶一個出廠預設 MAC 地址。MAC 地址是一個 48 位數字,用於唯一標識網路上其他設備的乙太網介面。雖然硬體附帶預設 MAC 地址,但 Virtual Connect 可以分配覆蓋出廠預設 MAC 地址的 MAC 地址,而伺服器仍保留在該 Virtual Connect 機箱中。

發布的其他答案當然適用於物理機架/塔式伺服器中的多個 NICS,但 HP 刀片解決方案是一個非常特殊的情況。

引用自:https://serverfault.com/questions/370562