Encontre endereços MAC em / proc ou em algum lugar, apesar do dispositivo de ligação?

9

Existe uma maneira de obter os endereços MAC originais para eth0 e eth1?

Uma grande variedade de servidores possui interfaces de ligação que gerenciam as conexões do comutador de backup e uma delas está se comportando mal. Com bond0 ativo, os dois endereços MAC são substituídos e relatados de forma idêntica pelo ifconfig.

Quero pesquisar na matriz do servidor um endereço MAC que encontrei em um dispositivo Cisco.

Eu usaria dmesg (1) ou / var / log / messages, mas eles foram rolados por centenas de dias na maior parte da matriz.

DigitalRoss
fonte
Acho que ninguém mais entendeu sua pergunta corretamente, mas acho que sim. Vou ver se consigo encontrar alguma coisa e informar.
Yanick Girouard

Respostas:

9

Ainda estou procurando uma explicação mais "oficial", mas, de acordo com este blog , o arquivo /proc/net/bonding/${bonding name}fornecerá o endereço mac real para cada NIC no vínculo (eth0, eth1, etc.), para que possa ser mais útil.

Espero que isso ajude!

Yanick Girouard
fonte
Aqui é onde eu procuraria #
Petter H
8

No RHEL / CentOS 6:

# ethtool -P <if>

Permanent address: 00:11:22:33:44:55
bchill
fonte
Isso também funciona.
precisa
3

O sistema operacional deve manter uma lista de detalhes físicos da NIC dentro do arquivo:

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

Aqui está o meu como um exemplo:

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

Observe a seção "ATTR {address} =="?

Soviero
fonte
Isso também funciona.
DigitalRoss 25/03
2

Você pode obter isso em /sysvez de /proc. Por exemplo:

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

Todas as interfaces disponíveis estão listadas em net:

$ ls /sys/class/net/
eth0  lo
slm
fonte
0

Existem algumas maneiras para dispositivos SATA e NET . Comandos como informações do udevadm também farão isso. ifconfig e netstat também. E a lista continua. Verifique alguns dos links antigos para obter o conjunto completo.

user178150
fonte
-2

Você pode usar o arp para encontrar um endereço MAC

Para encontrar o MAC do fabricante, a Autoridade de Registro IEEE mantém uma lista de nomes de marcas que pertencem e os endereços MAC, os seis primeiros em um endereço MAC são o nome da marca seguido pelo tipo e número de série

Pesquise a listagem OUI pública / 'company_id'

Bart
fonte
2
Uma interface ligada intencionalmente não se comporta dessa maneira. O OP parece estar procurando o endereço MAC que foi gravado na EEPROM de seu hardware físico que faz parte dessa interface vinculada. Esse MAC sai do estágio da camada 2 quando a ligação é configurada.
Rackandboneman # 21/12
-3

dmesg grep eth0 && dmesg | grep eth1

Você pode pegar os endereços de hardware relatados para qualquer interface antes que o vínculo seja estabelecido.

vaetis
fonte
-3

Se você não tem certeza do nome da interface (acontece com o CentOS 7), tente: ip addr

e basta escolher a interface da lista

user278074
fonte
Tenho a impressão de que você não leu a pergunta. Ele afirma claramente: Com o bond0 ativo, os dois endereços MAC são substituídos e relatados de forma idêntica pelo ifconfig.
kasperd