Причем, фишка в том, что это такая сурьезная ошибка и сетка без нее подниматься не будет :)
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/
Я тоже искал способ избавиться от этой ошибки и в итоге просто удаляю существующие интерфейсы и добавляю заново.
ReplyDeleteГоворят, надо стереть мак из конфига.
ReplyDeleteХм...
ReplyDeleteСпоткнулся об такую же фигню при разворачивании тар-жезипнутой CentOS 5.5 с одной vmware системы на другой.
Как ни странно, полечилось просто "service network start" и больше не беспокоило.
Может vmware внял и сам сменил мак? :) Просто на железе такое явно не спасет, там в самом скрипте нечто в стиле "die if $mac ne $mac_from_config...".
ReplyDelete