Назад | Перейти на главную страницу

Найти MAC-адреса в / proc или где-нибудь, несмотря на соединение устройства?

Есть ли способ получить исходные MAC-адреса для eth0 и eth1?

У большого массива серверов есть интерфейсы связывания, управляющие подключениями резервного коммутатора, и один из них работает некорректно. При активном bond0 оба MAC-адреса заменяются и идентично сообщаются ifconfig.

Я хочу найти в массиве серверов MAC-адрес, который я нашел в устройстве Cisco.

я хотел бы использовать dmesg (1) или / var / log / messages, но они были перенесены на сотни дней для большей части массива.

Я все еще ищу более "официальное" объяснение, но согласно этот блог, файл /proc/net/bonding/${bonding name} предоставит фактический MAC-адрес для каждой сетевой карты в связке (eth0, eth1 и т. д.), так что это может быть более полезным.

Надеюсь, это поможет!

В RHEL / CentOS 6:

# ethtool -P <if>

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

ОС должна хранить в файле список физических данных 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 {адрес} ==»?

Вы можете получить это от /sys вместо того /proc. Например:

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

Все доступные интерфейсы перечислены в net:

$ ls /sys/class/net/
eth0  lo

Есть несколько способов как для SATA и СЕТЬ устройств. Такие команды, как udevadm info, тоже сделают это. ifconfig и netstat. И список продолжается. Полный набор см. По некоторым из старых ссылок выше.

Ты можешь использовать арп найти MAC-адрес

Чтобы найти MAC-адрес производителя, орган регистрации IEEE ведет список принадлежащих брендов и MAC-адресов, первые шесть в MAC-адресе - это название бренда, за которым следуют тип и серийный номер.

Поиск в публичном списке OUI / 'company_id'

dmesg | grep eth0 && dmesg | grep eth1

Вы можете получить указанные аппаратные адреса для любого интерфейса до установления связи.

Если вы не уверены в имени интерфейса (это происходит с CentOS 7), попробуйте: ip addr

и просто выберите интерфейс из списка