Скорее всего, вы используете "правильный" метод для изменения 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, а затем загрузиться.