尽管绑定设备,但在 /proc 或某处查找 MAC 地址?

Dig*_*oss 10 linux redhat centos

有没有办法获取 eth0 和 eth1 的原始 MAC 地址?

大量服务器具有管理备份交换机连接的绑定接口,其中一个行为不端。当 bond0 处于活动状态时,ifconfig 会替换和报告相同的两个 MAC 地址。

我想在服务器阵列中搜索我在 Cisco 设备中找到的 MAC 地址。

我会使用dmesg(1)或 /var/log/messages,但是对于大多数阵列,它们已经翻转了数百天。

Yan*_*ard 9

我仍在寻找更“官方”的解释,但根据此博客,该文件/proc/net/bonding/${bonding name}将提供绑定中每个 NIC(eth0、eth1 等)的实际 mac 地址,因此这可能更有用。

希望这会有所帮助!


小智 8

在 RHEL/CentOS 6 上:

# ethtool -P <if>

Permanent address: 00:11:22:33:44:55
Run Code Online (Sandbox Code Playgroud)


slm*_*slm 6

你可以从/sys而不是/proc. 例如:

$ cat /sys/class/net/eth0/address
0a:58:ac:16:05:13
Run Code Online (Sandbox Code Playgroud)

所有可用的接口都列在下面net

$ ls /sys/class/net/
eth0  lo
Run Code Online (Sandbox Code Playgroud)