Есть ли способ получить исходные 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-адресе - это название бренда, за которым следуют тип и серийный номер.
dmesg | grep eth0 && dmesg | grep eth1
Вы можете получить указанные аппаратные адреса для любого интерфейса до установления связи.
Если вы не уверены в имени интерфейса (это происходит с CentOS 7), попробуйте: ip addr
и просто выберите интерфейс из списка