Правильный способ изменения MAC-адреса в виртуальной машине linux?

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

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

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

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

20
задан HappyDeveloper
14.01.2023 10:43 Количество просмотров материала 3156
Распечатать страницу

2 ответа

вы, скорее всего, используете "правильный" метод, чтобы изменить MAC-адрес, если вы делаете это в расширенных сетевых настройках в VirtualBox. Однако временное изменение, как и в другом ответе Zuul, может быть лучшим для ваших целей, поскольку оно изменит MAC, не вызывая слишком много дополнительных проблем, однако оно не переживет перезагрузки.

изменение его в VirtualBox, конечно, переживает перезагрузку, но проблемы с udev. Это процесс это смотрит на оборудование и устанавливает, что оборудование в /dev (или что - то еще, что может потребоваться сделать). Одна из вещей, которую это делает по умолчанию, состоит в том, чтобы попытаться поддержать постоянные имена для сетевых интерфейсных плат [NIC]. Это потому, что, когда у вас есть несколько сетевых адаптеров, вы хотите, чтобы они всегда имели одно и то же имя ethX, так что ваш /etc/network/interfaces настройки целей прямо НИЦ каждой загрузке. ОС не может полагаться на то, что они физически находятся в одном и том же месте каждый раз - вы можете перемещать их, например, или некоторые системы не сообщают о своих физических соединениях в той же последовательности при каждой загрузке.

так udev использует правила хранения на основе MAC-адреса сетевой карты. Если у этого есть запись для eth1 с известным MAC-адресом, и карта появляется с другим MAC-адресом, то это выделит другое имя устройства ethX интерфейсу.

чтобы противостоять этому, Вам нужно просто обновить udev правила. Edit:

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 dev следующей загрузки.

последовательности лучше бы, наверное, изменить это сначала здесь, потом завершение работы виртуальной машины, затем измените глаг МАК установка, затем загрузите.

15
отвечен Paul 2023-01-15 18:31

вы можете изменить 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
8
отвечен Zuul 2023-01-15 20:48

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх