FastNetMon

Thursday, 20 May 2010

CentOS - Device eth0 has different MAC address than expected

Как избавится от этой хрени? Что за сволочь это вопит? Скрипт? Бинарь?

Причем, фишка в том, что это такая сурьезная ошибка и сетка без нее подниматься не будет :)

Update: эту ошибку выдает скрипт:
vi /etc/sysconfig/network-scripts/ifup-eth


В процессе поиска обнаружил, что кроме HWADDR есть еще параметр сети MACADDR, оба они описаны в хелпе:
vi /usr/share/doc/initscripts-8.45.30/sysconfig.txt


Их отличие в том, что HWADDR - информативный параметр и лишь хранит адрес дивайса, а вот MACADDR хранит желаемый MAC адрес дивайса, который будет подсунут сетевой карте при первой возможности. Вместе же их использоваться, разумеется, нельзя.

Насколько я понял скрипт, HWADDR можно безболезненно удалить из конфига, это как раз нейтрализует отказ сети при смене сетевой карты. Но не думаю, что это очень хорошо, так как так или иначе еще ругань будет со стороны udev, который тоже любит сохранять маки и связывать их с именами устройств. Так что, пусть будет, как и было - используем HWADDR как и ранее, только не забываем про него при замене карточек.

Update: вот фикс - http://phpsuxx.blogspot.com/2010/11/kudzu-ifcfg-eth0-ifcfg-eth0bak.html

Источник: http://codeghar.wordpress.com/2008/06/09/set-mac-address/

4 comments :

  1. Я тоже искал способ избавиться от этой ошибки и в итоге просто удаляю существующие интерфейсы и добавляю заново.

    ReplyDelete
  2. Говорят, надо стереть мак из конфига.

    ReplyDelete
  3. Хм...
    Споткнулся об такую же фигню при разворачивании тар-жезипнутой CentOS 5.5 с одной vmware системы на другой.
    Как ни странно, полечилось просто "service network start" и больше не беспокоило.

    ReplyDelete
  4. Может vmware внял и сам сменил мак? :) Просто на железе такое явно не спасет, там в самом скрипте нечто в стиле "die if $mac ne $mac_from_config...".

    ReplyDelete

Note: only a member of this blog may post a comment.