Linux тоже иногда любит пошалить.
Ситуация.
Меняю я MAC на сетевухе — провайдер требует подключаться к нему с MAC-ом, который указан в договоре. Звонить и менять MAC мне лениво и всегда прокатывало изменение руками.
Прописал и забыл. А вчера, впервые за два дня решил перезагрузиться и сразу же налетел на непонятные вещи:
eth0 renamed to eth1 в логах при загрузке.
Естественно после этого настоящий eth1 не поднимается, а «новый» eth1 не настраивается. В итоге нет никакой сети.
Как оказалось, ноги надо искать в
/etc/udev/rules.d/70-persistent-net.rules. Там оказалось аж три записи о сетевых: первая сетевая с оригинальным MAC-ом, вторая сетевая и первая сетевая с новым MAC-ом. Причем для третьего варианта был прописан eth1 в качестве имене.
В общем udev замечает, что у карточки меняется MAC и он её по быстрому переименовывает. В этом случае достаточно заменить строчку
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="xx:xx:xx:xx:xx:xx", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1" на
... NAME="eth0" и теперь все вроде работает.