13

Я пытался изменить MAC-адрес в виртуальной машине Ubuntu (virtualbox), но после этого он выдавал много ошибок во время загрузки, а затем у меня не было подключения к Интернету.

Затем я увидел, что интерфейс был переименован в eth1, поэтому я отредактировал /etc /network /interfaces, чтобы изменить eth0 на eth1, перезагрузился (не знал, как перезапустить сеть), и загрузка теперь была быстрее, а интернет работал нормально.

Но теперь, после каждого входа в систему, я получаю 1 или 2 сообщения об ошибках, которые ничего не говорят, они только спрашивают меня, хочу ли я сообщить о них.

Так что мне было интересно, есть ли правильный способ изменить MAC-адрес, чтобы избежать этих проблем?

2 ответа2

15

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

8

Вы можете изменить MAC-адрес с помощью 4 простых шагов, используя ifconfig:

Откройте терминал (сочетание клавиш: Ctrl + Alt + T)

  1. Найти текущий MAC-адрес:

    ifconfig | grep HWaddr
    
  2. Закройте интерфейс (предполагая, что это будет eth0 для следующих шагов):

    ifconfig eth0 down
    
  3. Установите новый MAC-адрес:

    ifconfig eth0 hw ether 00:1E:68:35:FF:91
    
  4. Флаг вызывает активацию интерфейса:

    ifconfig eth0 up
    

Теперь вы можете перепроверить ваш MAC-адрес интерфейса:

ifconfig eth0 |grep HWaddr

Примечание. Вы можете выбрать любой 48-битный шестнадцатеричный адрес в качестве своего MAC-адреса.


В целях полноты вы можете объединить шаги 2 и 3 в одну строку:

ifconfig eth0 down hw ether 00:00:00:00:00:01

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .