Скорее всего, вы используете «правильный» метод для изменения MAC-адреса, если вы делаете это в расширенных сетевых настройках VirtualBox. Тем не менее, временное изменение, как в другом ответе Zuul, может быть наилучшим для ваших целей, так как оно изменит MAC, не вызывая слишком много дополнительных проблем - однако это не переживет перезагрузку.
Изменение его в VirtualBox, конечно, переживет перезагрузку, но проблема, с которой вы столкнулись, заключается в следующем udev
. Это процесс, который рассматривает аппаратное обеспечение и устанавливает его /dev
(или все, что может потребоваться сделать). По умолчанию он пытается сохранить постоянные имена для сетевых карт [nics]. Это связано с тем, что когда у вас есть несколько сетевых адаптеров, вы хотите, чтобы у них всегда было одинаковое имя ethX, чтобы ваша /etc/network/interfaces
конфигурация предназначалась для правильных сетевых имен при каждой загрузке. ОС не может полагаться на то, что они физически находятся в одном и том же месте каждый раз - вы можете перемещать их, например, или некоторые системы не сообщают о своих физических соединениях в одной и той же последовательности при каждой загрузке.
Поэтому udev
используются постоянные правила, основанные на MAC-адресе сетевой карты. Если у него есть запись для eth1 с известным MAC-адресом, и появляется карта с другим MAC-адресом, он назначит интерфейсу другое имя устройства ethX.
Чтобы противостоять этому, вам просто нужно обновить udev
правила. Редактировать:
vi /etc/udev/rules.d/70-persistent-net.rules
и найдите строку с вашим текущим MAC:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="11:22:33:44:55:66", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
Если вы измените здесь MAC-адрес на новый, который вы выбрали в настройках VirtualBox, то при следующей загрузке он сохранит тот же номер устройства ethX.
Лучше всего сначала отредактировать ее здесь, затем выключить виртуальную машину, затем отредактировать настройку VB MAC, а затем загрузить.