Изменить mac виртуальной машины

Изменить mac виртуальной машины

Всех приветствую на страницах своего блога, сегодня хочу опять поговорить про мою любимую платформу виртуализации VMware ESXi. На повестке дня вопрос, как задать mac адрес виртуальной машины VMware и для чего это нужно. Столкнуться вы с этой ситуаций можете очень легко. особенно в последнее время, когда все больше компаний переносят свои сервисы в публичные облака или цоды, перенося свое физическое оборудование к хостеру, да и это понятно, это удобно и дешевле, чем содержать все у себя.

Ранее я уже рассказывал что такое mac адрес и как его посмотреть на примере Windows 10. Теперь же нашим объектом настроек будут виртуальные машины, точнее виртуальные сетевые интерфейсы.

Где применима настройка мак адреса

Приведу несколько примеров из своей практики.

  • Вы ранее мигрировали физический сервер в виртуальную машину и хотели бы сохранить за сетевыми картами старые mac адреса
  • У вас имеются привязки софта или других лицензий на mac адрес
  • Может быть разрешено обращение к внешним ресурсам с определенного ip адреса и определенным мак адресом
  • Привязка DHCP пула, пример аренда ip адреса в цоде hetzner

Методы смены mac адреса у VMware ESXI

Через настройки виртуальной машины

Методов минимум два, первый это в настройках виртуальной машины, а второй это в конфигурационном файле виртуалки.

Выбираем нужную виртуальную машину и жмем по ней правым кликом, выбираем edit settings.

Выбираем ваш сетевой интерфейс и видим, что у него стоит автоматическое получение MAC Address.

Выставляем Manual и как видим, данное поле стало доступно для редактирования. Введем :11:11:11. Чтобы настройки приминились нажимаем ок и запускаем виртуальную машину, теперь у нее новый mac адрес.

Через конфигурационный файл

Второй метод подразумевает редактирование конфига виртуалки, для начала его нужно скачать. Для этого идем в месторасположение виртуальной машины на датасторе через Browse.

Щелкаем правым кликом по файлу с форматом vmx, более подробно с форматами файлов виртуальных машин можете познакомится по ссылке. И выбираем Download, сохраняем, где вам нужно.

В итоге у вас будет вот такой текстовый файл

Открываем его любым текстовым редактором и ищем вот такую строку ethernetN.address, это то что мы до этого меняли.

Если вы в первый раз меняете, то у вас там стоит получение мак адреса автоматом. В этом случае ищем строки

Сохраняем файл и передаем его снова на сервер в месторасположение виртуальной машины, через Upload File.

Теперь если запустить VM машинку, мак адрес на сетевом интерфейсе изменится. Проверить это можно быстро в настройках

Думаю было не сложно и вы теперь разобрались как задать mac адрес виртуальной машины VMware. В VMware Workstation так же можно будет поменять через vmx файл.

Популярные Похожие записи:

4 Responses to Как задать mac адрес виртуальной машины VMware

ESXi формирует МАК на основе параметра uuid.bios = ‘aa bb cc хx yy zz’
выдавая адрес вида 00:50:56:XX:YY:ZZ.
3 последние октета МАК ОБЯЗАТЕЛЬНО должны совпадать с тремя последними БИОС. При попытке изменить любой параметр в этих 3-х последних октетах МАК, гипервизор ругается и отказывается запускать VM.
Приходится редактировать другие октеты МАК.

Спасибо за информацию, не знал таких подробностей.

ваши статьи замечательные каждый раз нахожу ответы на все вопросы касательно винды и серверного по

GoodSerg IT

GoodSerg work, hobby, life and. В этом блоге выражается моё личное мнение на описанные здесь события и информацию. При кросблогинге информация предоставляется «как есть» без изменения.

Читайте также:  Оборудование для диагностики неисправности двигателя

суббота, 19 июня 2010 г.

Подмена MAC адреса в виртуальной машине

Недавно столкнулся с одной проблемой, которая потребовала подмены MAC-адреса в виртуальной машине.

Итак, были проведены работы по виртуализации одного старого сервера с Windows и работающего на нём серверного приложения.
Всё вроде прошло успешно, но после работ по виртуализации выяснилось, что приложение, которое там работает, не поднимается и пишет ошибку на лицензию.
После некоторых изысканий была выявлена следующая проблема: после виртуализации сменился MAC-адрес сетевого адаптера, к которому была привязана лицензия работающего на сервере приложения.

