有没有办法获取 eth0 和 eth1 的原始 MAC 地址?
大量服务器具有管理备份交换机连接的绑定接口,其中一个出现故障。在 bond0 处于活动状态时,两个 MAC 地址均被替换,并且 ifconfig 报告的结果完全相同。
我想在服务器阵列中搜索我在 Cisco 设备中找到的 MAC 地址。
我会用dmesg(1)或 /var/log/messages,但是对于大多数阵列来说,它们已经被滚动了数百天。
答案1
我仍在寻找更“官方”的解释,但根据这个博客,该文件/proc/net/bonding/${bonding name}
将提供绑定中每个 NIC(eth0、eth1 等)的实际 mac 地址,因此这可能更有用。
希望这会有所帮助!
答案2
在 RHEL/CentOS 6 上:
# ethtool -P <if>
Permanent address: 00:11:22:33:44:55
答案3
你可以从/sys
而不是 来获取它/proc
。例如:
$ cat /sys/class/net/eth0/address
0a:58:ac:16:05:13
所有可用的接口列如下net
:
$ ls /sys/class/net/
eth0 lo
答案4
您可以使用ARP查找 MAC 地址
为了找到制造商的 MAC 地址,IEEE 注册机构保存着一份属于该制造商的品牌名称及其 MAC 地址的列表,MAC 地址中的前六位是品牌名称,后跟类型和序列号