Клонирование виртуальной машины UTM – IP-адрес такой же?

Вопрос или проблема

Может кто-то подскажет, как настроить IP-адрес клонов ВМ с UTM?

Когда я создаю новую ВМ UTM, IP-адрес отличается. Это нормально.

Когда я клонирую существующую ВМ UTM, IP-адрес такой же, как у клона.

Мой вопрос: с чего начать, чтобы клону был назначен собственный IP?

Примечание – я использую共享ную сеть. И я использую Ubuntu.

Выключите ВМ и перейдите в её настройки>сеть, нажмите на Случайный в MAC-адресе, включите ВМ, и вы увидите, что у неё должен быть новый IP

Если вы хотите клонировать виртуальные машины с помощью скрипта, вы можете использовать интерфейс UTM AppleScript, чтобы установить новый случайный MAC-адрес. Вот пример Bash-скрипта:

#!/bin/bash

VM_NAME="my_virtual_machine"

# Создайте клон ВМ
utmctl clone "${VM_NAME}" --name "${VM_NAME}-clone"

# Случайный MAC-адрес
# (установка пустой строки говорит UTM сгенерировать случайный MAC) 
osascript <<END
tell application "UTM"
    set vm to virtual machine named "${VM_NAME}-clone"
    set config to configuration of vm
    set item 1 of network interfaces of config to {address:""}
    update configuration of vm with config
end tell
END

Часть AppleScript работает только если одному ВМ назначен один сетевой интерфейс.

Смотрите https://docs.getutm.app/scripting/cheat-sheet/#configuration как справочный материал.

Спасибо за ответы, как решение через интерфейс, так и скрипт работают для получения другого IP. Я использовал этот подход в нашем плагине UTM Vagrant, чтобы убедиться, что ВМ, запущенные из одной и той же коробки vagrant, будут иметь разные IP.

Однако я хочу предупредить вас о Apple-скрипте от @IngoMeyer.
Скрипт обновит всю конфигурацию сетевого интерфейса.
Пример: если элемент 1 сетевых интерфейсов это ‘Эмулируемый VLAN’, он превратится в новый интерфейс ‘Общая сеть’, который является значением по умолчанию, если режим не указан при создании интерфейса.
Передача пустой строки для обновления просто обновит его как пустую строку в конфигурации UTM и приведет к ошибке qemu при запуске ВМ.

Поэтому я в конечном итоге написал функцию для генерации случайного MAC-адреса (похожую на то, что делает кнопка ‘Случайный’ в UTM) и затем передал его в мой AppleScript.

set_mac_address.applescript

# Этот скрипт устанавливает MAC-адрес сетевого интерфейса в определенной виртуальной машине UTM.
# Использование: osascript set_mac_address.applescript <VM_UUID> <NIC_INDEX> <MAC_ADDRESS>
# Пример: osascript set_mac_address.applescript A123 1 XX:XX:XX:XX:XX:XX
on run argv
  set vmID to item 1 of argv
  set nicIndex to item 2 of argv
  set macAddress to item 3 of argv

  tell application "UTM"
    set vm to virtual machine id vmID
    set config to configuration of vm
    set networkInterfaces to network interfaces of config

    repeat with anInterface in networkInterfaces
      if nicIndex as integer is index of anInterface then
        -- Установите предоставленный MAC-адрес
        set address of anInterface to macAddress
      end if
    end repeat

    -- Обновите конфигурацию ВМ
    update configuration of vm with config
  end tell
  
end run

Использование:
osascript set_mac_address.applescript DF1241A1-102A-41DD-AE2A-BD51F8749A00 0 46:ED:B9:1F:55:A4

Если вы хотите управлять ВМ UTM с помощью Vagrant, посмотрите плагин https://naveenrajm7.github.io/vagrant_utm/

Ответ или решение

Клонирование виртуальной машины UTM — настройка IP-адреса

Клонирование виртуальной машины (ВМ) является важной частью управления виртуализацией, и корректная настройка IP-адреса клона — это ключевое условие для избежания конфликтов в сети. ВИЧ (виртуальные машины) UTM могут вести себя иначе, чем физические устройства, когда дело касается сетевой конфигурации. Если вы создаете новый экземпляр ВМ, то ему автоматически будет присвоен новый IP-адрес, что не вызывает вопросов. Однако при клонировании существующей ВМ IP-адрес может остаться прежним, что может вызвать конфликты в вашей сети.

Шаги для настройки уникального IP-адреса клонированной ВМ

  1. Выключите клонированную ВМ: Этот процесс важен для изменения конфигурации сети, чтобы избежать сбоев.

  2. Настройте сетевой интерфейс:

    • Откройте настройки клонированной ВМ.
    • Перейдите в раздел «Сеть» и выберите опцию изменения MAC-адреса на случайный. Это создаст уникальный MAC-адрес для вашего клона, что является залогом получения нового IP-адреса.
  3. Использование AppleScript: Если вам требуется автоматизировать процесс клонирования и изменения конфигурации сети, вы можете использовать команду osascript:

    • Ниже приведен пример скрипта на Bash, который выполняет клонирование и устанавливает новый случайный MAC-адрес для сетевого интерфейса:
    #!/bin/bash
    
    VM_NAME="my_virtual_machine"
    
    # Клонирование ВМ
    utmctl clone "${VM_NAME}" --name "${VM_NAME}-clone"
    
    # Случайный MAC-адрес
    osascript <<END
    tell application "UTM"
       set vm to virtual machine named "${VM_NAME}-clone"
       set config to configuration of vm
       set item 1 of network interfaces of config to {address:""}
       update configuration of vm with config
    end tell
    END
  4. Проверка конфигурации сети: Убедитесь, что интерфейсы вашей операционной системы (в данном случае Ubuntu) настроены на получение IP-адреса автоматически (по DHCP). Это можно проверить с помощью команды:

    sudo nano /etc/netplan/01-netcfg.yaml

    Убедитесь, что ваши интерфейсы настроены на получение адресов через DHCP. Вот пример конфигурации:

    network:
      version: 2
      renderer: NetworkManager
      ethernets:
         eth0:
            dhcp4: true

    После изменения файла конфигурации выполните следующую команду для применения настроек:

    sudo netplan apply
  5. Начало работы новой ВМ: После настройки MAC-адреса и конфигурации сетевых интерфейсов вы можете запустить клонированную ВМ. Она должна получить уникальный IP-адрес от вашего DHCP-сервера.

Заключение

Важно помнить, что правильная настройка сетевых конфигураций при клонировании виртуальных машин критична для стабильной работы вашей сети. Клонирование виртуальных машин и дальнейшая настройка сетевых параметров позволяют значительно упростить управление ИТ-инфраструктурой. Используйте представленные рекомендации и сценарии для безупречной работы виртуальных машин UTM.

Оцените материал
Добавить комментарий

Капча загружается...