Вспомнил, что для смены на любой другой MAC-адрес (не из диапазона, выделенного компании VMware), надо выключить VM и поменять его в файле виртуальной машины «имя машины .vmx» (я делал это с помощью Veeam FastSCP). После смены MAC-адреса машина вообще не захотела включатся со следующей ошибкой — » что-то там «MAC адрес» is not an allowed VPX assigned Ethernet address. Invalid MAC address specified. Failed to configure ethernet0.” (((.

Разбор полётов показал:

Назначение MAC-адресов в VMware ESX бывает 3 видов:
1. generated = авто-назначаемый через GUI, назначается в режиме Automatic свойств сетевого адаптера виртуальной машины (MAC-адрес должен начинаться с 00:0c:29)
2. vpx = создаваемый из консоли VMware vCenter, назначается вручную в режиме Manual свойств сетевого адаптера виртуальной машины (MAC-адрес должен начинаться с 00:50:56)
3. static = жёстко заданный вами определённый MAC-адрес, который желательно (но не обязательно) выдавать из диапазона, который выдан VMware, Inc.

Редактировать нужно следующие строчки:
1. ethernet0.generatedAddress = “ MAC-адрес ” (где ethernet0 — номер сетевого адаптера) нужно редактировать MAC-адрес и название параметра с ethernet0.generatedAddress на ethernet0.Address
2. ethernet0.addressType = “generated” параметр с generated на static.

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

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

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

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

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

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

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

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

Чтобы противостоять этому, вам просто нужно обновить udev правила. Редактировать:

Читайте также:  Чистка двигателя снаружи от масла

и найдите строку с вашим текущим MAC:

Если вы измените здесь MAC-адрес на новый, который вы выбрали в настройках VirtualBox, то при следующей загрузке он сохранит тот же номер устройства ethX.

Лучше всего сначала отредактировать ее здесь, затем выключить виртуальную машину, затем отредактировать настройку VB MAC, а затем загрузить.

Изменить mac виртуальной машины

Тут на медне нашь админ поставил преинетереснейшую задачьку. Необходима для виртуальной машины изменить МАС-адрес. Причем не средствами установленной на нее ОС, а средствами самой VMWare.

Немного порывшись в интернете, нашел как это вапще делается:
В файле *.vmx (описывающем конфигурацию аиртуальной машины) необхдимо прописать:

ethernet0.connectionType = «custom»
ethernet0.addressType = «static»
ethernet0.Address = «00:50:56:00:04:05»

Но таким образом можно задачать MAC адреса из диапозона:
00:50:56:00:00:00 — 00:50:56:3F:FF:FF:FF
где 00:50:56 — UIN VMWare. такой вариант не устраивает, необходимо менять МАС-адрес на произвольный.

Немного обмазговав эту проблему был сделан вывод, что диапозон МАС-адресов никак не связан с функционированием драйвера и VMWare просто проверяет принадлежность прописанного адреса к разрешенному диапозону.

Функция которая осуществляет такую проверку может находится либо в самой vmware.exe, либо в одной из ее многочисленных библиотек и модулей. Запустив Apimonitor установили хронологию вызываемых функций. Оказывается VMWare.exe запускает VMWare-vmx.exe и передает ей в качестве параметра нашь *.vmx файл.

Немного побив в бубен над телом VMWare-vmx.exe находим место которое отвечает за эту проверку. Мои исследования были проведены для VMWare Workstation 5.5.1 build-1975

Для того что бы убрать проверку необходимо в файле %VMWARE_ROOT%\bin\vmware-vmx.exe

изменить строчьку:
00162923| 80 3E 00 75| 12 80 7E 01| 50 75 0C 80| 7E 02 56 75
00162933| 06 F6 46 03| C0 74 6C

на строку:
00162923| EB 13 43 72| 61 63 6B 65| 64 20 62 79| 20 55 57 4F
00162933| 52 44 28 63| 29 EB 6C

адреса в листингах даны относительно начала файла VMWare-vmx.exe и могут различаться для разных билдов VMWare. Для нахождение нужной строки для редактирования рекомендую использовать бинарны поиск.

Для 6-ой версии VMWare исследования не проводились, да и наврядли уже будут проводится.

Изменить mac виртуальной машины

Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов Pyatilistnik.org. В прошлый раз мы с вами разобрали методы позволяющие производить подключение к удаленному рабочему столу, они сейчас очень востребованы на самоизоляции. В сегодняшней теме я бы вновь хотел коснуться темы гипервизоров, и разобрать такой вопрос «Как генерируются MAC адреса для виртуальных машин ESXI». Просто интересно самому было в этом разобраться и решил себе сохранить на память.

Процесс генерации MAC адреса в виртуальных машинах ESXI

Ранее мы с вами уже касались вопроса смены mac-адреса на виртуальных машинах, разбирали задачи связанные с этим. Задумывались ли вы, как vCenter назначает MAC-адреса виртуальным машинам, и знаете ли вы для чего вам эти знания.

Давайте для начала напомню что из себя представляет MAC-адрес, если по простому, то это шести байтное (48 битное) число, вида 54-27-1E-0D-28-47. Его можно представить вот таким образом:

Mac адрес несет в себе информацию о производителе, которая зашита в первых символах этого номерка. По сути каждый мак адрес уникален и его производитель, получает данные номера пачками в специальной конторе IEEE Registration Authority. У каждого сетевого интерфейса есть уникальный Organizationally Unique Identifier (OUI), который из себя представляет трех байтный (24 битный) префикс, использующийся для генерации уникальных MAC адресов. VMware-у присвоено несколько Organizationally Unique Identifier (OUI)-ов, и таким образом за VMware-ом резервируется блок производных идентификаторов, таких как MAC адреса.

vSphere 5.5 и более поздние версии предоставляют несколько схем для автоматического распределения MAC-адресов в vCenter Server. Вы можете выбрать схему, которая наилучшим образом соответствует вашим требованиям для дублирования MAC-адресов, требованиям OUI для локального или универсального администрирования адресов.

В vCenter Server доступны следующие схемы генерации MAC-адресов:

  • Распределение OUI VMware, распределение по умолчанию
  • Распределение на основе префиксов (Prefix-based allocation)
  • Распределение на основе диапазона (Range-based allocation)
Читайте также:  Собери машину русские машины

После создания MAC-адреса он не изменится, если только MAC-адрес виртуальной машины не конфликтует с MAC-адресом другой зарегистрированной виртуальной машины. MAC-адрес сохраняется в файле конфигурации виртуальной машины. При выделении организационного уникального идентификатора (OUI) VMware назначаются MAC-адреса на основе стандартного OUI VMware 00:50:56 и идентификатора vCenter Server.

4- й октет виртуального MAC-адреса рассчитывается следующим образом

MAC-адрес виртуальной машины конфликтует или имеет двойной MAC-адрес при создании виртуальной машины

В виртуальной инфраструктуре бывает ситуация, что две виртуальные машины конфликтуют из-за MAC-адреса, тут нужно помнить:

  • Каждая система vCenter Server имеет идентификатор экземпляра vCenter Server (Organizationally Unique Identifier (OUI)). Этот идентификатор представляет собой число от 0 до 63, которое генерируется случайным образом во время установки, но может быть перенастроено после установки.
  • vCenter Server использует идентификатор экземпляра для создания MAC-адресов и UUID для виртуальных машин. Если две системы vCenter Server имеют одинаковый идентификатор экземпляра vCenter Server, они могут генерировать идентичные MAC-адреса (дублированные MAC-адреса) для виртуальных машин. Это может вызвать конфликты, если виртуальные машины находятся в одной сети, что приведет к потере пакетов и другим проблемам.
  • При создании новой виртуальной машины MAC-адрес дублируется
  • Виртуальные машины включаются и работают нормально, но разделяют MAC-адрес с другой виртуальной машиной.
  • Эта проблема может возникнуть, если количество развертываемых виртуальных машин превысило пул MAC-адресов по умолчанию. Это приводит к тому, что vCenter Server начинает повторно использовать уже назначенные MAC-адреса.

Чтобы решить дублирование MAC-адресов, необходимо при развертывании виртуальных машин из нескольких систем vCenter Server в одной сети необходимо убедиться, что эти vCenter имеют уникальные идентификаторы экземпляров. При изменении уникального идентификатора сервера vCenter автоматически сгенерированные MAC-адреса будут другими.

Как найти vCenter Instance ID

Чтобы просмотреть или изменить идентификатор экземпляра vCenter Server вам необходимо авторизоваться в web-интерфейсе. Далее вы переходите в раздел «Hosts & Clusters«. Нажимаете кнопку «Actions — Settings«.

Далее открываете в разделе «Configure» пункт «General — Runtime settings«. В моем примере мой vCenter Server inique ID равен «13».

Если вы хотите поменять vCenter Server inique ID, то вам нужно в правом верхнем углу нажать кнопку «Edit«. Далее идете в раздел «Running settings» и в строке vCenter Server unique ID меняете значение. Если вы изменили идентификатор экземпляра vCenter Server, вы должны перезапустить vCenter Server, чтобы изменения вступили в силу и это значение может быть любым числом от 0 до 63.

Как видите в моем примере vCenter Server unique ID равно 13, давайте рассчитаем выдаваемые MAC_адреса, точнее первые 8 символов.

Первые три октета будут 00:50:56, это константа. Далее 4- й октет MAC = (128 + 13)=141. Теперь, если вы преобразуете 141 в шестнадцатеричное значение, оно преобразуется в «8D«. Теперь проверим любую из моих виртуальных машин, а именно 4-й актет. Как видно из свойств сетевого интерфейса, это «8D».

Генерация MAC адреса для виртуальных машин ESXI без vCenter

Если у вас гипервизор не управляется через vCenter сервер, то за генерацию MAC-адресов отвечает сам хост ESXi, он следит чтобы не было конфликтов на виртуальных машинах. Первые три актета будут «00:0C:29«, 4-й актет генерируется на основании правил:

  • VMware Organizationally Unique Identifier (OUI)
  • SMBIOS UUID ESXi хоста
  • Хэш основанный на имени объекта для которого для которого данный MAC адрес генерируется

Простой пример, вы выключаете виртуальную машину, ее MAC-адрес запоминается хостом ESXI. Если при ее включении, такой мак-адрес уже есть, то у включаемой виртуальной машины он будет заменен, если конфликта нет, то сервер получит прежние MAC-адреса. Еще момент, если вы данный хост отдадите под управление vCenter, то прежние виртуальные машины так же сохранят свои старые MAC-адреса с первыми 3-ми актетами «00:0C:29«, а вот новые будут получать «00:50:56«.

Оцените статью