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

Устройство eth0 имеет другой MAC-адрес, чем ожидалось

У меня есть блейд-сервер HP Proliant 460c под управлением CentOS 5.x. По какой-то причине CentOS думает, что MAC-адрес для ETH0 - это что-то (18: a9: 05: 71: xx: xc), но я вообще не могу найти этот MAC у встроенного администратора. Фактически, если я использую MAC-адрес, который отображается во встроенном администраторе, и пытаюсь жестко закодировать его в nic (в / etc / sysconfig / network-script / ifcfg-eth0), я получаю сообщение об ошибке:

MAC-адрес устройства eth0 отличается от ожидаемого.

Где я могу окончательно подтвердить, что система видит по MAC-адресу? ifconfig -a показывает "неправильный".


На хосте CenTOS я вижу это в результатах ifconfig (немного изменено для защиты невиновных):

eth0 HW 18:a9:05:71:xx:xc
eth0:0 HW 18:a9:05:71:xx:xc
eth1 HW 18:A9:05:71:xx:xd  
eth1:0 HW 18:A9:05:71:xx:xd
eth2 HW F4:CE:46:8X:XX:40
eth3 HW F4:CE:46:8X:XX:44

Я не уверен, откуда берутся MAC-адреса 18: a9.

Когда я проверяю сопоставление портов для отсека устройств, принадлежащего серверу, я вижу:

Mezzanine Device Port: ENET1  
Device ID: d4:85:64:49:xx:x8

Mezzanine Device Port: iSCSI Port 1  
Device ID: F5:CE:46:83:xx:x1

Mezzanine Device Port: ENET2  
Device ID: d4:85:64:49:xx:xc

Mezzanine Device Port: ISCSI Port 2   
Device ID: F5:CE:46:xx:xx:x1

Я также вижу

Mezzanine Device Port: Port 1  
Device ID: d4:85:64:xx:xx:be

Mezzanine Device Port: Port 2   
Device ID: d4:85:64:xx:xx:bf

Обратите внимание, что ни один из них не относится к MAC, который, по мнению CentOS, должен быть там. Я также полностью переустановил CentOS, и проблема не устранена. Поэтому кажется вероятным, что что-то в системе сообщает CentOS, что следует использовать MAC, но я не уверен, где.

Обычно это происходит из-за udev.

удалять /etc/udev/rules.d/70-persistent-net.rules

Затем выгрузите и загрузите драйвер (модуль) Ethernet или перезапустите. Вы можете найти имя драйвера, попробовав эти команды

dmesg | grep 'Ethernet driver'
grep 'Ethernet driver' /var/log/dmesg
grep eth0 /etc/modules.conf

Затем, когда у вас есть имя модуля (например, e1000e) просто беги,

modprobe -r e1000e
modprobe e1000e
ifdown eth0
ifdown eth0 (again!)
ifup eth0

Это должно подсказать udev чтобы повторно определить вашу сетевую карту и MAC-адрес. Возможно, вам потребуется обновить содержимое /etc/sysconfig/network-scripts/ifcfg-eth0 в соответствии с MAC-адресом.

Это то, что может быть уникальным для настройки шасси HP blade. Поскольку вы упомянули, что это блейд-сервер, знаете ли вы, установлены ли на блейд-шасси модули HP Virtual Connect? Они часто используются вместо сквозных восходящих каналов Ethernet для консолидации и виртуализации блейд-сети.

Если у вас есть модули Virtual Connect, проверьте профиль сервера в Virtual Connect Manager. Существуют варианты управления MAC-адресами серверов с помощью Virtual Connect. См. Страницу 64 Руководство по установке Virtual Connect для объяснения функции:

Каждая сетевая карта Ethernet блейд-сервера поставляется с заводским MAC-адресом по умолчанию. MAC-адрес - это 48-битное число, которое однозначно определяет интерфейс Ethernet для других устройств в сети. Хотя оборудование поставляется с MAC-адресами по умолчанию, Virtual Connect может назначать MAC-адреса, которые заменяют заводские MAC-адреса по умолчанию, пока сервер остается в этом корпусе Virtual Connect.

Другие опубликованные ответы, безусловно, применимы к нескольким сетевым интерфейсам в физических серверах в стойку / в корпусе Tower, но блейд-решение HP - это особый случай.

Скопировано из моей документации:

  • Часть ОС, которая хранит это, находится в конфигурации udev. Отредактируйте эту конфигурацию: vi /etc/udev/rules.d/70-persistent-net.rules

  • Найдите строки, относящиеся к старому MAC-адресу (он же не тот, который вы только что записали) и удалите их.

  • В строках, соответствующих новому устройству, вероятно, упоминается eth1 вместо того eth0. Замени его на eth0.

  • Перезагрузка (самый простой способ вступить в силу с новыми настройками)

  • Если вы попытаетесь запустить eth0 с помощью ifup, он пожалуется, что MAC-адрес не соответствует ожидаемому. Сюрприз! MAC-адрес также сохраняется в сетевом скрипте устройства. Отредактируйте сетевой сценарий: vi /etc/sysconfig/network-scripts/ifcfg-eth0

  • Изменить HWADDR строка для отображения правильного MAC-адреса

  • Пока вы здесь, установите действительный IP-адрес. Использовать nmap если вы не уверены, что доступно

  • Теперь вы можете вызвать интерфейс: ifup eth0

  • Не забудьте обновить: yum update