17.8. Создание уникального MAC-адреса
В некоторых случаях может потребоваться сгенерировать новый уникальный
MAC-адрес для виртуальной машины. В настоящее время нет утилиты, которая может напрямую это сделать, поэтому ниже приведен специальный сценарий. Сохраните его в гостевой системе как
macgen.py
. Для генерации нового MAC-адреса из текущего каталога выполните команду
./macgen.py
. Пример:
$ ./macgen.py
00:16:3e:20:b0:11
#!/usr/bin/python
# macgen.py script to generate a MAC address for virtualized guests on Xen
#
import random
#
def randomMAC():
mac = [ 0x00, 0x16, 0x3e,
random.randint(0x00, 0x7f),
random.randint(0x00, 0xff),
random.randint(0x00, 0xff) ]
return ':'.join(map(lambda x: "%02x" % x, mac))
#
print randomMAC()
Для генерации MAC-адреса и UUID
также можно использовать встроенные модули python-virtinst
:
# echo 'import virtinst.util ; print\
virtinst.util.uuidToString(virtinst.util.randomUUID())' | python
# echo 'import virtinst.util ; print virtinst.util.randomMAC()' | python
Приведенный выше сценарий можно сохранить в отдельный файл:
#!/usr/bin/env python
# -*- mode: python; -*-
print ""
print "New UUID:"
import virtinst.util ; print virtinst.util.uuidToString(virtinst.util.randomUUID())
print "New MAC:"
import virtinst.util ; print virtinst.util.randomMAC()
print ""