Finden Sie MAC-Adressen in / proc oder irgendwo trotz Bonding-Gerät?


9

Gibt es eine Möglichkeit, die ursprünglichen MAC-Adressen für eth0 und eth1 abzurufen?

Eine große Anzahl von Servern verfügt über Verbindungsschnittstellen, die Backup-Switch-Verbindungen verwalten, und einer verhält sich schlecht. Bei aktivem bond0 werden beide MAC-Adressen durch ifconfig ersetzt und identisch gemeldet.

Ich möchte das Server-Array nach einer MAC-Adresse durchsuchen, die ich in einem Cisco-Gerät gefunden habe.

Ich würde dmesg (1) oder / var / log / messages verwenden, aber sie wurden für den größten Teil des Arrays für Hunderte von Tagen verlängert.


Ich denke, niemand sonst hat Ihre Frage richtig verstanden, aber ich denke, ich tue es. Ich werde sehen, ob ich etwas finden und mich melden kann.
Yanick Girouard

Antworten:


9

Ich bin immer noch auf der Suche nach einer "offiziellen" Erklärung, aber laut diesem Blog enthält die Datei /proc/net/bonding/${bonding name}die tatsächliche Mac-Adresse für jede Netzwerkkarte in der Anleihe (eth0, eth1 usw.), sodass dies möglicherweise nützlicher ist.

Hoffe das wird helfen!


Hier würde ich danach suchen
Petter H

8

Auf RHEL / CentOS 6:

# ethtool -P <if>

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

Das funktioniert auch.
DigitalRoss

3

Das Betriebssystem sollte eine Liste der physischen NIC-Details in der Datei aufbewahren:

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

Hier ist meins als Beispiel:

# 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"

Beachten Sie den Abschnitt "ATTR {Adresse} =="?


Das funktioniert auch.
DigitalRoss

2

Sie können dies von /sysstatt bekommen /proc. Zum Beispiel:

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

Alle verfügbaren Schnittstellen sind aufgeführt unter net:

$ ls /sys/class/net/
eth0  lo

0

Es gibt verschiedene Möglichkeiten für SATA- und NET- Geräte. Befehle wie udevadm info tun dies ebenfalls. ifconfig und netstat auch. Und die Liste geht weiter. Überprüfen Sie einige der alten Links für oben für den vollständigen Satz.


-2

Sie können arp verwenden , um eine MAC-Adresse zu finden

Um den MAC des Herstellers zu finden, führt die IEEE-Registrierungsbehörde eine Liste der dazugehörigen Markennamen und der dortigen MAC-Adressen. Die ersten sechs in einer MAC-Adresse sind der Markenname, gefolgt von Typ und Seriennummer

Suchen Sie in der öffentlichen OUI / 'company_id'-Liste


2
Eine verbundene Schnittstelle verhält sich absichtlich nicht so. Das OP scheint nach der MAC-Adresse zu suchen, die in das EEPROM seiner physischen Hardware eingebrannt wurde, die Teil einer solchen verbundenen Schnittstelle ist. Dieser MAC verlässt die Schicht 2-Stufe, wenn die Verbindung hergestellt wird.
Rackandboneman

-3

dmesg | grep eth0 && dmesg | grep eth1

Sie können die gemeldeten Hardwareadressen für jede Schnittstelle abrufen, bevor die Verbindung hergestellt wird.


-3

Wenn Sie sich über den Namen der Schnittstelle nicht sicher sind (passiert mit CentOS 7), versuchen Sie: ip addr

und wählen Sie einfach die Schnittstelle aus der Liste


Ich habe den Eindruck, dass Sie die Frage nicht wirklich gelesen haben. Darin heißt es eindeutig: Bei aktivem bond0 werden beide MAC-Adressen durch ifconfig ersetzt und identisch gemeldet.
Kasperd
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.