web-dev-qa-db-ja.com

ボンディングデバイスにもかかわらず、/ procまたはどこかにMACアドレスを見つけますか?

Eth0とeth1の元のMACアドレスを取得する方法はありますか?

サーバーの大規模な配列には、バックアップスイッチ接続を管理するボンディングインターフェイスがあり、1つは誤動作しています。 bond0がアクティブの場合、両方のMACアドレスが置き換えられ、ifconfigによってまったく同じように報告されます。

シスコデバイスで見つけたMACアドレスをサーバーアレイで検索したいのですが。

dmesg(1) または/ var/log/messagesを使用しますが、ほとんどの配列で数百日間ロールオーバーされています。

8
DigitalRoss

私はまだもっと「公式」の説明を探していますが、 このブログ によると、ファイル/proc/net/bonding/${bonding name}は、ボンドの各NIC=(eth0、eth1など))の実際のMACアドレスを提供するため、より役立つ場合があります。

これが役立つことを願っています!

9
Yanick Girouard

RHEL/CentOS 6の場合:

# ethtool -P <if>

Permanent address: 00:11:22:33:44:55
7
bchill

OSは、物理的なNIC詳細のリストをファイル内に保持する必要があります。

/etc/udev/rules.d/70-persistent-net.rules

以下は私の例です。

# This file maintains persistent names for network interfaces.
# See udev(7) for syntax.
#
# Entries are automatically added by the 75-persistent-net-generator.rules
# file; however you are also free to add your own entries.

# PCI device 0x10ec:0x8168 (r8169)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:23:54:95:74:e5", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

「ATTR {アドレス} ==セクションに注意してください?

3
Soviero

これは、/sysではなく/procから取得できます。例えば:

$ cat /sys/class/net/eth0/address
0a:58:ac:16:05:13

利用可能なすべてのインターフェースはnetの下にリストされています:

$ ls /sys/class/net/
eth0  lo
2
slm

[〜#〜] sata [〜#〜][〜#〜] net [〜#〜] デバイスの両方にいくつかの方法があります。 udevadm infoのようなコマンドもそれを行います。 ifconfigとnetstatも同様です。そしてリストは続く。完全なセットについては、上記の古いリンクのいくつかを確認してください。

0
user178150