Trova indirizzi MAC in / proc o da qualche parte nonostante il dispositivo di collegamento?


9

C'è un modo per ottenere gli indirizzi MAC originali per eth0 ed eth1?

Una vasta gamma di server ha interfacce di bonding che gestiscono le connessioni degli switch di backup e uno si comporta male. Con bond0 attivo entrambi gli indirizzi MAC vengono sostituiti e riportati in modo identico da ifconfig.

Voglio cercare nell'array del server un indirizzo MAC che ho trovato in un dispositivo Cisco.

Vorrei usare dmesg (1) o / var / log / messages, ma sono stati sottoposti a rollup per centinaia di giorni per la maggior parte dell'array.


Penso che nessun altro abbia effettivamente capito correttamente la tua domanda, ma io cosa faccio. Vedrò se riesco a trovare qualcosa e riferire.
Yanick Girouard,

Risposte:


9

Sto ancora cercando una spiegazione più "ufficiale", ma secondo questo blog , il file /proc/net/bonding/${bonding name}fornirà l'indirizzo mac effettivo per ogni scheda di rete nel legame (eth0, eth1, ecc.), Quindi potrebbe essere più utile.

Spero che questo possa aiutare!


Ecco dove lo cerco
Petter H

8

Su RHEL / CentOS 6:

# ethtool -P <if>

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

Questo funziona anche.
DigitalRoss

3

Il sistema operativo dovrebbe mantenere un elenco di dettagli fisici della NIC all'interno del file:

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

Ecco il mio come esempio:

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

Notare la sezione "ATTR {address} =="?


Funziona anche questo.
DigitalRoss

2

Puoi ottenerlo da /sysinvece di /proc. Per esempio:

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

Tutte le interfacce disponibili sono elencate sotto net:

$ ls /sys/class/net/
eth0  lo

0

Ci sono alcuni modi sia per i dispositivi SATA che NET . Anche i comandi come udevadm info lo faranno. ifconfig e netstat pure. E la lista continua. Controlla alcuni dei vecchi link per sopra per il set completo.


-2

Puoi usare arp per trovare un indirizzo MAC

Per trovare i produttori MAC, l'Autorità di registrazione IEEE mantiene un elenco di marchi che appartengono e lì indirizzi MAC, i primi sei in un indirizzo MAC sono il marchio seguito da tipo e numero seriale

Cerca nell'elenco OUI / 'company_id' pubblico


2
Un'interfaccia legata intenzionalmente non si comporta in questo modo. L'OP sembra cercare l'indirizzo MAC che è stato masterizzato nella EEPROM del suo hardware fisico che fa parte di tale interfaccia legata. Questo MAC esce dallo stadio di livello 2 quando viene impostato il legame.
rackandboneman,

-3

dmesg | grep eth0 && dmesg | grep eth1

Puoi prendere gli indirizzi hardware segnalati per qualsiasi interfaccia prima che venga stabilito il legame.


-3

Se non si è sicuri del nome dell'interfaccia (succede con CentOS 7) provare: ip addr

e basta scegliere l'interfaccia dall'elenco


Ho l'impressione che tu non abbia letto la domanda. Indica chiaramente: con bond0 attivo entrambi gli indirizzi MAC vengono sostituiti e riportati in modo identico da ifconfig.
Kasperd,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.