Temukan alamat MAC di / proc atau di suatu tempat tanpa ikatan perangkat?

9

Apakah ada cara untuk mendapatkan alamat MAC asli untuk eth0 dan eth1?

Sejumlah besar server memiliki antarmuka ikatan yang mengelola koneksi sakelar cadangan dan salah satunya mengalami gangguan. Dengan bond0 aktif kedua alamat MAC diganti dan dilaporkan secara identik dengan ifconfig.

Saya ingin mencari array server untuk alamat MAC yang saya temukan di perangkat Cisco.

Saya akan menggunakan dmesg (1) atau / var / log / messages, tetapi semuanya telah digulirkan selama ratusan hari untuk sebagian besar array.

DigitalRoss
sumber
Saya pikir tidak ada orang lain yang benar-benar memahami pertanyaan Anda dengan benar, tetapi saya rasa saya mengerti. Saya akan melihat apakah saya dapat menemukan sesuatu dan melaporkan kembali.
Yanick Girouard

Jawaban:

9

Saya masih mencari penjelasan yang lebih "resmi", tetapi menurut blog ini , file tersebut /proc/net/bonding/${bonding name}akan memberikan alamat mac yang sebenarnya untuk setiap NIC dalam ikatan (eth0, eth1, dll.), Sehingga mungkin lebih berguna.

Semoga ini bisa membantu!

Yanick Girouard
sumber
Di sinilah saya akan mencarinya
Petter H
8

Di RHEL / CentOS 6:

# ethtool -P <if>

Permanent address: 00:11:22:33:44:55
bchill
sumber
Ini juga berfungsi.
DigitalRoss
3

OS harus menyimpan daftar detail NIC fisik dalam file:

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

Ini milik saya sebagai contoh:

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

Perhatikan bagian "ATTR {address} =="?

Soviero
sumber
Ini juga berfungsi.
DigitalRoss
2

Anda bisa mendapatkan ini dari /syspada /proc. Sebagai contoh:

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

Semua antarmuka yang tersedia tercantum di bawah net:

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

Ada beberapa cara untuk perangkat SATA dan NET . Perintah seperti info udevadm akan melakukannya juga. ifconfig dan netstat juga. Dan daftarnya berlanjut. Periksa beberapa tautan lama untuk di atas untuk set lengkap.

pengguna178150
sumber
-2

Anda dapat menggunakan arp untuk menemukan alamat MAC

Untuk menemukan pembuat MAC, Otoritas Registrasi IEEE menyimpan daftar nama merek yang dimiliki dan ada alamat MAC, enam pertama dalam alamat MAC adalah nama merek diikuti dengan jenis dan nomor seri.

Cari Daftar OUI Publik / 'company_id'

Bart
sumber
2
Antarmuka terikat sengaja tidak berlaku seperti itu. OP tampaknya mencari alamat MAC yang dibakar ke EEPROM dari perangkat fisiknya yang merupakan bagian dari antarmuka yang terikat. MAC ini keluar dari tahap layer 2 saat bonding diatur.
rackandboneman
-3

dmesg | grep eth0 && dmesg | grep eth1

Anda dapat mengambil alamat perangkat keras yang dilaporkan untuk antarmuka apa pun sebelum ikatan dibuat.

vaetis
sumber
-3

Jika Anda tidak yakin dengan nama antarmuka (terjadi dengan CentOS 7) coba: ip addr

dan cukup pilih antarmuka dari daftar

pengguna278074
sumber
Saya mendapat kesan Anda tidak benar-benar membaca pertanyaan. Ini dengan jelas menyatakan: Dengan bond0 aktif kedua alamat MAC diganti dan dilaporkan secara identik dengan ifconfig.
kasperd